האנציקלופדיה לבדיקות | קובי יונסי

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

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

איך השיטה עובדת?

ביסודה של השיטה אנו פורסים בטבלה שורה של תנאים שנקראים גם "תנאים מחוללים" (Triggering Conditions), כל תנאי יוכל לקבל מצב חיובי (True) או שלילי (False), כל שורה תכלול תנאי שיכול או לא יכול להתקיים ובסוף כל עמודה תחכה לנו תוצאה אפשרית.

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

שלבי התהליך בבניית טבלת החלטות

  1. לימוד מאפייני המערכת
  2. מציאת התנאים והפעולות הנגזרות מהן (תוצאות צפויות)
  3. בניית הטבלה על בסיס המשוואה N2) N = מספר מקרי הבדיקה)

לדוגמא במשיכת כסף בכספומט יש לנו 3 תנאים שהמערכת תבדוק:

  1. תוקף הכרטיס
  2. הקשת סיסמא נכונה
  3. יתרה חיובית בחשבון העו"ש

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

הטבלה מתארת את כל המצבים האפשריים של התקיימות התנאים. כל עמודה בטבלה הנה למעשה מקרה בדיקה (test case) המתייחס לצירוף מסוים של תנאים.

מאחר וכל תנאי יכול להתקיים (true) או לא להתקיים (false), מספר מקרי הבדיקה (צירופים) = 2 בחזקת מספר מקרי הבדיקה בדוגמא הנ"ל, ישנם 3 תנאים. 8=23  כלומר סה"כ 8 מקרי בדיקה (צירופים) אפשריים. 

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

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

דוגמת הכספומט הבאה, ניתן לצמצם את העמודות הבאות:

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

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

יתרונות השיטה

מומלץ להשתמש בטבלאות החלטה במצבים הבאים בהם השיטה תספק לנו יתרונות בולטים:

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

חסרונות השיטה

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