הכונה בהגדרות הרמה הגבוהה ביותר.*
חשוב להבין שלכל שלב בתהליך הפיתוח יש פעילות בדיקות חשובה. כפי שראינו הבדיקות מתחילות בשלב הדרישות: האם יש לנו דרישות ברורות ומקיפות וכד', מה שמוזכר בתרשים הפיתוח.
יש שני שלבים של בדיקות תוכנה:
ולידציה - בדיקה שהמוצר אכן תואם את ציפיות הלקוח ושהדרישות היו נכונות מלכתחילה.
וריפיקציה - בדיקה שהמוצר נבנה לפי הדרישות, מה שמערב הרצה פיזית של המוצר.
*הרשומה עודכנה אחרי שהשתכנעתי מההערות למטה לגבי המינוח המקובל כיום (תודה למגיבים).
חשוב להבין שלכל שלב בתהליך הפיתוח יש פעילות בדיקות חשובה. כפי שראינו הבדיקות מתחילות בשלב הדרישות: האם יש לנו דרישות ברורות ומקיפות וכד', מה שמוזכר בתרשים הפיתוח.
יש שני שלבים של בדיקות תוכנה:
ולידציה - בדיקה שהמוצר אכן תואם את ציפיות הלקוח ושהדרישות היו נכונות מלכתחילה.
וריפיקציה - בדיקה שהמוצר נבנה לפי הדרישות, מה שמערב הרצה פיזית של המוצר.
*הרשומה עודכנה אחרי שהשתכנעתי מההערות למטה לגבי המינוח המקובל כיום (תודה למגיבים).
ההגדרה הנ"ל שגוייה.
השבמחקValidation= בדיקה המוודאת כי המוצר עונה לצרכים העיסקיים ולצרכי הלקוח.
(אף אם לא הוגדרו כראוי בדרישות המערכת)
Verification= בדיקה המוודאת כי המוצר עונה לדרישות שהוגדרו לו.
קובי הלפרין
כמה דברים:
השבמחקא. תודה עבור התגובה הזו ובכלל!
ב. אני לא הייתי נותן הערות פסקניות בנושאי הגדרות כמו "ההגדרה הנ"ל שגויה" כי כל ארגון מגדיר אחרת.
ג. אבל אם בכ"ז אתה אומר שזה שגוי, הרי יש מערכת תקינה, והרלונטית היא ה-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
ההערה של אנונימי (חבל רק שאתה כל כך אנונימי...) לגבי Verification ו- Validation היא מדוייקת והיא המקובלת היום, לפחות בתחום ה- Software Testing.
השבמחקכאנקדוטה, יש בתחום הגדרה מאוד חביבה:
Validation
Make sure you build the right product
Verification
Make sure you build the product right
ההערות הנ"ל הן נכונות.
השבמחקהמקובל היום הוא שבדיקות אימות (verification)= בדיקות המוודאות שהמערכת עומדת בדרישות
בדיקות תיקוף (validation)= בדיקות המוודאות שהמערכת תפעל כנדרש בסביבת היצור.
מיכל
מיכל, אני חושב שיש בלבול בהגדרה כפי שהצגת אותה:
השבמחקקובי אומר (ואני חוזר בי ומסכים לזה):
Validation= בדיקה המוודאת כי המוצר עונה לצרכים העיסקיים ולצרכי הלקוח
את אומרת:
(validation)= בדיקות המוודאות שהמערכת תפעל כנדרש בסביבת היצור.
זה לא נראה לי אותו דבר...
דורון שלום,
השבמחקלמעשה אני מבחינה בין 4 מושגים:
בדיקות אימות (verification)= בדיקות המוודאות שהמערכת עומדת בדרישות.
בדיקות תיקוף (validation)= בדיקות המוודאות שהמערכת תפעל כנדרש בסביבת היצור.
בדיקות קבלה (Acceptance Test)= בדיקות שנועדו לוודא עמידה בדרישות העסקיות והתאמה לצורכי המשתמש. בדיקות אלה מהוות חלק מבדיקות התיקוף.
בדיקות מסירה (Delivery Test)= בדיקות מע' ואינטגרציה המתבססות על מסמכי האפיון ונועדו להבטיח כי המערכת מתפקדת מההיבט הפונקציונאלי, בהתאם להגדרה באפיון. בדיקות אלה מהוות חלק מבדיקות האימות.
מיכל
שלום רב,
השבמחקיש לי שאלה-
האם נכון להגדיר שבדיקות קבלה נכתבות על סמך מסמכי דרישות בעוד שבדיקות מסירה נכתבות על סמך האפיון?
אני מכיר הגדרה נוספת לפיה בדיקות קבלה הן יותר בדיקות עסקיות ובדיקות מסירה הן יותר בדיקות GUI, מסכים וכו'. לפעמים באפיון מוגדרים גם תהליכים עסקיים- אז האם אלה בדיקות מסירה או קבלה?
האם באמת יש הפרדה ברורה בין מסירה לקבלה על סמך המושגים האלה?
אודה לשמוע את חוות דעתך בנידון.
ירון
קודם צריך לתאם מונחים:
השבמחקבדיקות מסירה - כלל הבדיקות שעושה החברה המפתחת.
בדיקות קבלה - נעשות ע"י הלקוח.
האם אלו ההגדרות שאתה מכיר?
אני מניח שרוב בדיקות הקבלה נכתבות לפי מסמכי הדרישות שמזמין המוצר כתב, והן ממילא כוללות הגדרות עסקיות.
בדיקות מסירה, בין אם הן כלל הבדיקות או רק הבדיקות הסופיות, חייבות לכלול את כל ההיבטים, או בטרמינולוגיה שלמעלה: בדיקות קבלה יכללו ולידציה של הדרישות ובדיקות מסירה גם ולידציה וגם וריפיקציה.
מצד שני הלקוח עשוי (או עלול :) ) לכלול בדיקות וריפיקציה.
הערה כללית שחשוב להבין: יש חשיבות בהבחנה בין המושגים למעלה ובכלל, אבל בפועל המציאות היא זו שמכתיבה את הפעילויות.
היי דורון,
השבמחקתוכל לתת לי הגדרה מדוייקת למונח בדיקות קופסא אפורה?