יום שלישי, 29 בינואר 2008

למה צריך בדיקות תוכנה

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

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

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

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

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

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

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

2 comments:

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

    השבמחק
  2. לכל אחד יש אחראיות משלו. מפתחים אחראים על בדיקות יחידה בפרט ובודקים אחראים על כל המערכת.לפי מיטב ידיעתי גם גורמים שמעורבים בפרויקט אחראים עליו.

    אלכס

    השבמחק

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