הסטארט-אפ היומי: Typemock – היחידה לאיתור באגים
תיקון באגים שמתגלים על ידי מחלקת ה-QA ומוחזרים למחלקת הפיתוח, עולים לארגון כ-1,000 דולרים בממוצע לבאג, לעומת גילוי ותיקון באג בשלב הפיתוח, שעולה 25 עד 100 דולרים בלבד - זהו הנתון שמנחה את Typemock מתל אביב, שפיתחה כלי לכתיבת מבחני יוניטסט למתכנתים בסביבת דוט.נט
"כ-90% מהבאגים שמגיעים למחלקת ה-QA של בית תוכנה פשוט לא היו צריכים להגיע לשם, והם אירעו רק מפני שמפתח התוכנה 'עיגל פינות' – לא בדק את הקוד שנכתב מעבר לפונקציונליות הבסיסית שלו, ובוודאי שלא טרח לכתוב מבחנים אוטומטיים שיבדקו סט תרחישים אפשריים עבור כל רכיב קוד". את המצב העגום הזה מתאר אלי לופיאן (37), מייסד ומנכ"ל חברת הסטארט-אפ Typemock מתל אביב, שמציעה כלי לכתיבת מבחני יוניטסט (UniTest) למתכנתים בסביבת דוט.נט של מיקרוסופט.
מבחני יוניטסט הם למעשה מתודולוגיה לבדיקת רכיבי הקוד הקטנים ביותר, שמפעילים המתכנתים לאחר שבודדו רכיב קוד מסוים ובדקו את התפקוד שלו מול סט רחב של תרחישים אפשריים. לדברי לופיאן, "תיקון באגים שמתגלים מאוחר יותר על ידי מחלקת ה-QA ומוחזרים למחלקת הפיתוח, עולים לארגון כ-1,000 דולרים בממוצע לבאג, בעוד שתיקון באג תוכנה על ידי המפתח שכבר עלה עליו בשלב הראשוני של כתיבת הקוד, מוערך בעלות של 25 עד 100 דולרים בלבד עבור בית התוכנה".
Typemock גייסה עד כה כשני מיליון דולרים מקרן הון הסיכון אבולושיין וממשקיעים פרטיים, ביניהם ירון אדלר – מייסד אינקרדימייל. החברה מעסיקה במשרדיה בדרום תל אביב כ-12 עובדים, ומוצרי התוכנה שלה מעוצבים לשם שילוב אופטימלי עם ויז'ואל דוט.נט – כלי הפיתוח איתו עובדים המתכנתים בסביבת מיקרוסופט.
הכלים של Typemock מאפשרים למפתחי הקוד לחלק אותו למודולים קטנים ככל האפשר ואז לייצר בעזרת אשפים סט בדיקות עבור כל פיסת תוכנה. שירות נוסף שמספקת Typemock הוא את היכולת למדוד את ה-""Bug Fixed Time, זמן התיקון של כל באג – שיחד עם כמות הבאגים, הוא אחד הנתונים החשובים ביותר עבור בית התוכנה או הלקוחות שלו. מחקרים מראים כי הזמן הממוצע לתיקון באג בתעשיית התוכנה כולה הוא שישה ימים, וזמן העבודה הממוצע לתיקון באג במחלקת הפיתוח הוא יום אחד בלבד. המסקנה מאחורי הסטטיסטיקה הזו היא שככל שתתקן את הבאג קרוב יותר לזמן הכתיבה שלו – התהליך יהיה הרבה יותר פשוט ומהיר. יש פחות צורך בתיאור הבאג למפתח שאמור לתקן אותו, פחות צורך בדיווח לאנשים נוספים ויצירת ניירת מיותרת, ולעיתים קרובות אפשר אף להימנע מלשחזר את הסביבה המקורית בו התרחש הבאג, היות והיא עדיין קיימת אצל המפתח. כל אלו הם היתרונות הנובעים ממלאכת איתור באג וחיסולו המהיר שנעשית על ידי המפתח שבדיוק כותב את הקוד, במקום העברה של קוד בעייתי אל מחלקת ה-QA.
בעתיד הקרוב מתכוונת Typemock להוסיף כלי תוכנה נוספים לסט כתיבת מבחני היוניטסט שלה וגם תציע יכולות לימוד של תשתית מיקרוסופט שלמה אליה אמור להתממשק הקוד, הכוללת שרתי SharePoint, מסדי נתונים ורכיבים נוספים. זאת לשם סימולציה עתידית של קוד המפותח על ידי המתכנתים – עוד לפני החיבור עם תשתיות התוכנה הנוספות.
לדברי לופיאן, ל-Typemock יש כבר יותר מ-600 לקוחות משלמים בכל רחבי העולם וביניהם מתכנתים במרכז הפיתוח של מיקרוסופט ישראל, ב-888, במרכזי פיתוח בצה"ל ובחברות היי-טק עולמיות דוגמת טקסס אינסטרומנטס ו-Salesforce.com.
הערות והצעות למדור ניתן למסור בכתובת הדוא"ל הבאה.
רישיון אישי זה ממש לא יקר כמה מאות שקלים. תגלוש ל www.typemock.com ותוריד את הגירסה לנסיון - הכל פתוח ל 21 יום. אם תצטרך יותר - דבר איתי (avik at typemock dot com)
כמה עולה רישיון מפתח בודד? מה ההגבלות על גרסת הניסיון?
רונן, יכול להיות שאצלכם זה עובד ככה, בדרך כלל המרכיב העיקרי הם משכורות, ואם אפשר להגיע לאותה איכות עם פחות אנשים ופחות רשיונות לאנשים הללו ובפחות זמן - החיסכון ענק! מה גם, שהרבה מהמחיר זה הזמן שהמפתח מבזבז על הבאג במקום לפתח עוד יכולות והוספת ערך לחברה. הכלי לא שונה מהיכולות שמיקרוסופט מציעה (גם ב-2008 וגם ב-2010) היא משלימה אותה ואף מיקרוסופט בעצמה ממליצה להשתמש בכלי http://www.microsoft.com/downloads/details.aspx?FamilyId=C3722DBA-6EE7-4E0E-82B5-FDAF3C5EC927&displaylang=en וגם http://www.sharepointdevwiki.com/display/public/How+to+test+SharePoint+development+code
בלי להכנס לדיון על צורת חישוב העלויות: טייפמוק מספקים כלי שמאפשר למפתח לבדוק את הקוד שלהם במנותק מהתלויות החיצוניות שלו. כלי הבדיקה של מייקרוסופט לא מספקים את היכולות האלו (גם לא ב 2010) - טייפמוק משלים את סביבת הבדיקות של מייקרוסופט עם תכונות שבלעדיהן קשה עד לא רווחי לכתוב בדיקות יחידה למערכות בעולם האמיתי. עצה שלי - תוריד ותבדוק. תכתוב כאן מה מצאת.
שטויות, הבעיה היא שבחישוב עלות באג שמתגלה ע"י מחלקת QA מחשבים את כל עלות אחזקת מערכת ה QA, המציאות היא שגם עם התוכינתן לא יעגל פינות, עדיין ישנם באגים שמקורים בתכנון לקוי, פונקציונאליות שלא תורגמה נכון, ואין ספור בעיות, כלומר עדיין יהיו בדיקות של מחלקת QA, אשר לא תצמצם את הפעילות במקום למצוא 100 באגים היא תמצא 50, אז העלות לבאג תגדל, יופי! אבל ההוצאה לטיפול בנושא לא תשתנה, למעט התוספת שבשימוש בכלי אם רכשנו. במספרים תמיד אפשר לשחק, השאלה אם יש שינוי מהותי? במה הכלי שונה מהיכולת שמיקרוסופט מציה ב visual studio 2008? במה שונה מהגירסא הקרבה של 2010?