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

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

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

he icon   en icon

ET מקרה מבחן –דורון בר (גיליון#1)

נכתב על ידי 
רביעי, 03 יוני 2015 06:58
דרגו כתבה זו
(1 הצבעה)

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

 

שונה לאחרונה ב שלישי, 16 פברואר 2016 06:26

חובה להיות משתמש רשום במערכת בכדי להגיב - ההרשמה/כניסה בכותרת האתר

חדשות מעולם הבדיקות

  • Five for Friday – December 13, 2019

    It’s the Friday the 13th version of FfF! New to me is this collection of culture decks – public slide decks describing the culture of several companies.A reminder that ‘Tis the Season for Technical DebtThis is a year old, but I just found this series of articles from Steve Rubin on interviewing. Start HereWith another series post here for you, here’s part 1 of a series on getting rid of the “testing” column on a kanban boardI’m finally getting around to reading The Unicorn Project. It’s a (possibly too) contrived story of a company going through a devops transition. There are a lot of parallels in the book to Modern Testing Principles, including this line that matches our view of the test specialist role on a mature development team.“Maxine knows that the developers will eventually be responsible for testing their own code, with QA taking a more strategic role, coaching and consulting.” (potentially) related posts: Five for Friday – October 18, 2019 Five for Friday – December 6, 2019 Five for Friday – December 1

    13.12.2019 | 5:51 קרא עוד...
  • EarlGrey 2 —Direct Project Copy Setup Guide

    EarlGrey 2 —Direct Project Copy Setup Guide This post is part of a group of articles aimed at helping you set up & get started with EarlGrey 2.This post covers the set up of EarlGrey 2 in your project, using a direct project copy. Both video and written setup are provided!I. Copy EarlGrey21. Clone Earlgrey 2 repository into your project — make sure to clone the earlgrey2 branch!Tip: git clone -b earlgrey2 https://github.com/google/EarlGrey.git2. Download earlgrey2's dependencies. Tip: To do that, in the terminal, navigate to the EarlGrey2 directory, then run the following shell script:sh Scripts/download_deps.shMake sure that after this step, your folder structure is as follows:EarlGrey/SubmodulesII. Add EarlGrey2 to your project1. Open Earlgrey xcode project and make sure that both AppFramework and TestLib build.2. Add the EarlGrey.xcodeproj file to your project’s Xcode. Tip: To do this, drag the earlgrey.xcodeproj file from the EarlGrey directory to your project. Make sure that the project is added under your project — otherwise xcode will ask you to create a workspace and you don’t want that.III. Add an EarlGrey2 UI Testing TargetCreate a UI Testing Target if you don’t already have one!Open your UI Testing Target, and in Build Phases, add LibTestLib.a into the “link with libraries” section. Tip: When you press the + button, you should be able to find it by using the search bar — It should show up under the EarlGrey project.In Build Settings, add -ObjC to Other Linker Flags.Add the location of EarlGrey and eDistantObject to your User Header Search Paths.Tip: If you followed the step number 3, these directories should be under$YOUR_PROJECT_DIR/EarlGrey$YOUR_PROJECT_DIR/EarlGrey/Submodules/eDistantObject5. Add AppFramework — in Build Phases, create a New Copy[…]

    13.12.2019 | 7:38 קרא עוד...
  • How Testing Software is a Lot Like Playing Poker

    How Testing Software is a Lot Like Playing Poker From Omaha Hi-Lo to No-Limit Texas Hold'Em, poker can take hours, be entertaining and at times, nail-biting fun. Poker is a popular, high-stakes game and every hand can be different. There's a mental strategy in poker that's required to tell different hands, recognize a bluff and read the actions of every player. While it might not look like it, testing out new software is similar to playing a hand of poker. Poker games and software testing both require math, probability and intuition."If you can't learn from your experiences, you just aren't going to win," John Cernuto Play a hand of poker and you can easily find yourself calculating the risks and rewards. It's similar to any business or investment strategy and parallels software testing. Bill Gates probably summed it up best, "A player collects different pieces of information—who's betting boldly, what cards are showing, what this guy's pattern of betting and bluffing is—and then crunches all that data together to devise a plan for his own hand." This is a step often seen with processing different types of information. Poker games require a plan of attack and players need to analyze the actions of others."May the flop be with you," Doyle BrunsonAnother similarity between poker and testing software is the initial analysis. In poker, the players need to assess how all the other players are playing each hand. Are they all playing a big pot? It might be a tell that they have a big hand. Likewise, if they play loosely with small pots,[…]

    13.12.2019 | 5:52 קרא עוד...

טיפים

לרשימה המלאה >>