כשמערכת בדיקות האוטומציה (QA Automation) נכנסה לחיי בודקי התוכנה, היו לא מעט שאלות לגביה. אנשים, בודקי תוכנה, מפתחים ולמעשה כל מי שחי בתעשיית ההייטק תהה: האם היא באמת חיונית לנו? איך היא תעזור לנו? מה זה Selenium Automation? והאם בכלל יצטרכו אנשי בדיקות תוכנה ידניות עוד כמה שנים? והאמת? שבצדק. התחום מאוד מסקרן ואני בעצמי כבר הכרתי כמה בודקי תוכנה ידניים שמתעניינים בתחום ושוקלים לקחת קורס אוטומציה בעצמם. 


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

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

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

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

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

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

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

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

כולם עוזרים לכולם


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

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

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

מי את סלניום?

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

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

  • C#
  • Groovy
  • Java
  • Perl
  • PHP
  • Python
  • Ruby
  • Scala

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

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

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

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

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

בודקים ידנית? אל תדאגו, לא הולכים להיפרד ממכם

ביי ביי לבדיקות הידניות?

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

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

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

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

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

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

לעוד כתבות
צ׳אט בוואטסאפשיחהלפרטים והרשמה