תפריט

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

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

פורסם

  • נתוני בדיקה
  • קריירה
  • ניתוח

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

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

למה אין תבנית תקנית לקורות חיים?

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

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

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

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

אילו וריאציות פריסה צריכות להיכלל בבדיקות ניתוח?

אלה ששוברות את הקשר בין תווית לערך, מפני שהקשר הזה הוא מה שמפענח באמת מחפש.

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

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

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

האם לארגן תבניות לפי תרחיש או לפי מספר?

לפי תרחיש, ובהפרש ניכר.

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

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

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

למה יצירה אקראית הופכת כשלים לבלתי ניתנים לשחזור?

מפני שאי אפשר לחזור על מקרה שלא נרשם.

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

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

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

איך תבניות מתקלקלות עם הזמן?

בשלוש דרכים שקטות, וכולן מתרחשות בלי שאיש יגע בקובץ.

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

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

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

למפתחים: מבנה התבנית והשדות המצופים

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

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

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

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

צעדים הבאים

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

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

המשך קריאה

מדריכים בנושא מחולל קורות חיים ונתוני משרה לבדיקה