אחת הפעילויות המעניינות והחשובות של בודקי התוכנה אחרי שביצעו ניתוח (Analysis - אָנָלִיזָה) למערכת/אפליקציה היא לכתוב בדיקות. כתיבת הבדיקות מסתמכת לרוב על דרישות שהן חלק מבסיס הבדיקות (test basis) – בין אם הן כתובות כדרישות סטנדרטיות או סיפורי משתמש (user story/ies) שכוללים תנאי קבלה (acceptance criteria); תוך כדי כך, כבודקים, אנחנו נעזרים בטכניקות לעיצוב בדיקות (test design techniques), על מנת לייעל את תהליך הבדיקה ולערוך אותה באופן הנדסי.
אחת מהטכניקות הללו נקראת "מחלקות שקילות" (equivalence partitioning), או "קבוצות שקילות" (equivalence classes) בשמה האחר. טכניקת מחלקות השקילות מחלקת נתונים לקבוצות (הידועות כמחיצות שקילות) על סמך הציפייה כי כל הרכיבים של קבוצה נתונה יעובדו באופן זהה ויציגו התנהגות זהה בתוצאה הסופית. התיאוריה מאחורי טכניקה זו היא שאם מקרה בדיקה בודק ערך אחד מתוך מחלקת השקילות ומזהה פגם, פגם זה צריך להיות מזוהה גם על ידי מקרי בדיקה הבודקים כל ערך אחר באותה המחלקה - כנ"ל אם מקרה הבדיקה עובד עבור ערך מסוים, המקרה יעבוד עבור כל הערכים במחלקה. לכן מספיקה בדיקה אחת לכל מחלקת שקילות.
ניתן לזהות מחלקות שקילות עבור כל רכיב נתונים הקשור לאובייקט הבדיקה, כולל קלטים, פלטים, פריטי תצורה, ערכים פנימיים, ערכים הקשורים לזמן ופרמטרים של ממשק. מחלקות לא יכולות להיות חופפות, כלומר, כל ערך משתייך למחלקה אחת. כמו כן מחלקות לא יכולות להיות ריקות ולא יהיו ערכים שלא שייכים לאף מחלקה. מחלקה המכילה ערכים חוקיים נקראת מחלקה חוקית. מחלקה המכילה ערכים לא חוקיים נקראת מחלקה לא חוקית. ההגדרות של ערכים חוקיים ובלתי חוקיים עשויים להשתנות בין צוותים וארגונים.
על מנת להשיג אופטימיזציה של האפשרויות השונות הקיימות עבור מקרי הבדיקה ותנאי הבדיקה השונים – כיוון שאנחנו יכולים בנקל למצוא את עצמנו עם מאות או אלפי או אף מיליוני אופציות בדיקה שהן תוצר של השילוב של אותם פרמטרים, ערכים, קלטים, פלטים וכו' – נחלק אותם למחלקות השקילות ונכלול את אותם הערכים במחלקות/קבוצות אלו, מתוך מטרה (עבור האופטימיזציה) שבדיקת ערך אחד מכל קבוצה תספיק עבור הכיסוי של אותה הקבוצה. (למידע נוסף, מומלץ לקרוא את פרק 4 תת-פרק 4.2.1 של תוכנית ההכשרה הבסיסית של אירגון ISTQB).
ועכשיו לשאלה (כתובה בלשון זכר, אך מתייחסת לכל המינים):
אתה בודק טופס חיפוש דירות פשוט הכולל שני קריטריוני חיפוש בלבד:
• קומה (עם שלוש אפשרויות אפשריות: קומת קרקע; קומה ראשונה; קומה שנייה ומעלה)
• סוג גינה (עם שלוש אפשרויות אפשריות: ללא גינה; גינה קטנה; גינה גדולה)
רק בדירות בקומת הקרקע עשויות להיות גינות. לטופס יש מנגנון אימות מובנה שלא יאפשר לך להשתמש בקריטריוני החיפוש שמפרים כלל זה.
לכל בדיקה יש שני ערכי קלט: קומה וסוג גינה. אתה רוצה להשתמש במחלקות שקילות (equivalence partitioning) בכדי לכסות כל קומה וכל סוג גינה בבדיקות שלך.
מהו המספר המינימלי של מקרי בדיקה הנדרש, בכדי להשיג 100% כיסוי באמצעות טכניקת מחלקות שקילות?
א) 3
ב) 4
ג) 5
ד) 6
בחר אפשרות אחת
*לצפייה בתשובה המפורטת- דפדפו לעמוד 8