אוטומציה לבדיקות תוכנה – מדריך מעשי למתחילים

אוטומציה לבדיקות תוכנה היא אחד התחומים החשובים בעולם ה-QA המודרני. במקום לבצע שוב ושוב את אותן בדיקות באופן ידני, ניתן לכתוב תסריטים וכלים שמבצעים חלק מהבדיקות באופן אוטומטי, משווים בין התוצאה בפועל לתוצאה הצפויה ומדווחים על כשלים.

אבל אוטומציה אינה רק "לכתוב קוד שמקליק על כפתורים". כדי להצליח בתחום צריך להבין מה כדאי לאוטומט, כיצד בונים בדיקה טובה, באיזה כלי להשתמש, איך להתמודד עם שינויים במערכת ובעיקר – כיצד לשלב בין חשיבה של בודק תוכנה לבין יכולת טכנית.

במדריך הזה נעבור שלב אחר שלב על עולם האוטומציה, החל מההבדל בין בדיקות ידניות לאוטומטיות ועד לכתיבת תרחיש אוטומטי ראשון, בחירת כלי, תחזוקת בדיקות והדרך שבה מתחילים ללמוד את התחום בצורה נכונה.

למי המדריך מתאים?
למתחילים בעולם ה-QA, לבודקים ידניים שרוצים להתקדם לאוטומציה, לאנשים שעושים הסבה להייטק ולכל מי שרוצה להבין כיצד בדיקות תוכנה אוטומטיות עובדות בפועל.

מהי אוטומציה לבדיקות תוכנה?

אוטומציה לבדיקות תוכנה היא שימוש בקוד, כלים ותסריטים כדי לבצע בדיקות באופן אוטומטי. במקום שבודק יפתח את האתר, יזין נתונים, ילחץ על כפתור ויבדוק את התוצאה בכל פעם מחדש, מערכת האוטומציה יכולה לבצע את הפעולות האלה עבורו.

לדוגמה, נניח שיש באתר מסך התחברות. בדיקה ידנית יכולה לכלול את הפעולות הבאות:

  • פתיחת מסך ההתחברות.
  • הזנת שם משתמש.
  • הזנת סיסמה.
  • לחיצה על "התחבר".
  • בדיקה שהמשתמש הגיע למסך הבית.

באוטומציה אפשר להפוך את התרחיש הזה לתסריט שמבוצע שוב ושוב ללא צורך בביצוע ידני בכל הרצה.

חשוב להבין שאוטומציה אינה מחליפה את עולם ה-QA. היא כלי בתוך תהליך הבדיקות. עדיין צריך להחליט מה לבדוק, כיצד לבדוק, מהי התוצאה הצפויה ומה המשמעות של כשל.

להרחבה על הבסיס של התחום ניתן לקרוא גם את המדריך מה זה QA – מדריך מלא לבדיקות תוכנה.

מה ההבדל בין בדיקות ידניות לאוטומטיות?

בדיקות ידניות מתבצעות על ידי בודק שמבצע את הפעולות בעצמו. בבדיקות אוטומטיות, מחשב מריץ תסריט שהוגדר מראש.

מאפיין בדיקה ידנית בדיקה אוטומטית
ביצוע על ידי בודק באמצעות סקריפט וכלי אוטומציה
מהירות בדרך כלל איטית יותר יכולה להיות מהירה מאוד
חזרה על בדיקה דורשת זמן עבודה ניתן להריץ שוב ושוב
גמישות גבוהה תלויה בתכנון הסקריפט
תחזוקה בדרך כלל פשוטה יותר דורשת תחזוקת קוד

למעשה, ארגון איכותי אינו צריך לבחור בין Manual QA לבין Automation QA. שתי השיטות משלימות זו את זו.

אפשר לקרוא על ההבדלים והיתרונות של אוטומציה בהרחבה במאמר בדיקות תוכנה אוטומטיות – יתרונות, חסרונות ומתי להשתמש.

למה בכלל להשתמש באוטומציה?

היתרון המרכזי של אוטומציה הוא היכולת לבצע בדיקות חוזרות במהירות ובאופן עקבי. אם קיימת מערכת שמקבלת גרסה חדשה מדי שבוע, ביצוע ידני של מאות תרחישים לאחר כל שינוי עלול להיות יקר וגוזל זמן.

1. חיסכון בזמן

לאחר שהבדיקה האוטומטית נכתבה ונבדקה, ניתן להריץ אותה פעמים רבות. בדיקה שלוקחת לאדם מספר דקות יכולה להתבצע על ידי מחשב בזמן קצר בהרבה.

2. בדיקות רגרסיה מהירות

כאשר מפתחים משנים קוד קיים, קיים סיכון שפונקציה שעבדה בעבר תיפגע. בדיקות אוטומטיות מאפשרות להריץ אוסף גדול של תרחישים ולגלות בעיות במהירות.

3. עקביות

סקריפט אוטומטי מבצע את אותן פעולות לפי ההגדרות שלו בכל הרצה. אין עייפות, שכחה או שינוי מקרי בסדר הפעולות.

4. אפשרות להרצה חוזרת

כאשר מתגלה באג ומתבצע תיקון, אפשר להריץ מחדש את הבדיקה ואת בדיקות הרגרסיה הקשורות אליה.

5. שילוב בתהליך הפיתוח

בסביבות מתקדמות ניתן להריץ בדיקות אוטומטיות כחלק מתהליך ה-CI/CD, כך שבדיקות מתבצעות באופן אוטומטי לאחר שינוי בקוד.

מה לא כדאי לאוטומט?

אחת הטעויות הנפוצות של מתחילים היא לחשוב שכל בדיקה חייבת להפוך לאוטומטית. בפועל, לא כל תרחיש מתאים לכך.

בדיקה מתאימה במיוחד לאוטומציה כאשר היא:

  • חוזרת על עצמה בתדירות גבוהה.
  • כוללת צעדים ברורים וצפויים.
  • חשובה לרגרסיה.
  • יציבה יחסית לאורך זמן.
  • דורשת ביצוע על מגוון נתונים.
  • יקרה או איטית לביצוע ידני.

לעומת זאת, בדיקות חד-פעמיות, בדיקות חקרניות, בדיקות שממשק המשתמש שלהן משתנה כל הזמן או בדיקות שדורשות שיקול דעת אנושי משמעותי לא תמיד מצדיקות השקעה באוטומציה.

איך מתחילים אוטומציה מאפס?

למתחיל, הדרך הנכונה אינה להתחיל מיד מכתיבת מאות שורות קוד. מומלץ להתקדם בשלבים.

מסלול בסיסי ללמידה:
  1. הבנת עולם ה-QA.
  2. היכרות עם בדיקות ידניות.
  3. לימוד בסיסי של תכנות.
  4. היכרות עם HTML ו-DOM.
  5. היכרות עם HTTP ו-API.
  6. בחירת כלי אוטומציה.
  7. כתיבת תרחישים פשוטים.
  8. לימוד Assertions.
  9. עבודה עם נתוני בדיקה.
  10. לימוד דוחות, Debugging ותחזוקה.

מי שעדיין אינו מכיר את עולם הבדיקות יכול להתחיל גם מהמדריך בדיקות תוכנה – המדריך המלא למתחילים.

איזו שפת תכנות צריך ללמוד?

אוטומציה מחייבת בדרך כלל יכולת עבודה עם קוד. אין צורך להיות מתכנת מנוסה כדי להתחיל, אבל חשוב להבין משתנים, תנאים, לולאות, פונקציות, מערכים, אובייקטים, עבודה עם קבצים ושגיאות.

בין השפות הנפוצות בתחום ניתן למצוא JavaScript/TypeScript, Python, Java ו-C#.

למתחילים כדאי לבחור שפה אחת ולהתמקד בה במקום לנסות ללמוד כמה שפות במקביל.

כלי אוטומציה – במה לבחור?

קיימים כלים רבים לבדיקות אוטומטיות, ולכל אחד מהם יתרונות, חסרונות וסביבת שימוש שונה.

בין הכלים המוכרים ניתן למצוא Selenium, Playwright, Cypress, Appium וכלים נוספים.

הבחירה אינה צריכה להתבסס רק על השאלה "איזה כלי הכי טוב". צריך לבדוק מהי הטכנולוגיה של המערכת, באילו שפות הצוות עובד, אילו דפדפנים נדרשים, מה סוג הבדיקות ומה רמת התחזוקה הצפויה.

להשוואה מעמיקה יותר ניתן לקרוא את המאמר בדיקות אוטומציה – אילו כלים קיימים ומה ההבדלים ביניהם?.

Selenium מול Playwright – דוגמה לבחירת כלי

Selenium הוא אחד השמות הוותיקים והמוכרים בתחום אוטומציית הדפדפן. Playwright הוא כלי מודרני יותר שמספק יכולות מתקדמות לאוטומציית דפדפנים.

למתחיל, הבחירה יכולה להיות מבלבלת. לכן חשוב ללמוד לא רק את התחביר של כלי מסוים אלא גם את העקרונות שמאחורי אוטומציה: איתור אלמנטים, המתנות, Assertions, ניהול נתונים, מבנה תרחישים ותחזוקה.

להשוואה ממוקדת יותר אפשר לעבור למאמר Selenium מול Playwright – איזה כלי אוטומציה עדיף?.

איך נראה תרחיש אוטומציה פשוט?

ניקח דוגמה של בדיקת התחברות לאתר.

מטרת הבדיקה: לוודא שמשתמש בעל פרטי התחברות תקינים מצליח להיכנס למערכת.

שלב 1: פתיחת כתובת האתר.

שלב 2: איתור שדה שם המשתמש.

שלב 3: הזנת שם המשתמש.

שלב 4: איתור שדה הסיסמה.

שלב 5: הזנת הסיסמה.

שלב 6: לחיצה על כפתור ההתחברות.

שלב 7: בדיקה שהתקבל מסך הבית.

השלב האחרון חשוב במיוחד. אוטומציה טובה אינה רק "מבצעת פעולות". היא צריכה לבדוק שהתוצאה שהתקבלה היא אכן התוצאה הצפויה.

מה זה Assertion?

Assertion הוא מנגנון שבאמצעותו הבדיקה משווה בין התוצאה שהתקבלה לבין התוצאה שהיינו אמורים לקבל.

לדוגמה, אם לאחר התחברות מוצלחת המשתמש אמור לראות את הטקסט "שלום", הבדיקה יכולה לוודא שהטקסט אכן קיים.

אם הטקסט אינו מופיע, הבדיקה נכשלת ומדווחת על כך.

כלל חשוב למתחילים:
בדיקה שמבצעת פעולות אבל אינה מאמתת את התוצאה אינה בדיקה אוטומטית טובה. תמיד צריך להגדיר מה אנחנו מצפים לראות ומה ייחשב לכישלון.

Selectors – איך האוטומציה מוצאת אלמנטים?

כדי ללחוץ על כפתור, להזין טקסט או לקרוא ערך משדה, כלי האוטומציה צריך לדעת כיצד לזהות את האלמנט בדף.

לשם כך משתמשים ב-Selectors.

ניתן לאתר אלמנטים באמצעות מזהים כמו ID, שמות, טקסט, מאפיינים שונים ולעיתים XPath או CSS selectors.

ככל שה-Selector יציב וברור יותר, כך גדל הסיכוי שהבדיקה תמשיך לעבוד גם לאחר שינויים בממשק.

הבעיה הגדולה של מתחילים – בדיקות שבירות

בדיקה שבירה היא בדיקה שנכשלת בגלל שינוי טכני קטן שאינו בהכרח מעיד על בעיה אמיתית במערכת.

לדוגמה, אם הבדיקה תלויה במבנה HTML מסוים, שינוי עיצוב קטן באתר עלול לגרום לה להיכשל.

לכן חשוב לבנות בדיקות עם Selectors יציבים, להימנע מתלות מיותרת במבנה הדף ולתכנן את הקוד כך שניתן יהיה לתחזק אותו.

המתנות – למה אי אפשר פשוט להריץ הכול מיד?

אפליקציות ואתרים מודרניים אינם תמיד מגיבים באופן מיידי. לאחר לחיצה על כפתור ייתכן שצריך להמתין לשרת, לטעינת רכיב, לקבלת תשובה מ-API או להצגת אלמנט.

מתחילים לעיתים משתמשים ב-Sleep קבוע, לדוגמה "חכה 5 שניות". זו אינה תמיד גישה טובה, משום שלפעמים המערכת מוכנה אחרי חצי שנייה ולפעמים היא זקוקה ליותר זמן.

גישה טובה יותר היא להמתין לתנאי מסוים: אלמנט שהופיע, תשובה שהתקבלה, שינוי מצב או תנאי אחר שמסמן שהמערכת מוכנה להמשך.

בדיקות UI, API ובדיקות נוספות

אוטומציה אינה מוגבלת לבדיקות ממשק משתמש.

אפשר לבצע אוטומציה גם ברמת ה-API, במסד הנתונים, בשירותים פנימיים, בתהליכים עסקיים ובשילובים בין מערכות.

בדיקות API יכולות להיות מהירות ויציבות יותר מבדיקות UI במקרים מסוימים, ולכן כדאי למתחיל להבין את ההבדל בין שכבות הבדיקה.

גם בדיקות E2E חשובות כאשר רוצים לבדוק תהליך עסקי שלם, לדוגמה התחברות, יצירת הזמנה, תשלום וקבלת אישור.

אוטומציה אינה רק בדיקות UI

טעות נפוצה היא לחשוב ש-Automation QA משמעותו רק פתיחת דפדפן ולחיצה על כפתורים.

בפועל, אוטומציה יכולה לכלול:

  • בדיקות ממשק משתמש.
  • בדיקות API.
  • בדיקות אינטגרציה.
  • בדיקות רגרסיה.
  • בדיקות End-to-End.
  • בדיקות נתונים.
  • הרצת תרחישים על סביבות שונות.
  • יצירת נתוני בדיקה.
  • איסוף לוגים ודוחות.
  • הרצה כחלק מתהליכי CI/CD.

איך לבנות פרויקט אוטומציה ראשון?

למתחיל מומלץ לא להתחיל בפרויקט ענק. עדיף לבחור אתר או מערכת פשוטה ולבנות אוסף קטן של בדיקות איכותיות.

שלב 1 – בחירת מערכת: בחרו אתר עם פונקציונליות ברורה.

שלב 2 – בחירת תרחישים: התחילו בתרחישים פשוטים כמו התחברות, חיפוש, הוספת פריט או שליחת טופס.

שלב 3 – בחירת כלי: בחרו כלי אוטומציה אחד והתמקדו בו.

שלב 4 – כתיבת הבדיקה: כתבו תרחיש קטן וברור.

שלב 5 – הוספת Assertions: ודאו שהמערכת החזירה את התוצאה הצפויה.

שלב 6 – הרצה: הריצו את הבדיקה מספר פעמים.

שלב 7 – שבירה מכוונת: שנו נתון או תנאי ובדקו שהאוטומציה באמת מזהה את הבעיה.

שלב 8 – שיפור: נקו את הקוד, שפרו את שמות הבדיקות וטפלו בתקלות תחזוקה.

איך נראית בדיקת אוטומציה טובה?

בדיקה טובה צריכה להיות:

  • ברורה: ניתן להבין מה היא בודקת.
  • עצמאית: עד כמה שניתן, אינה תלויה בבדיקה אחרת.
  • יציבה: אינה נכשלת ללא סיבה אמיתית.
  • מהירה: מבצעת את הבדיקה ביעילות.
  • ניתנת לתחזוקה: קל לעדכן אותה כאשר המערכת משתנה.
  • מדויקת: יודעת להבדיל בין Pass לבין Fail.
  • קריאה: גם אדם אחר בצוות יכול להבין אותה.

טעויות נפוצות של מתחילים באוטומציה

כתיבת יותר מדי בדיקות מהר מדי

כמות אינה מדד לאיכות. עדיף להתחיל עם עשר בדיקות יציבות מאשר לבנות מאה בדיקות שקשה לתחזק.

אוטומציה של כל דבר

לא כל בדיקה מצדיקה אוטומציה. צריך לחשוב על העלות מול התועלת.

התמקדות רק בקוד

Automation QA טוב צריך להבין גם את המוצר, דרישות המערכת, תהליכים עסקיים, סוגי בדיקות וסיכונים.

התעלמות מתחזוקה

מערכת משתנה. Selectors משתנים, מסכים משתנים ודרישות משתנות. לכן צריך לתכנן מראש כיצד לתחזק את הבדיקות.

בדיקות ללא Assertions נכונים

אם הסקריפט סיים את כל הפעולות אך לא בדק את התוצאה, ייתכן שהוא דיווח Pass למרות שהמערכת אינה תקינה.

איך אוטומציה משתלבת בעבודת QA?

בעולם האמיתי, בודק תוכנה אינו עובד רק על כתיבת סקריפטים. הוא משתתף בתהליך רחב יותר הכולל הבנת דרישות, תכנון בדיקות, זיהוי סיכונים, ביצוע בדיקות, דיווח על באגים ושיתוף פעולה עם מפתחים.

לכן למי שמגיע מרקע של בדיקות ידניות יש יתרון משמעותי: הוא כבר מכיר את החשיבה של QA ויכול להוסיף אליה יכולות טכניות.

מי שרוצה להבין טוב יותר את העבודה היומיומית של בודק יכול לקרוא גם את בודק תוכנה – מה עושה QA ביום עבודה?.

האם צריך ניסיון בתכנות כדי להתחיל?

לא חייבים להיות מתכנתים מנוסים, אבל כן צריך להיות מוכנים ללמוד תכנות.

מתחיל באוטומציה צריך להבין את הבסיס: משתנים, תנאים, לולאות, פונקציות, מבני נתונים, עבודה עם אובייקטים, שגיאות ו-Debugging.

הדרך הטובה ביותר ללמוד היא שילוב בין תיאוריה לפרקטיקה. במקום ללמוד חודשים של תכנות בלי קשר ל-QA, אפשר ללמוד מושג וליישם אותו מיד בתוך תרחיש בדיקה.

האם כדאי להתחיל מ-Manual QA?

עבור אנשים רבים זו יכולה להיות דרך הגיונית. הבנה של בדיקות ידניות מספקת בסיס חשוב לפני מעבר לאוטומציה.

לפני כתיבת קוד חשוב לדעת כיצד לכתוב תרחיש בדיקה, מהו Expected Result, כיצד לזהות באג, מהי בדיקת רגרסיה וכיצד לחשוב על מקרי קצה.

אפשר להתחיל מהמאמר בדיקות תוכנה ידניות – מה בודקים ואיך זה עובד?.

מה כדאי ללמוד אחרי הבסיס?

לאחר שמבינים את העקרונות הבסיסיים, אפשר להתקדם בהדרגה לנושאים מתקדמים יותר:

  • JavaScript או שפת תכנות אחרת.
  • Playwright או Selenium.
  • API Testing.
  • JSON ו-HTTP.
  • Git.
  • CI/CD.
  • Docker ברמה בסיסית.
  • SQL.
  • עבודה עם דוחות.
  • Design Patterns באוטומציה.
  • Page Object Model.
  • ניהול נתוני בדיקה.
  • Parallel Execution.

אין צורך ללמוד הכול ביום אחד. המטרה היא לבנות ידע בהדרגה ולהגיע למצב שבו ניתן לקחת מערכת אמיתית, להבין את הסיכונים שלה ולבנות עבורה אוטומציה בעלת ערך.

אוטומציה טובה מתחילה בחשיבה נכונה

האתגר המרכזי באוטומציה אינו רק ללמוד את הכלי. אפשר ללמוד תחביר של כלי מסוים בתוך זמן קצר יחסית, אבל כדי ליצור מערכת אוטומציה איכותית צריך להבין איך לבחור בדיקות, כיצד למנוע כפילויות, איך לתכנן מבנה קוד, כיצד לטפל בנתונים וכיצד להתמודד עם שינויים.

לכן חשוב לחשוב על אוטומציה כעל מוצר תוכנה בפני עצמו. גם קוד בדיקות צריך להיות קריא, מסודר, מתוחזק ומתוכנן לטווח ארוך.

סיכום – איך מתחילים נכון?

אוטומציה לבדיקות תוכנה היא מיומנות חשובה בעולם ה-QA, אבל היא אינה קיצור דרך שמאפשר לוותר על יסודות הבדיקות. הדרך הנכונה להתחיל היא קודם להבין את עולם ה-QA, ללמוד לחשוב כמו בודק, לרכוש בסיס בתכנות ורק לאחר מכן להתמקד בכלי אוטומציה מסוים.

התחילו מתרחישים קטנים: התחברות, חיפוש, טופס, הוספת פריט או תהליך עסקי פשוט. למדו כיצד למצוא אלמנטים, כיצד לבצע פעולות, כיצד להמתין בצורה נכונה וכיצד לוודא שהתוצאה תקינה באמצעות Assertions.

בהמשך עברו לבדיקות רגרסיה, API, E2E, ניהול נתונים, דוחות, Git ו-CI/CD. אל תנסו להפוך כל בדיקה לאוטומטית, ואל תמדדו הצלחה לפי מספר הסקריפטים שכתבתם. המדד החשוב הוא הערך שהאוטומציה מייצרת: חיסכון בזמן, זיהוי מהיר של תקלות, כיסוי בדיקות טוב יותר ושיפור הביטחון בכל גרסה חדשה.

השורה התחתונה

מתחילים באוטומציה לא צריכים לדעת הכול מראש. צריך להתחיל מהבסיס, לבחור כלי אחד, לבנות בדיקות פשוטות, להבין למה הן עובדות ולשפר אותן בהדרגה. שילוב בין חשיבה של QA לבין יכולת טכנית הוא הבסיס לאיש אוטומציה טוב.

מאמרים מומלצים להמשך קריאה

לקרוא מאמרים זה נחמד אבל לא יביא אותך לתוצאה שאתה רוצה, בדיוק בשביל זה הכנו עבורך את הקורס הדיגיטלי המהיר, תוך שעתיים וחצי תלמד את תחום הבדיקות ידניות, תוכל להתחיל לעבוד מהבית דרך FIVERR או ולהתכונן נכון לראיונות עבודה שיעזרו לך לצלוח אותם. כנס כאן הקורס ממוקד בבדיקות תוכנה ידניות הנותן בסיס חזק לתחום.

קורס לבדיקות תוכנה מדויק

לעבוד מהבית כבודק תוכנה עם FIVERR >> לחץ כאן

כתיבת תגובה