PracticU

הבדלים בין Testing לבין Debugging

בלי כתוביותעם כתוביות
PracticU › קורס הכנה למבחן ההסמכה ISTQB › הבדלים בין Testing לבין Debugging
מילון מושגים:
באג - תקלה או שגיאה בקוד שגורמת לתוכנה להתנהג בניגוד למצופה.
לוג - רישום מתועד של אירועים ופעולות שמתרחשים במערכת או בתוכנה, המשמש למעקב ולאיתור תקלות.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
קופסה שחורה - גישת בדיקה שבה הבודק בוחן את התוכנה לפי הקלט והפלט בלבד, בלי להכיר את הקוד הפנימי.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
דרישות - התיאור של מה שמערכת או תוכנה צריכות לעשות, המשמש בסיס לפיתוח ולבדיקות.
QA - הבטחת איכות (Quality Assurance): תחום שעוסק בבדיקת תוכנה ובתהליכים שמבטיחים שהמוצר עומד בדרישות.

הבדלים בין Testing לבין Debugging
בדיקה וניפוי באגים (Debugging) נשמעים דומה, אבל הם שתי פעולות שונות שמבצעים אנשים שונים. השיעור מבהיר את ההבדל ואת הדרך שבה שגיאה הופכת לכשל.
בדיקה לעומת ניפוי באגים
1. בדיקה: מריצה את התוכנה ומגלה כשלים (failures) שנובעים מפגמים. הבודק מדווח עליהם.
2. ניפוי באגים: פעילות פיתוח שמנתחת את הפגם, מוצאת את הסיבה ומתקנת אותה. בדרך כלל המפתח עושה זאת, בעזרת הודעות שגיאה ולוגים.
3. בדיקת אימות (Confirmation Testing): בודקת שהתיקון באמת פתר את הכשל.
4. חלוקת אחריות: בדיקות רכיבים (Unit) מבוצעות בדרך כלל על ידי המפתחים. בודקי התוכנה מבצעים בעיקר בדיקות קופסה שחורה, שבוחנות את התוצרים מבחוץ.
מאיפה מגיעים הפגמים
שגיאה של אדם, כמו טעות כתיב או משתנה מסוג לא נכון, יוצרת פגם בקוד או במסמך. הפגם לא תמיד מוביל לכשל, אבל הוא עלול לעשות זאת בתנאים מסוימים. השיעור מונה כמה סיבות לשגיאות: לחץ זמן, עובד לא מנוסה, בעיות תקשורת בין אנשים, מורכבות גבוהה של הבעיה, ממשקים רבים בין מערכות, טכנולוגיה חדשה ותנאי סביבה כמו טמפרטורה או קרינה.
למה בדיקות חשובות
בדיקות מסודרות מפחיתות את הסיכון לכשלים, ותורמות לאיכות ולעמידה בדרישות חוזיות וחוקיות. בדיקות הן חלק מאבטחת איכות (QA), ואבטחת איכות היא חלק מניהול האיכות הכולל. כשבודקים מעורבים כבר בשלבי הדרישות והעיצוב, פגמים מתגלים מוקדם וזול יותר לתיקון.
ההבחנה בין בדיקה לדיבאגינג עוזרת להבין מי אחראי על מה בתהליך.
השיעור הבא בקורס: שורש הבעיה - Root Cause

פרקי ההרצאה: הבדלים בין Testing לבין Debugging

  1. 00:00

    מבוא: הבדל בין Testing ל-Debugging

  2. 00:40

    ניפוי באגים ובדיקת אימות (Confirmation)

  3. 01:17

    בדיקות יחידה לעומת בדיקות קופסה שחורה

  4. 02:07

    למה בדיקות נחוצות

  5. 02:58

    פגמים נמצאים גם במוצרים מוגמרים

  6. 04:11

    סקירת דרישות ועיצוב בשלב מוקדם

תמלול ההרצאה: הבדלים בין Testing לבין Debugging

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

  1. 00:02

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

  2. 00:26

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

  3. 00:48

    למקום שבו הייתה הגדרה לא נכונה או כתיבה לא נכונה ובעצם לתקן את זה. בדיקת אימות Confirmation Testing בודקת אם התיקונים אכן פתרו את הכשלים, הם פתרו את התוצרים של אותם פגמים.

  4. 01:04

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

  5. 01:16

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

  6. 01:26

    נדבר על מושג נוסף שנכיר שזה white box טסטינג בדיקות קופסה לבנה שזה בדיקות קוד ממש. לעומת זאת, ברוב המקרים בודקי התוכנה, בודקי ה-QA יבדקו Black Box Testing שהם בודקים את התוצרים של המערכת ברמה של שלב האינטגרציה של הקומפוננטות אחת עם השנייה ולא ברמת הקומפוננטה עצמה שעומדת לבדה.

  7. 01:51

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

  8. 02:07

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

  9. 02:29

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

  10. 02:50

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

  11. 03:04

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

  12. 03:21

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

  13. 03:38

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

  14. 03:56

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

  15. 04:11

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

  16. 04:29

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

  17. 04:48

    ככל שיותר מהר הבודקים מעורבים ומכירים את המוצר, מוקדם או לזיהוי ואיתור תקלות בשלב מוקדם,

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

ההרצאה הקודמת: שלבי פיתוח של התוכנה

ההרצאה הבאה: שורש הבעיה - Root Cause

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

  • הבדלים בין CC State לבין FC State
  • הבדלים בין Class לבין Object
  • הבדלים בין CentOS לבין RedHat
  • הבדלים בין וונדוס לבין לינוקס

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

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