פוסט זה נכתב על ידי ג'יימי סיין, מחברת uTest Inc.
דניאל ריד (בלוגר טכנולוגיה ויזם) אמר בעבר, "מקצוען אמיתי לא מבזבז זמן וכסף של אנשים אחרים בהשקת תוכנה שאיננה נקייה מבאגים ברמה סבירה, כזו שלא עברה בדיקות יחידה מינימאליות; שלא תואמת את המפרט והדרישות שלה עצמה; שמוגשת בציפוי זהב של פיצ'רים מיותרים, או שנראית כמו גרוטאה". אבל איך מוודאים שהתוכנה שלך נקייה מבאגים ברמה סבירה, עברה את כל בדיקות היחידה (unit-testing) בשלמותן, תואמת את המפרט הטכני שלה ובעלת ממשק ידידותי למשתמש? אין ברירה אלא לבדוק, לבדוק ושוב לבדוק, ועל מנת לוודא שיש לך מספיק זמן לבצע בדיקות באופן מקיף, עליך להתחיל מוקדם.
זה אף פעם לא מוקדם מידי להתחיל בבדיקות. ככל שאתה מקדים לבחון את הקוד (Code Reviewing) ולבדוק את האפליקציה או התוכנה, כך תקדים למצוא את הבעיות ולפתור אותן מהר יותר ובעלות פחותה. כפי שג'יימס א.וורד (יועץ טכנולוגיה) אמר: "איכות היא בת-ברית של לוחות זמנים ועלויות, ולא האוייב. אם עלינו להקריב מן האיכות על מנת לעמוד בלו"ז, זה מפני שאנחנו עושים את העבודה באופן שגוי מבסיסה".
חמישה קווים מנחים לבדיקות תוכנה
בדיקות תוכנה צריכות להתחיל כבר בשלב העיצוב של הפרויקט ולהמשיך עד להשקת המוצר. הנה כמה קווים מנחים מתי לשלב סוגים שונים של בדיקות:
- בדיקות שמישות (Functional) – לאורך כל תהליך הפיתוח
- בדיקת שימושיות (Usability) – במהלך עיצוב המוצר ולאחר מכן לקראת ההשקה
- בדיקות עומסים (Load) – לפני ההשקה
- בדיקות אבטחת מידע (Security) – לפני ההשקה
- בדיקות לוקליזציה (Localization) – לפני ההשקה
יש לזכור כי אלו קווים מנחים גמישים ולא חוקים נוקשים. בדיקות תוכנה מטרתן היא לאמת שדרישות העיצוב מתאימות ומתקיימות, ולכן התחלת הבדיקות בשלב העיצוב הינה הדרך היעילה ביותר להשיג את המטרה הזו. ככל שתתחיל מוקדם יותר בכל אחד מסוגי הבדיקות, כך תשיג רווח גדול יותר מהבדיקות הללו. גם אם אתה פועל לפי שיטת הפיתוח הזריזה (Agile) עם ספרינטים קצרים או לפי מתודולוגיה לטווח ארוך כגון Waterfall, בדיקת הקוד מוקדם ככל האפשר טומנת בחובה מספר יתרונות. היתרון הבולט ביותר הינו במציאת הפגמים אשר יהפכו לאחר מכן לבאגים מורכבים. שילוב בודקי תוכנה כחלק מתהליך הפיתוח נותן להם הזדמנות לזהות חולשות בקוד שהמפתחים אולי פספסו. הנטייה השגויה לחכות עם שלב הבדיקות עד שהתוכנה כבר כמעט מוכנה תשאיר אותך עם בעיות מורכבות יותר שהיו יכולות להיפתר בשלב הרבה יותר מוקדם של התהליך.
בדיקה מוקדמת מצילה זמן יקר
אם לא תתחיל את הבדיקות מוקדם והבאגים הפשוטים ביותר לא יתגלו עד שהמערכת קרובה להשלמה, תיאלץ להשקיע זמן יקר ורב יותר בתיקון בעיות גדולות שפעם היו קטנות. קרוב לוודאי שתיאלץ להשקיע זמן רב מאד בביצוע בדיקות רגרסיה כדי לוודא שתהליך תיקון הבאגים עצמו לא קלקל משהו.
התהליך יכול להשפיע באופן דרסטי על עיכוב מועד ההשקה ועלול אף להגיע למצב שתיאלץ לכתוב מחדש את רוב הקוד. בניית תהליך של עבודה משותפת בין הטסטרים לבין המעצבים והמפתחים תורם גם לכך שבודקי התוכנה שלך יהיו הרבה יותר מעורבים, מחוייבים ובעלי הכרות מעמיקה עם המוצר.
שילוב טסטרים מתחילת התהליך גם ימנע את בזבוז הזמן הכרוך בהצגת חברי צוות חדשים לצוות קיים. אם השילוב לא יחל בשלב הראשון של הפיתוח והעיצוב, המאמץ הכרוך בהכשרת טסטרים להכרת התוכנה והפרטים הטכניים יכול ליצור עיכובים, בלבול ובעיות בניהול התקציב. התחלת תהליך הבדיקות בשלב העיצוב מאפשר לטסטרים להיות מעורבים בנעשה מההתחלה. הם יכולים לתרום למאמץ בשלב מוקדם יותר, להכיר את המוצר ולהישאר מעורבים לאורך כל התהליך. זה מוביל לבדיקות טובות יותר אשר מביאות ליצירת מוצר טוב יותר. תחילת בדיקת המוצר בשלב מוקדם מאפשר לך גם להקצות את הזמן הנדרש לבדיקת התוכנה על גבי מגוון רחב של מכשירים, מערכות הפעלה וגרסאות. גם אם התוכנה עובדת כראוי במעבדת הפיתוח, ייתכן כי יש בה תקלות על מכשיר מסויים או מערכת הפעלה אחרת. הנושא הזה רלוונטי ביותר אם אתה מפתח אפליקציית מובייל. אם תחכה עד לרגע בו אתה מעוניין להשיק את הגרסה, אז לטסטרים שלך יהיו תרחישים רבים מידי לבדוק בטווח זמן קצר מהדרוש.
כאמור, מצב שכזה עלול ליצור עיכובים בהשקת המוצר ובאגים קריטיים עלולים לא להתגלות כי שילובי תוכנה-חומרה שונים לא נבדקו לפני שהתוכנה הגיעה לעולם האמיתי. בסופו של דבר, זהו הגיוני שככל שתבדוק יותר את המוצר כך תקדים לחשוף יותר באגים לפני השקת המוצר. ככל שתקדים לחשוף יותר באגים, כך תפחית את ההפתעות הלא נעימות שאתה עלול להיתקל בהן לאחר השקת המוצר ותקטין את כמות הבעיות (ומספר הלקוחות הלא מרוצים) שתיאלץ להתמודד איתן. הדרך הטובה ביותר לחשוף כמה שיותר באגים הינה להתחיל לבדוק מוקדם ובאופן תכוף וקבוע. כאשר ממהרים מידי מסתכנים בעשיית טעויות והתעלמות מבעיות – אל תבדוק בחיפזון!
מנסים להריץ פיתוח מואץ של המוצר? בדקו את הפוסט הקודם בבלוג שלנו: "4 טיפים ל-Lean Startup".
.
פוסט זה בחסות חברת uTest
.
חברת uTest נוסדה בשנת 2007 ומספקת שירותי בדיקות תוכנה בעולם האמיתי עבור אפליקציות Web, Mobile ו-Desktop. כמו כן, uTest עוזרת לחברות לשפר את המוצרים שלהן על ידי שימוש בקהילה של למעלה מ-60,000 בודקים מקצועיים מ-183 מדינות. אלפי חברות, מסטארטאפים בתחילת הדרך ועד תאגידים בינלאומיים כמו גוגל, מייקרוסופט, פייסבוק וזינגה, פונות ל-uTest על מנת להשלים את בדיקות המעבדה שהם עושים ובכדי שנסייע להן להשיק אפליקציות טובות יותר. השירותים של uTest מקיפים את כל מחזור החיים של פיתוח התוכנה וכוללים בדיקות שמישות (Functional), אבטחת מידע (Security), לוקליזציה (Localization), חוויית המשתמש (Usability) ועומסים (Load). משרדיה הראשיים של uTest ממוקמים בבוסטון עם משרדים נוספים בהרצליה, לונדון, סן-מטאו, סיאטל וניו יורק. uTest גייסה עד כה למעלה מ-37 מיליון דולר ומגדילה בעקביות את נפח הפעילות שלה בשיעור תלת ספרתי מדי שנה. למידע נוסף בקרו באתר שלנו או עקבו אחרי הבלוג שלנו.