הרצת מסמך מסודר ובדיקות חקירה (Exploratory Testing)

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

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

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



חשוב להבהיר שאין זה מומלץ לבודק בתחילת דרכו לסטות מתסריט הבדיקות הכתוב מאחר וחסרות לו מיומנויות דרושות כגון; הערכת זמנים, הערכת סיכונים, תעדוף וכד'. לעומת זאת, בודק בעל ניסיון מודע ליכולות וליתרונות בבדיקות חקירה ואף היה שואף לחופש החלטה בנושא. יחד עם זאת, בבדיקות מסוג UX ו UI (ממשק וחווית משתמש) הן מאוד מומלצות מאחר ויש לנו משתמש חדש שיכול להביא פרספקטיבה רעננה ומשוב על המוצר וגם לפתח היכרות ומיומנות על המוצר/מערכת.

אז על מה אני מדבר?
בדיקות חקירה הן בדיקות המצריכות מעט הכנות מראש כגון הקמת סביבה וכד' אך כולל תכנון, הרצה ותיעוד בו זמנית בזמן העבודה (בשונה מבדיקות ad hoc שאפשר לומר שגרמו להתפתחות בדיקות החקירה - Exploratory Testing).

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

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

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

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

לסיכום:

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

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





תגובות

פוסטים פופולריים מהבלוג הזה

באגים קשים לשחזור - הפעם מובייל

אמולטור למכשירי אנדרויד - כלי קטן חוסך זמן

בדיקות במכשירים ניידים - Mobile