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

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

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

  • EuroSTAR Testing Conference Prague 2019

    EuroSTAR Testing Conference Prague 2019 A few weeks ago I spoke at the EuroSTAR software testing conference in Prague. The conference had one and a half days of tutorials, followed by two and a half days of talks. Around a thousand people attended. I was impressed by the sense of community and by the number of activities offered. For climate reasons, I chose to travel there and back by train instead of flying. Impressions The conference started off with a day and a half of tutorials. On the Monday I attended Michael Bolton‘s session on using risk to guide testing. I really liked the holistic perspective on testing and the emphasis on tacit knowledge. The group exercises were very good, and reminded me of the idea-generating power of groups. On the Tuesday I picked up a lot of good testing ideas from Henrik Emilsson and Rikard Edgren from Nordic Medtest. Of the keynotes, I really enjoyed Fiona Charles‘ talk with numerous examples of problematic and unethical use of technology. It was also fascinating to listen to Alexandre Bauduin speaking about how the flight simulator for the Boeing 777 is tested. For all the keynotes, slido was used to allow the audience to ask questions. The highest voted questions were then answered by the presenter. For the most part, this way of doing a Q&A worked quite well. Of the talks, I liked Andrew Brown’s presentation on the endowment effect as an explanation of why we keep some tests that should really be deleted. It was[…]

    8.12.2019 | 6:45 קרא עוד...
  • LearnAutomation Has an App!

    This post is only about a month or two late! But if you are a frequent visitor or even if you’re visiting for the first time and enjoying the content, then there is now an app for your phone or tablet that gives you easy access to the site’s content. For now, it is an iOS only app, but I’m nearing the completion of the Android version so expect that shortly. The app allows you to sort and favourite articles to give you quick access to the articles that help you the most. There are also a number of new features coming in the next couple of updates, including tests for you to check your knowledge on what you’ve read to help make sure it’s sinking in, the video content I’ve been promising (yes, it’s actually done!) and downloadable cheat sheets for many of the languages or frameworks you’ve seen on this site. If you have any feedback about the app, please do get in touch. I’m always looking to make it better so if there’s something you’d like to see, I’m happy to hear your opnion. The post LearnAutomation Has an App! appeared first on Learn Automation.

    8.12.2019 | 5:52 קרא עוד...
  • React Day Berlin 2019 Sketchnotes

    I have already attended a conference organized by GitNation, the JSNation of this year. While being there I’ve learned that they also organize some React conferences. As I wanted to broaden my horizon a little, I decided to attend the React Day Berlin 2019. It was a conference with around 800 attendees about topics related to React. I’ve sketched the talks of the first part of day and would love to share the sketchnotes with you: The Past, Present and Future of CSS-in-JS Max Stoiber Compassion-Driven Development: Building Accessible React UI Tae’lur Alexis Performance anxiety with React Jessica Leach Decentralized … Der Beitrag React Day Berlin 2019 Sketchnotes erschien zuerst auf Katjasays.

    8.12.2019 | 4:51 קרא עוד...

טיפים

  • טיפים לאוטומציה יעילה - Dave McNulla
    טיפים לאוטומציה יעילה -  Dave McNulla במאמר Good Practices For Automating Functional Tests מאת Dave McNulla תמצאו נקודות חשובות ליישום אוטומציה בצורה יעילה. שימו לב כי keyword Driven Testing הינה דרך יעילה להפרדה בין הבדיקה לבין הקוד שעומד מאחוריה, דבר שעוזר לבודקים לכתוב בדיקות במהירות וללא…
    קרא עוד...
  • אם נתקלת בבאג במקרה... - חפש באגים דומים
    אם נתקלת בבאג במקרה...  - חפש באגים דומים אם נתקלת בבאג במקרה... או שחזרה תקלה מלקוח - חפש באגים דומים, סביר להניח שפיקששת סדרה שלמה של באגים מאותו סגנון. בתרגום חופשי מהמסמך הבא של Cem Kaner.   ראה המסמך בלינק הבא, כמו גם רשימת Checklists נוספים…
    קרא עוד...
לרשימה המלאה >>