חוכמת ההמונים למען בדיקת תוכנה – איך עושים את זה?

יום חמישי 30 מרץ 2017

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

 

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

איך עושים את זה ולמי זה מתאים?

 

 

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

שיטה זו, "בדיקת המונים" (Crowd Testing), גורסת כי תהליך הבדיקות יבוצע בידי קהל בודקים שהם גם המשתמשים בתוכנה או בשירות, המבצעים את הבדיקה באמצעות מכשירים אמיתיים ולא באמצעות סימולטורים או אימולטורים.

 

רותמים את ההמון

 

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

 

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

מתי זה טוב?

 

יש לבחון שימוש בשיטת בדיקות ההמונים במספר מקרים:

 

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

כאשר התוכנה הנבדקת כוללת מגוון רחב של פעולות משתמש

כאשר זמן הבדיקות המוקצה קצר מאוד

וכמובן כאשר אין בידי צוות הבדיקה משאבים מספקים (כח אדם, מגוון מכשירים, וכדומה).

 

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

 

חשוב להדגיש - שיטה זו היא תוספת לשיטת הבדיקות המסורתית ולא באה להחליף אותה והיא מתבצעת ללא קשר למתודולוגיית תהליך הבדיקות (Agile , מפל מים, מודל V וכדומה). על מנת להבטיח את יציבות התוכנה הנבדקת, תהליך ה-QA השיטתי והמוקפד חייב להתבצע ע"י סבבים מוקדמים ומקצועיים של בדיקות, כלומר, על מנת לקבל יחס מיטבי של עלות מול תועלת, יש לשלב שימוש במתודולוגיה מסורתית יחד עם הפעלת קהל הבודקים. ניתן להתייחס לקהל הבודקים כאל מעין שירות בדיקות (TaaS - test as a service), וכך, בדיקת המונים הינו שירות הנכלל בתוך פרוייקט הבדיקות כולו, בדומה לתהליכים אחרים הכלולים בפרוייקט, כדוגמת בחירת תשתית לבדיקות, שיטת הבדיקות , כלים וכו'.

לא רלוונטי לכולם

 

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

 

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

 

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

 

לסיכום

 

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

 

ה-crowd testing כאן ונראה שיישאר כאן, אך על מנת שיהיה אפקטיבי, יש לשלבו באסטרטגיה הכללית של תהליך הבדיקות בארגון.

 

לפרטים נוספים אודות חוכמת ההמונים למען בדיקות תוכנה- צור עימנו קשר Admins.IL@Tescom-intl.com

 

Admins.IL@Tescom-intl.com
Admins.IL@Tescom-intl.com