בדיקות יחידה הן ספורט קבוצתי

כתבה שלישית ואחרונה בסדרה

02/12/2013 17:24

מאת: גיל זילברפלד, מנהל מוצר Typemock

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

בדומה מאוד לספורט, השאלה הנשאלת היא האם בדיקות יחידה הן משהו בר-קיימא (Sustainable)? כמו שם, גם כאן התשובה היא: זה תלוי.

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

בוא נניח שהחלטת לכתוב את הקוד שלך עם בדיקות יחידה, אבל שאר חברי הקבוצה מרגישים שמדובר בבזבוז זמן. בכל זאת, אתה מתחיל לכתוב והקוד עובר את המבחנים. משם אתה עובר לבדיקות אינטגרציה (Integration tests). האינטגרציה לוקחת זמן, אתה ושאר חברי הקבוצה עושים את השינויים והתיקונים הנדרשים – והכול עובד. טוב, כמעט הכול. בדיקות היחידה שביצעת נכשלות בגלל השינויים שנעשו בשלב האינטגרציה. בוא נדמיין לרגע מה קורה כאשר הצוות שלך מגלה את זה:

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

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

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

לכתבה הראשונה בסדרה: על ההבדל בין בדיקות יחידה (Unit tests) לבדיקות אינטגרציה (Integration tests)

לכתבה השנייה בסדרה: תפסיקו לבזבז זמן על Debugging

אודות הכותב
גיל זילברפלד
הוא מנהל המוצר של חברת Typemock – The Unit Testing Company. בזמנו החופשי (למרות שאין לו הרבה ממנו) הוא מרצה וכותב על Agile, בדיקות יחידה (Unit testing) ו-TDD, ולפעמים גם חוטא בהרצאות על עניינים עסקיים ושיווקיים, הקשורים לעולם ההיי-טק ופיתוח התוכנה.

תגובות

(0)

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

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

אירועים קרובים