יום ראשון, 29 במאי 2016

ביקורת ספר: Exploratory Software Testing

הכותב
ג'יימס וויטקר הוא בעל זכויות רבות בעולמנו המקצועי. הוא איש אקדמיה, ניהל בדיקות במייקרוסופט ואח"כ בגוגל. הזכרתי את התוכן של ספר אחר שלו, איך בודקים תוכנה בגוגל, בשני פוסטים קודמים: כאן וכאן. אגב, בספר על גוגל הוא כתב עם עוד שני שותפים וה"קול הספרותי" שונה שם, פחות אמפתי לבודקים.
  
נושא הספר
הספר הנדון הוא ספר שמדבר על בדיקות אקספלורטוריות (מה דעתכם על "בדיקות סיוריות"? נשמע לי טוב יותר מ"בדיקות חקרניות"). כבר סקרתי כאן ספר על הנושא, והינה הספר הזה, וכמה כבר אפשר לכתוב על בדיקות שכאלה שבכלל לא מתועדות כמו הסקריפטד?
זה מזכיר לי שאלה שמישהו שאל פעם: כמה כבר אפשר לבדוק עמוד חיפוש כמו "גוגל". שתי השאלות נובעות מחוסר ידע, שכן אפשר לדבר על זה ולבדוק הרבה מאוד דברים, ודברים חשובים. הספר Explore It שסקרתי והספר הזה שונים, וכדאי לקרוא את שניהם. שם מדובר יותר על ה"מה", וכאן על ה"איך".
לגבי הספר עצמו
יש פרקים מעניינים יותר ופחות בספר. הפרקים על עצות לבודק המתחיל (לא קראתי. אני מניח שיהיו כאלה שמן הסתם זה יעניין אותם) והעתיד של הבדיקות (מודה: לא היה לי כוח לקרוא אותו) פחות עניינו אותי. הם מורכבים בעיקר מ-מור"קים. לעומת זאת פרקים 4 ו-5 שבהם דנים בנושא הספר, הם לדעתי ממש טובים, וגם פרק 6 שהוא חלק מעשי יותר.
  
בפרקים 4 ו-5 מדובר על שיטות בדיקה שמשתמשים בהן במייקרוסופט (לפחות בזמן כתיבת הספר). בגדול, הם משווים את הבדיקות הללו לסיורים (היעד המועדף: לונדון. קשה לי לומר שאני לא מבין אותם).
בפרק 5 מדברים על סיורים נטו ללא גיבוי של בדיקות סקריפטד. למשל יש טיול של אנשי עסקים, כלומר החלק של המערכת ש"עושים את הביזנס", כהגדרתו. כאן יש את "סיור ה-F1" בו משווים את דפי העזרה למערכת. "סיור הכסף" הוא כשמו, מה שמביא ללקוח את הכסף. למשל מה שאנשי המכירות מראים בדמויים.
יש את "סיור האינטלקטואל" שבו שואלים שאלות קשות, "סיור פחי הזבל" שהוא סיור לפי סדר בכל פרט ופרט ב"שכונה". סיור ה"סופרמודל" שהוא מעבר שטחי על ה-UI (קצת לא PC בשביל אמריקאי, לא?) ועוד.
  
בפרק 5 יש טוויסט מעניין של בדיקות היברידיות, כלומר לקיחת סקריפט טסטינג קיימים ולהוסיף להם סיורים. מן הסתם לא כל הסיורים מתאימים לבדיקות ההיברידיות.
  
בפרק 6 ג'יימס נותן את רשות הדיבור לבודקים במייקרופוסט שמספרים על הדרך שלהם לערוך את הבדיקות הללו. לטעמי ג'ף סטנף הוא החלק היותר מוצלח.
  
האם אפשר להסתפק בבדיקות אלה?
יש כאן השקפה מעניינת מאוד על בדיקות סיוריות מהסוג הנאמר. לטענת הכותב לומר שהמוצר נבדק ע"פ הסיורים המוגדרים, אלו שגם מופיעים בספר, יוצרים כיסוי שלם ובזה הם שווים לסקריפטד. אני מדגיש שוב. ביצעת את כל הסיורים - אתה סגור מבחינת הבדיקות הידניות. עכשיו ברור שיש חורים בשיטה, ייתכן שמשהו יבדק רק בצורה מסויימת, כי שני בודקים שונים היו עושים את זה אחרת (גם אותו בודק בזמו אחר) ובאג מסוים עלול לא להתגלות. אבל הי, זה חיסרון קיים גם בבדיקות סקריפטד.
אני חייב לומר שזה ממש מהפכני בעניי, ואפילו נשמע הגיוני. בגדול אני מניח שגם אפשר לסמוך על מייקרוסופט. אבל לפני שאשתכנע לגמרי אני הייתי בודק שאכן לא ניתן לפספס שום פונקציונליות במוצר ואולי מריץ בדיקות אלה במקביל לקיימות בכדי לקבל ביטחון. ייתכן שבמייקרוסופט זה יעבוד אבל המוצרים אחרים - לא.
שאלה נוספת היא האוטומציה. אם הכיסוי הוא כ"כ מדעי, אולי אפשר לעשות בדיקות אוטומציה שיכסו אותן. אבל אז מה נשאר מהאקספלורטורי?
  
הוא גם לא מזכיר בדיקות אחרות, כמו קומפטביליות והיחס לבדיקות אלה, מתי במחינת שלב הפיתוח עורכים אותן, איך מתמודדים עם בדיקות API ועוד.
  
לסיכום
למרות הפגמים זה ספר טוב, זורם, וכדאי לקרוא אותו. לבטח הוא יעזור למצוא באגים בסבב הבא שלכם.

פורסם במקור May 28, 2016

אין תגובות:

הוסף רשומת תגובה

רשומות פופולריות