LOGIN
התחברות או הרשמה
Avatar
להמשך הרשמה ידנית – לחץ על כפתור ההרשמה, להרשמה/כניסה מהירה בעזרת חשבון רשת חברתית – לחץ על הלוגו בכותרת

אפס סיסמה - שכחתי את שם המשתמש

שם משתמש
סיסמה
זכור אותי

he icon   en icon

מגזין "עולם הבדיקות" מחפש כותבים בנושאים הבאים:

  • טריקים ובדיקות מהירות (Mnemonics, Heuristics)
  • כלים קלים לשימוש (לתחומים כגון: Emb / Mobile / Security)
  • השפעות של הפרעות קוגניטיביות בבדיקות
  • בדיקות מבוססות סיכונים
  • בדיקות קומבינטוריות

מעוניינים להיות חלק מהקהילה ולתרום ידע לאחרים - בואו כתבו למגזין!

This e-mail address is being protected from spambots. You need JavaScript enabled to view it.

This e-mail address is being protected from spambots. You need JavaScript enabled to view it.

TW CallForPapers 2017

פורסם ב חדשות ITCB

ET מקרה מבחן – דורון בר

Exploratory Testing - ניסוי שימוש בET  הצד המעשי

 

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

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

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

אנו החלטנו ללכת על גישה מחמירה יותר הידועה בכינוי Session-Based Test Management3 (להלן SBTM), או לפחות בפרשנות שלנו אליה. גישת ה-SBTM נוצרה על-ידי ג'יימס באך ואחיו ג'ונתן ונבעה מכך שלקוחותיהם בכ"ז רצו לקבל דיווח מפורט יותר של מה נבדק (אך לדעתי יש לכך ערך רב יותר במובן של וידוא כיסוי הבדיקות). בשיטת ניהול זו יש תכנון ותיעוד תוצאות מפורט יותר, ובהתאם לכך ערכנו את הבדיקות שאתאר בהמשך.

 

המטרה

לאחר שהחלטנו להתקדם בכיוון הנ"ל ולערוך ניסוי ראשון, הצבנו שאלות שעליהן הניסוי אמור לענות, כמו למשל:

  • האם הבודקים שלנו מוכנים להיות בודקי ET? בסה"כ מדובר בגישה המצריכה הבנה, דמיון ומחויבות.
  • לברר מהי יעילות בדיקות ה-ET אל מול הבדיקות הידניות הכתובות, ה-Scripted Testing  (פירוט צעדים מלא*, להלן ST)? אפשר להשתמש בגישות אלו במקביל, כאשר את ה-ST כדאי לבצע באופן אוטומטי. אבל מה לגבי משימות מעכשיו לעכשיו (ולנו יש הרבה כאלה) כשאין זמן ל-ST, לא כל שכן אוטומטיזציה? האם במקרה כזה ה-ET הם פתרון מספק? לשם כך במקביל לתהליך המתואר כאן כתבנו בדיקות בדרך הישנה של צעדים מפורטים ותוצאות צפויות בכדי שנוכל להשוות בין התוצאות.
  • להבין מהי הדרך הנכונה לביצוע ET (זמנים, מתודולוגיה וכד')?

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

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

 

הכנות לביצוע

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

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

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

  • תאריך
  • מוצר ותכונה
  • לוח זמנים (מומלץ - לא יותר משעתיים)
  • סוג הבדיקה (למשל: לפי ניהול סיכוני התכונה, סיפורי משתמש, היסחפות מול הדרישות** וכו')
  • מטרת הבדיקות (למשל: האם הדברים עובדים כמו שהם אמורים לעבוד? האם המוצר משיג את מטרתו העסקית? איך תכונה מסויימת עובדת תחת תנאים מסויימים?)
  • תוכן הבדיקות. זוהי נקודה חשובה כיוון שכאן פירטתי נקודות ממפת החשיבה ברמה של, לדוגמא: פופאפ רלוונטי קופץ ונעלם בעצמו לאחר 5 שניות.
  • תיעוד תוך כדי ריצה (מה אני בודק, אילו השערות בדקתי ומה היו התוצאות שלהן?). לצורך כך מומלץ להשתמש בכלי שיצר שמואל גרשון למטרה זו ממש ונקרא Rapid Reporter .
  • סיכום: מהן ההתרשמויות שלי מהמוצר? אילו רגשות זה עורר? באגים שמצאתי, מה עוד כדאי לבדוק וכד'.

 

סוג ותוכן הבדיקות

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

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

 

הבדיקה

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

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

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

לאחר מכן טופס הדיווח עודכן ובאגים נפתחו.

 

התוצאות

אני יכול לציין שהבדיקות היו מוצלחות ו-23 באגים נפתחו. בנוסף כל בדיקה מצאה באגים בדומיין שלה (בדיקות ממשק המשתמש מצאו באגים בעיקר בממשק המשתמש חוץ מבאגים בודדים שראו 'על הדרך', למשל באג ולידציה שנמצא תוך כדי בדיקות פונקציונליות).

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

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

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

לפי התוצאות הנ"ל, למדנו שהבודקים שלנו מוכנים לגישה זו. לגבי זמני הבדיקה - לא שהיו ציפיות - אבל זמן לא נחסך ב-ET אל מול ה-ST. יש לציין שבסביבת אג'ייל זמן כן נחסך, והוא הזמן של כתיבת ה-ST וה-STP. בשתי הגישות יש לערוך עבודת מחקר רצינית, אך לאחר מכן כתיבת מפת מחשבה קצרה יחסית לכתיבת של ST.

למדנו שבדיקות ה-ET הן כלי חזק מאוד. אם נעשות נכון - נקודות רבות יכולות להתגלות. סוג זה נותן אחריות נוספת לבודקים ומגוון להם את העבודה.

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

 


* הכוונה כאן לא לאוטומציה אלא לכתיבה מסורתית בפירוט של צעד-אחר-צעד ותוצאה צפויה.

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

1. Kaner, Falk, and Nguyen, Testing Computer Software (Second Edition), Van Nostrand Reinhold, New York, 1993. p. 6, 7-11.

2. http://www.satisfice.com/articles/what_is_et.shtml

3. http://www.satisfice.com/sbtm/

4. http://www.stickyminds.com/presentation/soap-opera-testing  למשל

 

DoronBar Bio 1

עולם בדיקות התוכנה של דורון בר 

 

ET DoronBar 2

 

פורסם ב שיטות בדיקה