יום שלישי, 5 בפברואר 2008

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

הכונה בהגדרות הרמה הגבוהה ביותר.*

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

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

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

9 תגובות:

  1. ההגדרה הנ"ל שגוייה.

    Validation= בדיקה המוודאת כי המוצר עונה לצרכים העיסקיים ולצרכי הלקוח.
    (אף אם לא הוגדרו כראוי בדרישות המערכת)
    Verification= בדיקה המוודאת כי המוצר עונה לדרישות שהוגדרו לו.

    קובי הלפרין

    השבמחק
  2. כמה דברים:
    א. תודה עבור התגובה הזו ובכלל!
    ב. אני לא הייתי נותן הערות פסקניות בנושאי הגדרות כמו "ההגדרה הנ"ל שגויה" כי כל ארגון מגדיר אחרת.
    ג. אבל אם בכ"ז אתה אומר שזה שגוי, הרי יש מערכת תקינה, והרלונטית היא ה-IEEE. ציטוט:
    "Validation is the process of evaluating a system or component during or at the end of the development process... Validation normally involves executing the actual program"
    לעומת זאת Verification: "do we have clear and complete requirements? is there a good design?..."
    מה שאתה קורא ולידציה זה חשוב, ולחק ומהוריפיקציה.
    כל זה מהספר:
    Software testing in the real world by Edward Kit

    השבמחק
  3. ההערה של אנונימי (חבל רק שאתה כל כך אנונימי...) לגבי Verification ו- Validation היא מדוייקת והיא המקובלת היום, לפחות בתחום ה- Software Testing.

    כאנקדוטה, יש בתחום הגדרה מאוד חביבה:
    Validation
    Make sure you build the right product
    Verification
    Make sure you build the product right

    השבמחק
  4. ההערות הנ"ל הן נכונות.
    המקובל היום הוא שבדיקות אימות (verification)= בדיקות המוודאות שהמערכת עומדת בדרישות
    בדיקות תיקוף (validation)= בדיקות המוודאות שהמערכת תפעל כנדרש בסביבת היצור.

    מיכל

    השבמחק
  5. מיכל, אני חושב שיש בלבול בהגדרה כפי שהצגת אותה:
    קובי אומר (ואני חוזר בי ומסכים לזה):
    Validation= בדיקה המוודאת כי המוצר עונה לצרכים העיסקיים ולצרכי הלקוח
    את אומרת:
    (validation)= בדיקות המוודאות שהמערכת תפעל כנדרש בסביבת היצור.
    זה לא נראה לי אותו דבר...

    השבמחק
  6. דורון שלום,
    למעשה אני מבחינה בין 4 מושגים:
    בדיקות אימות (verification)= בדיקות המוודאות שהמערכת עומדת בדרישות.
    בדיקות תיקוף (validation)= בדיקות המוודאות שהמערכת תפעל כנדרש בסביבת היצור.
    בדיקות קבלה (Acceptance Test)= בדיקות שנועדו לוודא עמידה בדרישות העסקיות והתאמה לצורכי המשתמש. בדיקות אלה מהוות חלק מבדיקות התיקוף.
    בדיקות מסירה (Delivery Test)= בדיקות מע' ואינטגרציה המתבססות על מסמכי האפיון ונועדו להבטיח כי המערכת מתפקדת מההיבט הפונקציונאלי, בהתאם להגדרה באפיון. בדיקות אלה מהוות חלק מבדיקות האימות.

    מיכל

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

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

    השבמחק
  9. היי דורון,
    תוכל לתת לי הגדרה מדוייקת למונח בדיקות קופסא אפורה?

    השבמחק

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