התקשרו עכשיו: 03-6135565
חייל
משוחרר ? לחץ/י כאן
דף הבית / בלוג / האם אנחנו באמת צריכים את האוטומציה?

main_blog_image

האם אנחנו באמת צריכים את האוטומציה?

כשמערכת בדיקות האוטומציה (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).