
הטקסט המלא של הדקות הראשונות בהרצאה «מחזור חיים של תקלה - Bug Life Cycle - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בשיעור הקרוב נמשיך לדבר על תקלות באגים כחלק מחומר הלימוד של ה-STQB מבחן ההסמכה הבינלאומי לבודקי תוכנה כשאנחנו רוצים להגיע לרעיון עבודה ולהפגין שליטה במושגי יסוד בעולם הבדיקות אנחנו חייבים להכיר את המושג באג תקלה דיפקט אינסידנט הכל הם מילים נרדפות למושג באג אז באג מבחינת הבודק תוכנה
הוא תמיד פועל יוצא של בדיקה שמגיעה עם איזושהי ציפייה, Expected Value, איזשהו ערך שאליו היא מצפה, לעומת הערך בפועל שמתקבל מהמערכת, מהאפליקציה. נתנו דוגמה של החישוב של החזרי משכנתה של מחשבון הבנק, שלא נותן את התוצאה שאליה ציפינו.
אז זאת אומרת שאנחנו באים לבדוק מערכת, אנחנו צריכים לבוא עם איזושהי ציפייה או ערכים שאנחנו מצפים לקבל מהמערכת. אנחנו צריכים להגיע מוכנים על מנת לבדוק את המערכת בצורה המיטבית.
דיברנו על סוגי תקלות או סוגי באגים, יש לנו לפחות שני סוגים של תקלות. התנהגות פונקציונלית שאינה עולה בקנה אחד עם הציפייה שלנו, נתנו דוגמא, לדוגמא אפליקציית Waze שלא מספקת לנו מסלול נסיעה מיטבי או הכי קצר או הכי מהיר וזה סוג של באג פונקציונלי.
לעומת זאת כשל סטטי או באג סטטי, יעלה לידי ביטוי ברמה הוויזואלית, הגרועית. אין צורך לבצע פעולה במערכת על מנת לראות אותו. לדוגמה, אם חסר איזשהו כפתור, איזושהי אפשרות בחירה, לדוגמה במערכת לחישוב החזרי משכנתא, חסר לנו את האפשרות לבחור בסוג ההחזר שאנחנו רוצים, האם אנחנו רוצים בהחזר שפיצר או בצורת חישוב אחרת.
יש כמה צורות חישוב למשכנתא. המערכת הייתה אמורה מבחינת האפיון שלה, מבחינת הדרישות, לתת כמה אפשרויות חישוב להחזרים. אם היא לא נותנת את זה, אז חסר את אותו כפתור, אותו רדיו בטון, אותו צ'ק בוקס שאני יכול הייתי לבחור, שלא קיים, ולכן זו בעיה סטטית ולא בעיה או כשל סטטי,
באג סטטי ולא באג פונקציונלי דינמי, אוקיי? באג שהוא מסוג פונקציונלית, אפשר לקרוא לו גם באג דינמי או תקלה דינמית. היכולת שלנו לאתר בעיות פונקציונליות או תקלות דינמיות זה על ידי הפעלת המערכת.
לעומת זאת, תקלות סטטיות הן באות לידי ביטוי על ידי ציפייה או צפייה במערכת מבחינת הוויזואליות שלה, מה שהיא מאפשרת לנו לעשות ללא צורך לבצע פעולות ממש.
אז יש לנו פה עוד דוגמאות לבאגים כתקלות פונקציונליות. או דינמיות, אפליקציה למכירת כרטיסים להופעות לא מצליחה לבצע גבייה מול מערכות אשראי, אז יש לנו איזשהו קשת תקשורת שזה לגמרי תקלה פונקציונלית דינמית.
אפליקציית ניווט לא בוחרת להציג את הנתיב הקצר ביותר, הסברנו את זה, מערכת לטיוט פניות של לקוחות לא מאפשרת שינוי סטטוס לפנייה, זאת אומרת אני פותח איזשהו תקלה או פנייה של לקוח, אני מנסה לטפל בתקלה והתקלה עדיין נשארת פתוחה,
זו בעיה פונקציונלית. אני מבצע פעולה במערכת, הציפייה שלי שהבנייה תהפוך לסטטוס "טופל" ובעצם היא נשארת בסטטוס "פתוח", Open ולא Resolved או Closed, ולכן זו תקלה פונקציונלית, תקלה דינמית.
אפליקציה לרכישה אונליין לא מאפשרת מחיקת מוצר מסד קניות. גם פה מדובר על פעולה שאנחנו מבקשים לבצע ושאינה עולה בהצלחה, או לא עולה בקנה אחד עם ההתנהגות המצופה מהמערכת.
לעומת זאת, בעיות סטטיות או בעיות לא פונקציונליות, לדוגמה אפליקציה למכירת כרטיסים להופעות, הודעות אישור רכישה לא כוללת את כל המידע הנדרש לגבי הרכישה.
לדוגמה, הסכום שסך הכל שולם, מספר אישור וכדומה. אפליקציה לניווט לא מציגה את כפתור הגדרות. אז גם פה יש לנו בעיה שהיא לא פונקציונלית, לא ביצעתי שום דבר, אבל מבחינת הסטטיות, הכפתור לא נמצא ולכן אין צורך שאני אבצע, אני יכול לפתוח את התקלה ללא ביצוע פעולה.
במערכת לתיעוד פניות של לקוחות חסר סימן לשדות חובה בטופס. זאת אומרת, חסר לי את הכוכבית האדומה שתגיד לי באיזשהו טופס איזה שדות חובה ואיזה לא.
אז זאת דוגמה לתקלות סטטיות או תקלות שאינן פונקציונליות. אפליקציית לרכישת אונליין לא מציגה את סך הכל המחיר בסל הקניות. זאת אומרת אני עדיין אוכל לבצע את הרכישה אבל האפיון מבקש שהמידע יוצג ללקוח מבחינת הרכישות שהוא מנסה לבצע וזה לא מתקיים ולכן זאת תקלה והיא תקלה מסוג סטטית ברמה התיאורטית זה חשוב שנבצע את ההבחנה הזאת.
מבחינתנו כבודקי תוכנה לכל באג אמור להיות מקושר מקרה בדיקה טסט קייס אנחנו נדבר על טסט קייס בהמשך אבל לא יכול להיות שתהיה תקלה שלא הייתה אמורה להיבדק או שמצאנו אותה בצורה דרך אגב.
זה חייבת להיות תקלה שבאנו לבדוק, בדיקה שבאנו לבדוק וראינו שהתקלה מתרחשת. זה נושא חשוב, כל תקלה שנמצא אנחנו נבקש לתעד אותה כחלק מהטסט קייס על מנת לוודא שהתקלה לא תחזור בגרסאות אחרות יותר או מאוחרות יותר של המוצר.
במקרה שנמצא באג שאינו מכוסה על ידי מקרה בדיקה, יש לכתוב מקרה בדיקה מתאים או להרחיב מקרה בדיקה קיים על מנת שיכסה את המקרה של הבאג לגרסאות הבאות.
אנחנו יוצאים מתוך הנחה שאנחנו