PracticU

בדיקות קופסה לבנה - הסבר מקיף

בלי כתוביותעם כתוביות
PracticU › קורס הכנה למבחן ההסמכה ISTQB › בדיקות קופסה לבנה - הסבר מקיף
מילון מושגים:
קופסה לבנה - גישת בדיקה שבה הבודק מכיר את הקוד הפנימי ומבסס עליו את הבדיקות.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
בדיקות אוטומטיות - הרצת בדיקות תוכנה באמצעות סקריפטים וכלים, במקום בדיקה ידנית, כדי לחסוך זמן ולהגדיל כיסוי.
בדיקות ידניות - בדיקת תוכנה שמבצע אדם ידנית, בלי סקריפטים אוטומטיים, לפי תרחישים ותצפית על ההתנהגות.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.

בדיקות קופסה לבנה - הסבר מקיף
הסרטון פותח את קטגוריית הקופסה הלבנה, שבודקת את המבנה הפנימי של המערכת: הקוד, המתודות והשאילתות.
טכניקות קופסה לבנה
1. כיסוי משפטים (statement coverage): בודקים שכל משפט קוד מופעל לפחות פעם אחת. הכיסוי נמדד באחוזים, לפי המשפטים שהופעלו מתוך כלל המשפטים בקוד.
2. כיסוי החלטות (decision coverage): לכל נקודת החלטה, כמו if, צריך להתקבל true לפחות פעם אחת ו-false לפחות פעם אחת. במשפט case מכסים כל אפשרות, כולל ברירת המחדל.
ההבדל ביניהן
1. כיסוי משפטים לא מבטיח שכל הלוגיקה נבדקה. למשל if בלי else מבצע משהו רק ב-true, ובדיקה אחת יכולה לכסות את כל השורות בלי לבדוק את ה-false.
2. כיסוי החלטות מבטיח 100% כיסוי משפטים, אבל לא להפך.
פירמידת הבדיקות
בדיקות רכיב (unit) הן הרבה, ככל שעולים לשלבי האינטגרציה והמערכת יש פחות בדיקות, ובקצה נמצאות בדיקות מקצה לקצה, הפחות כמותיות. הרוב מבוסס אוטומציה, ורק בשכבה העליונה יש בדיקות ידניות בממשק המשתמש.
אחרי הסרטון אפשר לבחור בין כיסוי משפטים לכיסוי החלטות, ולהסביר מה כל אחד מבטיח.
השיעור הבא בקורס: טכניקות בדיקה מבוססות ניסיון

פרקי ההרצאה: בדיקות קופסה לבנה - הסבר מקיף

  1. 00:00

    מבוא: בדיקות קופסה לבנה לפי מבנה הקוד

  2. 01:23

    כיסוי משפטים: כל פקודה מופעלת

  3. 02:18

    בדיקה מקבילה לכתיבת הקוד

  4. 02:54

    כיסוי החלטות: תוצאות true ו-false

  5. 03:31

    משפטי case ואפשרויות בחירה מרובות

  6. 04:28

    השוואה: כיסוי משפטים מול כיסוי החלטות

  7. 05:20

    כיסוי החלטות מכסה גם כיסוי משפטים

תמלול ההרצאה: בדיקות קופסה לבנה - הסבר מקיף

הטקסט המלא של הדקות הראשונות בהרצאה «בדיקות קופסה לבנה - הסבר מקיף» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:03

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

  2. 00:19

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

  3. 00:37

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

  4. 00:51

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

  5. 01:08

    אולם שתי הטכניקות שיוצגו בפרק זה מבוססות קוד והשימוש בהן נפוץ בעיקר ברמת בדיקות הרכיב Component Testing או Unit Testing. ישנן טכניקות בדיקה מתקדמות יותר שנמצאות בשימוש במערכות קריטיות Safety Critical או Mission Critical או בסביבות שדורשות אמינות גבוהה I-Integrity Environment.

  6. 01:29

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

  7. 01:48

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

  8. 02:27

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

  9. 02:52

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

  10. 03:04

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

  11. 03:17

    במשפט קייס יידרשו מקרי בדיקה לכל תוצאות אפשריות, כולל תוצאות ברירת מחדל. פה יש פה איזו התייחסות לסינטקס, יש לנו תאיף שהוא צומת החלטה בוליאני, זאת אומרת true או false, ויש לנו את הקייס שהוא בעצם מאפשר כמה אפשרויות בחירה, לא רק true או false, אלא מקרה אחד, שתיים, שלוש, ארבע או חמש,

  12. 03:40

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

  13. 04:06

    זאת אומרת, שיהיה בדיקה ל-true ול-false בכל אחד ואחד מהמקומות בקוד, וגם שיהיה בדיקה לכל אחד ואחד מצמתי ה-Case, צמתים מרובי אפשרויות. הערך של בדיקות משפטים ובדיקות החלטות 100% כיסוי משפטים מבטיח שכל משפטי ההפעלה בקוד נבדקו לפחות פעם אחת, אבל לא מבטיח שכל לוגיקת ההחלטות נבדקה.

  14. 04:36

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

  15. 04:50

    100% כיסוי ההחלטות מבטיח שכל תוצאות ההחלטות הופעלו, כולל התוצאות החיוביות והתוצאות השליליות, גם כאשר אין משפטים מפורשים לתוצאה השלילית.

  16. 05:01

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

  17. 05:13

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

  18. 05:27

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

לקורס המלא: קורס הכנה למבחן ISTQB אונליין

ההרצאה הקודמת: בדיקות מקרי שימוש

ההרצאה הבאה: טכניקות בדיקה מבוססות ניסיון

הרצאות קשורות מקורסים אחרים

  • בדיקות קופסא לבנה
  • סוגי בדיקות
  • בדיקות ידניות
  • בדיקות של GUI

קורסים נוספים במסלול

  • קורס בדיקות ידניות - QA
  • קורס בדיקות ידניות - Manual Testing