על הדמיון המרתק שבין בדיקת חמץ לבדיקת תוכנה, ומה בכל זאת שונה. האם ניתן למכור באגים, או להפקיר אותם? וכמובן סדר בדיקת הבראנץ' לטובת קהילות הוולידציה.
בכל פעם שמגיעה התקופה הזו שלפני פסח, כשכולם (חוץ ממני ואולי עוד כמה) מנקים כמו מטורפים, מתעוררות בי מחשבות נוגות על עולם בדיקות התוכנה. אני לא בטוח למה, אבל כל הנקיונות האלה שלא באמת מוצאים שום חמץ, לפחות לא חמץ כזה שלא ידענו שהוא כבר שם, ושלא באמת ברור למה צריך לנקות גם מתחת למיטה שאף אחד לא הזיז מאז פסח הקודם, כל זה נורא מזכיר לי את בדיקות התוכנה המקיפות והאינטנסיביות שנהוג להריץ במגזרנו היקר כאן בארץ הקוד-אש. תוך כדי זחילה מתחת לספה בסלון חשבתי לעצמי שאולי יש בין שני תהליכים אלו דברים משותפים הרבה יותר מכפי שנדמה ממבט שטחי.
ראשית, שני סבבי הבדיקות תמיד מתחילים בקול תרועה רמה, בתוספת קוקטייל של אוטומציה, וולידציה ומוטיבציה. שילוב זו מעלה בחכתו מספר באגים / חמצים די אינטואיטיבים, שכל ג'וניור בעל חצי מקלדת היה מוצא, כמו חצאי הסנדוויצ'ים העבשים בתיקים של הילדים. נו, באמת חכמה גדולה.
וכאן מגיעה נקודת הדמיון השנייה בין צוות הבדיקות למצוות הבדיקה. אחרי השלב האינטואיטיבי, פתאום לא מוצאים יותר כלום. לא באגים ולא חמץ. והסיבה לתופעה חשודה זו גם היא זהה באופן חשוד.
בשני המקרים לא מוצאים יותר כלום בדיוק גלל אותה סיבה – הפנס.
זאת אומרת, שאנחנו מחפשים רק מתחת לפנס. הרי לאף אחד אין באמת כח להזיז את מכונת הכביסה כי זה כבד מדי, או לחפש ביסלי בין קוביות הלגו כי זה מסובך מדי, או לחטט בארון הכי פנימי במחסן כי זה מפחיד מדי. אז בודקים במטבח, ובספריות ובארונות, ובשביל שלא נצא עצלנים גם מזיזים קצת את המקרר.
וכך בדיוק מתנהלות בדיקות התוכנה. לאף אחד אין כח לכתוב טסטים למכונת המצבים המסובכת כי זה כבד מדי, או לחפש באגים בין מודולי הקריפטו כי זה מסובך מדי, או לחטט בקוד הכי ישן ולא ברור כי זה מפחיד מדי. אז בודקים את הממשק משתמש, ובספריות שנוגעים בהם כל הזמן, ובשביל שלא נצא עצלנים, מריצים קצת בדיקות סטרס.
עד כאן על הדמיון. אך ישנה נקודה אחת בה יש הבדל משמעותי ביותר בין סבבי הבדיקות. בערב הפסח, הראש היהודי ממציא לנו פטנטים. קודם כל, את כל מה החמצים שלא הספקנו לחסל, לאכול ולהשמין, אך הם יקרים לליבנו אפשר למכור לגוי. ולגבי החמץ שלא הצלחנו לשחזר טרם פרוץ החג, אין בעיה – מפקירים אותו והרי הוא כאילו אינו. בטל ומבוטל.
הכיצד יעלה על הדעת שבתעשייתנו עתירת הקומבינות והתככים, טרם הומצא הפטנט של ביטול הבאגים. את זה שאין מכירת באגים אני יכול להבין, שהרי לבאגים אין ממש שוק, ולמי שדווקא כן מעוניין לקנות באים, ככל הנראה אנחנו לא מעוניינים למכור.
אבל ביטול באגים? הדבר מתבקש מאליו. הרי את החמץ מבטלים ומפקירים, והפקרות אצלנו כבר יש, אז למה לא גם ביטול?
ולכן אני מנצל בימה צנועה זו לקרוא ליצירת פרוסס ביטול הבאגים עם סיום סבב הבדיקות. ומעתה נכריז, שעם תום הבדיקות כל הבאגים שנמצאו יתוקנו, ואלה שלא נמצאו או לא השתחזרו, הרי מרגע זה הם בטלים. אנחנו את שלנו עשינו.
כל באג שיימצא מרגע זה בהגדרה הוא אינו באג, הוא פיצ'ר!
והמהנדס החכם אומר: כל תוכנה שיש עימה בדיקה סופה להתקיים; וכל תוכנה שאין עימה בדיקה אין סופה להתקיים.
מתחת לקו: אם חלק מהפוסט הזה נשמע לכם מוכר, זה בגלל שזה שלושת-רבעי מחזור שכתבתי לכבוד פסח לפני חמש שנים בדיוק.
הבלוג קצת התפתח, השפה מעט השתנתה, וגם סידור היי-טק נולד ועוד מושגים רבים. אבל הרעיונות והבעיות נשארו אותו דבר…
דבר אחד לא הצלחתי להבין
איך זחלת מתחת לספה?!
פוסט חד ומהנה שאפשר לקרוא שוב ושוב
אהבתיLiked by 1 person
כשמאיימים מספיק חזק, אפשר לעשות דברים שלא היית מאמין שאתה מסוגל. וחוץ מזה אם אי פעפ תפגוש אותי פנים אל פנים, תבין שזה לא רחוק מהמציאות
אהבתיאהבתי
מענג ומעלה חיוך, כרגיל
אהבתיLiked by 1 person
תודה רבה
אהבתיאהבתי
אחחח… כיף כרגיל.
ופטור בלא כלום אי אפשר, אז כתבת "באים" במקום "באגים", כאן: "ולמי שדווקא כן מעוניין לקנות באים, ככל הנראה אנחנו לא מעוניינים למכור".
תרגיש חופשי למחוק או לבקש ממני לערוך את התגובה אחרי התיקון, אם תרצה.
אהבתיאהבתי