יום שישי, 27 ביולי 2018

הטיה קוגניטיבית בהקשר של בדיקות תוכנה: קללת הידע

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

קל לראות את ההטיה הזו בפעולה כשמגיעים למקום עבודה חדש, ומי שאמור להדריך אותך משתמש במושגים "פנימיים" כמו  ראשי-תיבות מתוך הנחה לא מודעת שכולם מכירים את הפירוש. למשל לאחרונה נתקלתי במקום שבשל סיבות היסטוריות המונחים Front End (שבד"כ מקובל שהוא הצד שהלקוח פוגש, הקליינט) וה-Back End (שהוא בד"כ צד השרת) משמשים בצורה הפוכה. לקח לי זמן להבין את זה כיוון שמי שחי את המוצר שנים זה נראה טבעי ולא דורש הסברים.

והקשר לבדיקות?
  1. כולנו יודעים שכשמגיעים בודקים חדשים לארגון, יש להם נטייה למצוא באגים שקימים הרבה זמן במערכת אבל מעולם לא דווחו. כיוון שהבודקים חדשים, אלו כנראה אינם באגים מאוד מורכבים, אלא דברים שסתם היו מונחים שם, מתחננים לקצת תשומי (או כמו שמישהי אמרה לי: "אורח לרגע רואה כל פגע"), ואנחנו ראינו אותם כל הזמן אבל לא ירד האסימון (מה זה בכלל אסימון?) שיש כאן באג.
    הסיבה אינה שאנו בודקים גרועים, אלא שאנו לא מודעים לחולשה הזו.
    מה עושים למזעור התופעה? קודם כל לנסות לשפר את עצמנו: מודעות לכך (לא עכשיו, בזמן הבדיקות :) ) כבר תפחית את הבעיה. מעבר לזאת חיקוי של משתמשים ספציפיים (אנחנו מנסים לחקות שימוש במוצר של אנשים שונים המאופיינים מראש, למשל אני נערה שמאוד מחוברת לטכנולוגיה, או גבר מבוגר וכד'), בדיקות חקרניות (Exploratory Testing - אני מניח שאתם יודעים מה זה ;) ) - בדיקות כאלה עשויות לרענן את נקודת המבט שלנו. דבר שני (וכדאי לשלב) זה לבקש מאנשים בארגון שלא חשופים למוצר ביום-יום לעבוד עליו ולתת את ההתרשמות שלהם, אותו דבר לגבי בודקים של מוצר אחר בארגון וכד'.
  2. המחשבה של מי שבקיא מאוד בתחום מסוים שאנשים חדשים בתחום יודעים יותר ממה שהם יודעים בפועל; ואז מי שבפרויקט שנה לא חושב לומר לבודק שחדש בפרויקט שאנחנו בכלל לא תומכים בפיירפוקס ספציפית במוצר הזה (ואז הוא בודק יום שלם, מדווח על 7 באגים, והכל לשווא).
    זה נכון גם לבודק חדש בתחום המגיע לצוות חזק והם מניחים שהוא יודע יותר ממה שבפועל, גם אם הם יודעים שהוא חדש בתחום, מה שגורם לתקופת ההסתגלות שלו לגדול.
    אגב זה נכון גם בתור מראיין. אנחנו מניחים שאם הבחור שלפנינו עובד 5 שנים בבדיקות ווב הוא יודע מה זה "קוקי". מניסיוני, קל להניח את זה אבל זה בכלל לא נכון בהכרח.
    כאן יכולים לעזור מודעות, אווירה של פתיחות לשאלות של הבחור החדש, ולנסות להסביר כל דבר ממש מהתחלה. לפעמים לא נעים לנו, אבל תמיד אפשר לשאול אם הנושא מוכר או לא.

רשומות פופולריות