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