נתקלתי במקרים שהציגו לי בגאווה תוכניות בדיקות עם כיסוי רחב: לכל דרישה יש קישור אחד או יותר למקרי בדיקה כך ששום דבר לא הולך לאיבוד.
בסדר, נהדר, אני אומר. וכיצד הלקוח שלך משתמש בפיצ'ר הזה?
למה אתה מתכוון? הם שואלים אותי.
יש לך כאן פיצ'ר, הכל בדרישה מכוסה, הוספת מקרי קצה, בדיקות שליליות וכו'. אבל איך הלקוח ישתמש בפיצ'ר הזה?
כאן אני מקבל כמה סוגים של תשובות. מ:"זה לא משנה. אם אני מכסה את הדרישות אני מכסה את ההתנהגות של המשתמש" עד לתשובות פשוטות ש"אני לא יודע וזה לא מספיק חשוב כדי לגלות".
זה בדיוק העניין של בדיקות מונחות הקשר. אתה חייב לדעת, אחרת, אתה בודק עם עיניים מכוסות.
לא מאמינים לי? ראו דוגמה מהחיים האמיתיים.
Therac-25:
Therac-25 היה מכשיר קרינה רב עוצמה. היו לו 2 מצבים:
מצב X (רנטגן רב עוצמה) ו- E מצב תרפי של אלקטרונים בעצימות נמוכה. הטכנאי השתמש בדרך כלל במצב X, שהיה מצב של אנרגיה גבוהה. כאשר הם היו צריכים להשתמש במצב E, מתוך הרגל, הם לחצו על כפתור X כמצב הראשון ומיד תיקנו על ידי לחיצה על כפתור מצב E.
המכשיר לא סיים את הגדרת מצב X ולא נבנה עבור שינוי כזה מהיר. התוצאה היתה שהחולים קיבלו אנרגיית רנטגן גבוהה כאשר אנרגיה נמוכה נועדה להישלח.
היתה הודעת שגיאה, אבל לא ברורה, ולכן הטכנאי חזר על הטיפול המזיק מתוך מחשבה שזה לא עשה שום דבר.
חמישה אנשים נהרגו בשל הבעיה.
אם החברה שבנתה את המכונה (AECL) הייתה בודקת אותה בזמן ע"י הדמיה של תרחישים אמיתיים, לאחר שבדקה כיצד הטכנאי משתמש במערכת, ייתכן שהאסון היה נמנע.
אבל בואו נניח למחשבות המדכאות ונתרכז במשהו משעשע יותר שמראה את הנקודה.
חידה:
שרלוק הולמס הלך ברחוב. הוא ראה חבר שאותו לא פגש כמה שנים יוצא מביתו.
שרלוק שאל אותו את הגילאים של בנותיו. החבר אמר לו כי תוצאת ההכפלה של הגילאים שלהן הוא 36. לאחר חשיבה שרלוק לא הצליח למצוא את התשובה וביקש רמז נוסף. החבר עונה שסכום הגילאים שלהן שווה למספר הבית שלו. ובכל זאת, שרלוק לא היה מסוגל לענות וביקש רמז נוסף. החבר אמר לו שבתו הצעירה בעלת עיניים כחולות, ולפתע שרלוק נתן את התשובה הנכונה. יכולים להסביר איך?
חישבו רגע.
.
.
.
.
.
.
.
תחילה, כיצד מסייע צבע העיניים של הבת? לא נראה שזה עוזר. אולי זה אומר שזו דרכו של החבר לומר שיש לנו את כל הנתונים הדרושים?
אני מניח שאנחנו יכולים להתחיל על ידי בדיקת כל האפשרויות של הכפלת 3 מספרים (המייצגים את הגילאים של הבנות) שנותנים תוצאה של 36:
כל האפשרויות של הכפלת 3 מספרים (המייצגים את הגילאים של הבנות) שנותנים תוצאה של 36כל האפשרויות של הכפלת 3 מספרים (המייצגים את הגילאים של הבנות) שנותנים תוצאה של 36
יותר מדי אפשרויות (ולכן הבקשה לרמז).
אבל יש עוד פיסת מידע - סכום גיל הבנות הוא כמו מספר הבית. למרבה הצער, אנחנו לא יכולים לראות את זה. בוא נראה את האפשרויות בכל מקרה (על סמך החישוב הראשון):
אז איפה זה משאיר אותנו? בשׁוּם מָקוֹם. אנחנו לא יכולים לראות את מספר הבית.
אבל חכו. בואו נחשוב כמו הלקוח, שרלוק במקרה זה. בואו נדמיין שאנחנו בלונדון של המאה ה -19, עומדים ברחוב ומדברים עם חבר.
שרלוק רואה את הבית, הוא יודע את המספר ועדיין מבקש רמז במקום פשוט לחשב כמו שאדם חכם היה עושה?
יש רק אפשרות אחת: יש יותר מתשובה אחת. כך מספר הבית יכול להיות רק 13, ולשרלוק יש 2 תשובות שמתאימות למסקנה זו (גילאי הבנות הם 1, 6 ו 6 או 2, 2 ו - 9).
זו הסיבה ששרלוק מבקש רמז.
אז מה התשובה?
סביר להניח ששרלוק הבין את הרמז הזה, עיניה של בתו הצעירה, שיש רק אחת כזו כך ששתי הבנות הצעירות לא היו בנות אותו גיל. זה לא המקרה עם הגילאים 2, 2 ו - 9. הפתרון היחיד האפשרי הוא 1, 6 ו - 6.
בהתחלה חשבתי שלא ניתן לפתור את החידה. אבל כאשר מסתכלים על המצב (שרלוק יודע כמה נתונים שאנחנו לא) ולוקחים בחשבון כי שרלוק הוא אדם חכם מאוד, אנו מבינים כיצד ניתן לפתור את החידה.
סיכום
לא כל באג יגרום לסכנת בריאות לאנשים. אבל אנחנו רואים, אני מקווה, את החשיבות של הזמנת הלקוח לחדר הבדיקות.
אנו מבינים כי את החידה הזו ניתן לפתור רק אם אנו רואים את הלקוח מול עינינו, ואנו רואים כי גם במקרי אסון כמו Therac-25 יכולו להיות הזדמנויות לגילוי בזמן.
פורום הבדיקות בפייסבוק: https://www.facebook.com/groups/IL.Testing.QA
המיטאפ הקרוב בנושאי בדיקות: http://bit.ly/TestIL-12
מגזין עולם הבדיקות: http://bit.ly/TWM_13
אין תגובות:
הוסף רשומת תגובה