לפני מספר שנים, באחד הפרויקטים היו לנו מספר באגים שלא אותרו במעבדה והגיעו לייצור: חלקם ברמת חומרה גבוהה וחלקם מינוריים.
במהלך תחקיר האירוע שיצרתי עלו השאלות הבאות:
א. איך מחלקת ה-QA מונעת הישנות של מקרים דומים?
ב. מה התהליך שיבוצע ב-QA כדי לשפר את האיכות בעקבות הבאגים האלה?
הדרך בה בחרתי לסגור את הפערים הייתה הפעלת תהליך מתודולוגי מובנה כחלק מכל גירסה, תהליך המכונה “escaped bugs”. לאחר סיום התחקיר התחלנו ביישום המתודולגיה כחלק מבדיקות הגירסה והפעלתה בהתאם לצורך.
יישום המתודולגיה החדשה, יחד עם התהליכים הקבועים האחרים, הוביל לצמצום דרמטי של כמות התקלות שיוצאות לייצור וכתוצאה מכך לשיפור משמעותי באיכות המוצר.
מהו תהליך Escapes bugs ומה הגדרתו המתודולוגית?
Escaped bugs הם סך התקלות שנמצאו בייצור / פגמים שנמלטו מהמעבדה. מדד התקלות שנמלטו הוא מדד פשוט הסופר את מספר התקלות עבור גירסה נתונה שנמצאו לאחר שחרור הגירסה. אלו תקלות אשר מתגלות על ידי הלקוח, שלא אותרו על ידי צוות הפיתוח /QA .
לפני שארחיב על הדרכים לשיפור איכות המוצר באמצעות התהליך הנ”ל, ארצה לגעת במספר נקודות ולהבהיר את חשיבות הבאגים שמגיעים לייצור:
כל אלו גורמים מרכזיים בכך שתקלות בייצור גורמות נזק גדול ולכן עלינו ללמוד איך לשפר את תהליך הבדיקות על מנת להגיע למינימום תקלות בייצור.
יישום התהליך
יישום התהליך יכול להיות סמי אוטומטי ונתמך על ידי כלים שקיימים בחברה.
שלבי יישום התהליך
ריכוז אוטומטי של התקלות יכול להתבצע באמצעות הכלים הקיימים בארגון, לדוגמה: אני מעדיפה לעקוב אחר הבאגים ב-JIRA על יד פילטר שמסנן את כל הבאגים עם באג מסוג "ייצור" ועל פי הגירסה הרלוונטית.
What should be done so that the bug does not happen again
|
Is it covered by automation after the fix? What added to the coverage
|
The reason why missed in a lab?
|
Is this Regression from the previous version?
|
Jira Task #
|
Severity |
Owner |
Issue Title
|
קיימת חשיבות עליונה לשיתוף כל צוות הבודקים בתהליך, ווידוא כי כל אחד מהם מבין מה הדרכים שעליו לעשות בכדי להימנע מבאגים בייצור. הערך המוסף של המעבר הזה הוא מאוד גבוה וגורם לבודקים לעצור ולחשוב על מה היו צריכים לעשות אחרת ומה נדרש מהם בפעם הבאה.
לאורך השנים גיליתי שסיבות לאי איתור באגים בפרוייקטים שונים היו די דומות, אבל לאחר שבודק עשה "תחקור עצמי" כחלק מהתהליך, לרוב הוא לא יחזור על אותה שגיאה.
להלן דוגמאות לסיבות נפוצות לבאגים לא מאותרים:
זוהי רשימה חלקית של סיבות ובכל מערכת הסיבות עלולות להשתנות.
לסיכום
תהליך escaped bugs הוא תהליך מתודולוגי שמוכיח את עצמו לאורך זמן. התהליך משפר באופן משמעותי את איכות המערכת בטווח הארוך ומסייע לצמצום משמעותי של הבאגים בייצור.