מבוא להנדסת תוכנה אימות ותקפות - 1 אימות ובדיקות Verification & Testing מקורות: S. R. Schach: Chapter 6 R. S. Pressman: Chapter 16-17 ד. גלין ו-ז. בלובבנד,

Slides:



Advertisements
Similar presentations
Object Oriented 33 MCSD DORON AMIR
Advertisements

ממיבחניםC שאלות ++.
תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
בתרגול הקודם הורשה: –ניתן להרחיב רק מחלקה אחת –כל מה שלא private – עובר בהורשה –המילה השמורה super –יצירת היררכיה –Object היא שורש ההיררכיה –דריסה אופרטור.
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
© , ד"ר עמיר תומר שיטות בהנדסת תוכנה (234321) אודות הקורס - 1 שיטות בהנדסת תוכנה Introduction to Software Engineering מרצה: פרופ’ שמואל.
מבוא Introduction מקורות: S. R. Schach: Chapters 1-2
היכרות עם אקסל 1. 2 נושאי המפגש היכרות עם אקסל – אלכסוני הקסם שימושים בהוראה: מחשבון סודי ופעילות לחנוכה שימושים נוספים: ממוצע.
תמחיר תהליך. מערכת תמחיר תהליך מערכת זו נועדה לספק מידע, כמו מערכת תמחיר הזמנה, על עלות המוצרים שיוצרו בתקופה ועל עלות המוצרים שבתהליך הייצור בסוף התקופה.
מודלים של מחזור חיי תוכנה Software Life-Cycle Models
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
משטר דינמי המשך – © Dima Elenbogen :55 חידה שכדאי לעבור עליה: 2011/ho/WCFiles/%D7%97%D7%99%D7%93%D7%94%20%D7%A2%D7%9D%20%D7%91%D7%95%D7%A0%D7%95%D7%A1.doc.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
ספר סקיצות ספר סקיצות קלאסי עם יכולות ממוחשבות. ספר סקיצות רגיל  יתרונות : נוח לנשיאה, מהיר ונוח לעבודה, עמיד.  חסרונות : הכול ידני, קשה לקבל דיוקים.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מבוא להנדסת תוכנה דרישות - 1 הגדרת דרישות וניהולן Requirements Definition and Management.
© , ד"ר עמיר תומר מבוא להנדסת תוכנה קידוד ובדיקות יחידה - 1 קידוד ובדיקות יחידה Coding and Unit Testing (CUT) מקורות: S. R. Schach: Chapter 13.
Robust Characterization of Polynomials 1 Robust Characterization of polynomials “IT DOES NOT MAKE SENCE!” מרצים : אורי גרסטן יניב עזריה Ronitt Rubinfeld.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מרצה: פרופסור דורון פלד
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
שאילת שאלות שאלת חקר המפתח למנעול 1. שאילת שאלות – שאלת חקר מה ניתן לשנות ? :  בתנאים : טמפ ' או לחץ או הכלים, או הציוד  בחומרים : איכות או כמות או.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
© , ד"ר עמיר תומר מבוא להנדסת תוכנה קידוד ובדיקות יחידה - 1 קידוד ובדיקות יחידה Coding and Unit Testing (CUT) מקורות: S. R. Schach: Chapter 13.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
הבטחת איכות מבוא להנדסת תוכנה
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
משחק מכף לכף כבסיס לסיעור מוחין משותף אביגיל אורן תמי זייפרט דוד מיודוסר
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
Galileo Navigation System Software Systems lab Software Systems lab סמסטר חורף תשס " ט סמסטר חורף תשס " ט מנחה: ולדימיר זדורנוב משה חיות מבצעים: גליה סימנובסקי.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
© , ד"ר עמיר תומר מבוא להנדסת תוכנה תחזוקה - 1 תחזוקה והנדסה-מחדש Maintenance and Reengineering מקורות: S. R. Schach: Chapter 15 R. S. Pressman:
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
יחס סדר חלקי.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
© , ד"ר עמיר תומר שיטות בהנדסת תוכנה (234321) אודות הקורס - 1 שיטות בהנדסת תוכנה Introduction to Software Engineering מרצה : פרופ ’ שמואל.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
בקרה תומר באום ב"הב"ה. סוגי בקרה חוג פתוח Open-loop control : אנו מכוונים את הרובוט למצב הבא שהוא אמור להיות בו לפי מודל מסוים, כמו שעשינו בקינמטיקה הפוכה.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא לחשבונאות ניהולית. היחס בין חשבונאות פיננסית לניהולית פיננסיתניהולית פנימיים מותאמים לארגון בחלקים מסוימים יכול להיות : תחזית כמותי או איכותי מוניטרי.
יום עיון –פרויקט חקר מדעי במסגרת תחרות שישים שנות תעשייה כימית בישראל ד"ר מירי קסנר ברוכים הבאים 1 ביולי 2008 מכון ויצמן למדע, רחובות.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk 1.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Computer Architecture and Assembly Language
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
תכן UML in Design מקורות: S. R. Schach: Chapter 12
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
בעיות נוספות ב-NPC.
Shell Scripts בסביבת UNIX
תוכנה 1 תרגול 13 – סיכום.
Computer Architecture and Assembly Language
Presentation transcript:

מבוא להנדסת תוכנה אימות ותקפות - 1 אימות ובדיקות Verification & Testing מקורות: S. R. Schach: Chapter 6 R. S. Pressman: Chapter ד. גלין ו-ז. בלובבנד, הבטחת איכות תוכנה, “אופוס”, 1995

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

מבוא להנדסת תוכנה אימות ותקפות - 3 מה עומד על הפרק? אימות התהליךאימות התהליך –בדיקת הצעדים והשלבים במהלך הפיתוח מפתחיםנכון –האם אנו מפתחים נכון את המוצר? בדיקותבדיקות –שיטות בדיקה ללא הרצה –תיכנון בדיקת המוצר המוצר הנכון –האם אנו מפתחים את המוצר הנכון ? –עקרונות לבדיקת תוכנה –בדיקתיות (testability) על אופן ביצוע הבדיקות נדבר בפרק הבא...

מבוא להנדסת תוכנה אימות ותקפות - 4 איכות התוכנה Software Quality איכות  “ וורטואוזייות"איכות  “ וורטואוזייות" –חדשנות, אלגנטיות אישית - תכונות לא רלוונטיות איכות = מידת העמידה בדרישותאיכות = מידת העמידה בדרישות –דרישות פונקציונליות –דרישות טכנולוגיות –דרישות תקציב –דרישות זמן הבטחת איכות התוכנה (SQA)הבטחת איכות התוכנה (SQA) –הרבה מעבר לבדיקות –עצמאות ניהולית קבוצת פיתוח קבוצת הא”ת

מבוא להנדסת תוכנה אימות ותקפות - 5 אימות (Verification) בדיקות תוך כדי התהליךבדיקות תוך כדי התהליך –נועדו לוודא ששלב הסתיים כראוי בדיקות ללא הרצה (non-executional tests)בדיקות ללא הרצה (non-executional tests) –סקירה (walkthrough) –ביקורת (inspection) –סקר עמיתים (peer review) אימות אוטומטיאימות אוטומטי –הוכחת נכונות שילוב בדיקות במימוש המערכת (assert)שילוב בדיקות במימוש המערכת (assert)

מבוא להנדסת תוכנה אימות ותקפות - 6 סריקה (structured walkthrough ) עיון מפורט במוצר התוכנה, שורה שורה, עם מצגתעיון מפורט במוצר התוכנה, שורה שורה, עם מצגת –מפרט דרישות –תכן –קוד הרוב: מקבוצת הא"ת (SQA) + מקבוצת הפיתוחהרוב: מקבוצת הא"ת (SQA) + מקבוצת הפיתוח מטרות הסריקהמטרות הסריקה –גילוי שגיאות (כולל הפרת כללי תיכון/תכנות) ורישומן –בחינת חלופות שהוצעו –מתן משוב לצוות הפיתוח, בלי חלוקת ציונים –פורום לדיון ולהצעות כלי פיתוח, טכניקות, נסיון ביישום... הסריקה נועדה לאיתור שגיאות, ולא לתיקונן!

מבוא להנדסת תוכנה אימות ותקפות - 7 ביקורת (inspection) סקר (review) בעל כיסוי רחב יותר מאשר סריקהסקר (review) בעל כיסוי רחב יותר מאשר סריקה חמישה שלביםחמישה שלבים –מבוא (overview) מוצג ע”י אחד מהצוות, ואחריו מופץ המסמך למשתתפים –הכנה (preparation) המשתתפים מנסים להבין את פרטי המסמך נעזרים ברשימת של סוגי בעיות שכיחות מביקורות אחרות –ביקורת (inspection) מעבר יסודי על המסמך, למטרת איתור שגיאות (לא לתיקונן!) דו”ח כתוב של הממצאים מופץ ע”י מנחה הסקר (moderator) ביום שלמחרת –“שיפוץ” (rework) כותב המסמך מתקן את הטעון תיקון, על פי הערות הביקורת –מעקב (follow-up) באחריות מנחה הסקר לוודא שכל הטעון תיקון (או הבהרה) - אכן טופל (Fagan, 1976)

מבוא להנדסת תוכנה אימות ותקפות - 8 תקפות (Validation) בדיקת המוצר, או חלקיובדיקת המוצר, או חלקיו בדיקות בהרצה (execution-based testing)בדיקות בהרצה (execution-based testing) –מה בודקים? –עקרונות בדיקה רגע, רגע.... את הבדיקות עושים בסוף, אז למה לעסוק בזה עכשיו? כי יש להתאים את הניתוח, התכן והמימוש כך שאפשר יהיה בסוף לבדוק את הדרישות !

מבוא להנדסת תוכנה אימות ותקפות - 9 מה בודקים? תועלתתועלת –האם התוכנה עונה על צרכי הלקוח? נוחות השימוש פונקציות שימושיות יחס עלות/תועלת (cost-effectiveness) אמינותאמינות –תדירות התקלות וחומרתן זמן ממוצע בין תקלות –(MTBF = Mean Time Between Failures) זמן ממוצע לתקון –(MTTR = Mean Time To Repair) מהו הזמן (והמחיר!!!) הנדרש לתיקון תוצאות הכשל?

מבוא להנדסת תוכנה אימות ותקפות - 10 מה עוד בודקים? חוסן (robustness)חוסן (robustness) –טווח תנאי הפעולה –אפשרות לתוצאות בלתי-צפויות עם קלט חוקי –השפעת קלט לא חוקי ביצועים (performance)ביצועים (performance) –מידת העמידה באילוצים מקום זמן –תוכנת זמן-אמת

מבוא להנדסת תוכנה אימות ותקפות - 11 עקרונות לבדיקת תוכנה (1) עקיבות לדרישותעקיבות לדרישות –כשל = אי-עמידה בדרישות. אילו דרישות? תכנון מראשתכנון מראש –ניתן להתחיל לתכנן בדיקות כבר משלב הדרישות ריכוז מאמץ הבדיקה בחלקים נבחריםריכוז מאמץ הבדיקה בחלקים נבחרים – 80% מהשגיאות נמצאות ב- %20 מהמודולים כיוון הבדיקות מ”קטן” ל”גדול”כיוון הבדיקות מ”קטן” ל”גדול” –מתחילים בבדיקת מודולים, מסיימים בבדיקת מערכת (Davis, 1995)

מבוא להנדסת תוכנה אימות ותקפות - 12 עקרונות לבדיקת תוכנה (2) אין אפשרות לבדיקה ממצה (exhaustive testing)אין אפשרות לבדיקה ממצה (exhaustive testing) –המספר הכולל של מעברים/מצבים הוא אקספוננציאלי למרות זאת, אפשר לכסות בצורה מדוייקת את לוגיקת התכנית ולוודא קיום כל תנאי התכן הפרוצדורלי. בדיקה ראשונית ע"י המפתח (משולב עם קידוד)בדיקה ראשונית ע"י המפתח (משולב עם קידוד) בדיקה מקיפה ע”י גורם חיצוניבדיקה מקיפה ע”י גורם חיצוני –להגברת היעילות כלומר, הגדלת ההסתברות למציאת שגיאות –אדם אינו יכול לבדוק ביעילות את עצמו

מבוא להנדסת תוכנה אימות ותקפות - 13 בדיקתיות (Testability) המשמעותהמשמעות –עד כמה ניתן לבדוק את התוכנה בקלות –עד כמה אוסף נתון של בדיקות מכסה את המוצר –עד כמה ניתן לבדוק (ולתקן!) מערכת בזמן שימוש מבצעי כיצד מבטיחים את בדיקתיות התוכנה?כיצד מבטיחים את בדיקתיות התוכנה? –שומרים על מספר כללים במהלך הפיתוח –דרושות שקיפות ויכולת פירוק

מבוא להנדסת תוכנה אימות ותקפות - 14 שקיפות (Observability) “What you see is what you test” פלט שונה מיוצר עבור כל קלטפלט שונה מיוצר עבור כל קלט מצבים ומשתני מערכת הינם גלויים או ברי-תשאול (queriable) תוך כדי ריצהמצבים ומשתני מערכת הינם גלויים או ברי-תשאול (queriable) תוך כדי ריצה מצבי-עבר וערכים היסטוריים של משתני מערכת הינם גלויים או ברי-תשאולמצבי-עבר וערכים היסטוריים של משתני מערכת הינם גלויים או ברי-תשאול –כגון transaction logs כל הגורמים המשפיעים על הפלט הינם גלוייםכל הגורמים המשפיעים על הפלט הינם גלויים פלט לא תקין - מזוהה בקלותפלט לא תקין - מזוהה בקלות שגיאות פנימיות מתגלות באופן אוטומטי ע”י מנגנוני בדיקה עצמיותשגיאות פנימיות מתגלות באופן אוטומטי ע”י מנגנוני בדיקה עצמיות קיימת נגישות לקוד המקורקיימת נגישות לקוד המקור

מבוא להנדסת תוכנה אימות ותקפות - 15 בעית השקיפות ב-OO חלק מהמצב אינו גלויחלק מהמצב אינו גלוי פולימורפיזם => אותו קטע קוד וקריאות מביאים להפעלה של מטודות שונותפולימורפיזם => אותו קטע קוד וקריאות מביאים להפעלה של מטודות שונות מוסיפים מטודות לצורך בדיקהמוסיפים מטודות לצורך בדיקה מוסיפים בדיקות בתוך מטודות קיימותמוסיפים בדיקות בתוך מטודות קיימות ניתן להוסיף "חלקי בדיקה" בעזרת דגלים, או לעבוד עם aspects המוכרזים בנפרד (AOP)ניתן להוסיף "חלקי בדיקה" בעזרת דגלים, או לעבוד עם aspects המוכרזים בנפרד (AOP) בעיה: הקוד הנבדק שונה מהקוד "האמיתי"בעיה: הקוד הנבדק שונה מהקוד "האמיתי" –תופעה: שגיאות צצות אחרי חיסור התוספות –עקרון אי-הוודאות של Heisenberg

מבוא להנדסת תוכנה אימות ותקפות - 16 יכולת פירוק (Decomposability) יכולת פירוק (Decomposability) “By controlling the scope of testing, we can more quickly isolate problems and perform smarter retesting” –מערכת התוכנה בנויה ממודולים עצמאיים –ניתן לבדוק את מודולי התוכנה באופן עצמאי בעיה ב-OO : קשה לבודד את הבדיקה של מחלקהבעיה ב-OO : קשה לבודד את הבדיקה של מחלקה נראה דיון בהמשך:נראה דיון בהמשך: – stubs ובדיקה top-down – drivers ובדיקה bottom-up כיצד נדאג לקיום תנאיי קדם להפעלת מטודה?כיצד נדאג לקיום תנאיי קדם להפעלת מטודה? –נבדוק לפני קריאה מחוץ למחלקה ? בעייתי.... –נבדוק אחרי הקריאה, בתחילת המטודה ? כן!!

מבוא להנדסת תוכנה אימות ותקפות - 17 טכניקות לבדיקה קופסה לבנה (white box, glass box)קופסה לבנה (white box, glass box) –בחינת המבנה הפנימי של המודול: נראה בהמשך מסלולי החישוב נכונות החישובים נכונות ההחלטות הלוגיות קופסה שחורה (black box)קופסה שחורה (black box) –בחינת התפקוד יחסית למפרט, בלי "ידע פנימי" נכונות הפלט מהירות התגובה נתוני בחינה (test data)נתוני בחינה (test data) –קבצי נתונים לבדיקת המקרים השונים

מבוא להנדסת תוכנה אימות ותקפות - 18 עקרונות קופסה שחורה בדיקות מהמפרט ו- Use Case או sequence diagramבדיקות מהמפרט ו- Use Case או sequence diagram ניתן לתיכנון אחרי הגדרת המפרט או מה-UMLניתן לתיכנון אחרי הגדרת המפרט או מה-UML יש לקשור בדיקה עם דרישה או תרחיש, ולהיפךיש לקשור בדיקה עם דרישה או תרחיש, ולהיפך חייבים להגדיר "שקילות" בין בדיקות, ולבדוק מקרים מכל מחלקת שקילות, ועל יד הגבולותחייבים להגדיר "שקילות" בין בדיקות, ולבדוק מקרים מכל מחלקת שקילות, ועל יד הגבולות דוגמה: בדרישות x: דוגמה: בדרישות x: –לבדוק עם x = 3-, 0, 1, 947, 15000, היום, בד"כ בדיקה אינה רק הכנת קובץ נתוניםהיום, בד"כ בדיקה אינה רק הכנת קובץ נתונים –דרוש script או נוהל אנושי דרך GUI

מבוא להנדסת תוכנה אימות ותקפות - 19 המאפיינים של בדיקה “טובה” הסתברות גבוהה למציאת שגיאותהסתברות גבוהה למציאת שגיאות –הבודק צריך להבין היטב את התוכנה ולנסות לפתח תמונה מנטלית של אופני הכשל נחיצותנחיצות –אין בדיקות מיותרות –לכל בדיקה יש מטרה שונה –חפיפה נמוכה בין האלמנטים הנבדקים בכל בדיקה משובחות (“best of breed”)משובחות (“best of breed”) –אם יש כמה בדיקות אפשריות (מבחינת מטרה, זמן ומשאבים) - יש לבחור את זו בעלת כושר הכיסוי הגבוה ביותר. לא פשוטה מדי, לא מורכבת מדילא פשוטה מדי, לא מורכבת מדי –אפשר, לעיתים, לאחד כמה בדיקות לבדיקה אחת, אך מבלי ליצור סיבוכיות גבוהה מדי (Kaner, Falk & Nguyen, 1994)

מבוא להנדסת תוכנה אימות ותקפות - 20 סיום הבדיקות מתי מסתיימות הבדיקות?מתי מסתיימות הבדיקות? –כאשר בוצעו כל הבדיקות, על פי התכנית המקורית –כאשר הוכח שהתוכנה עומדת בדרישות למשל, כאשר הזמן בין תקלות עולה מעל לערך נתון –על פי ההשגים בגילוי השגיאות קצב השגיאות יורד מתחת לערך נתון התגלו %X מהשגיאות –על פי אומדן סטטיסטי, בהתאם לקצב הגילוי –על ידי גילוי שגיאות “שתולות” –השוואה בין שני צוותי בדיקה בלתי תלויים –כאשר נגמרו האמצעים (זמן, כסף) יש להגדיר מראש מהם התנאים לסיום הבדיקות!

מבוא להנדסת תוכנה אימות ותקפות - 21 תוכנית בדיקות –Test Plan חלק מתכנון – ולפעמים מהדרישותחלק מתכנון – ולפעמים מהדרישות מי יבצע? המפתח או קבוצת הבטחת איכות?מי יבצע? המפתח או קבוצת הבטחת איכות? משימות בדיקה:משימות בדיקה: –סריקות, ותכן שיאפשר בדיקה –בדיקות קופסה שחורה, ליחידה –בדיקות קופסה לבנה, סוג הכיסוי, כלים ונוהלים –בדיקות שילוב –בדיקות המוצר, בדיקות קבלה (alpha, beta) –תנאיי סיום לבדיקות

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

מבוא להנדסת תוכנה אימות ותקפות - 23 וכעת נעבור ל... קידוד ובדיקות יחידה