
הטקסט המלא של הדקות הראשונות בהרצאה «שקילות» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בשיעור הזה אנחנו נדבר על נמשיך לעשות חזרה קטנה על השיעור שעבר על הבדיקות קופסא שחורות דינמיות מה זה אומר בעצם דיברנו על זה בהרצאה שעברה שלבדוק תוכנה בסוג של בדיקות שחורות זה בעצם לבצע עבודה על המעטפת של התוכנה מבלי הצורך לרדת לרמת בדיקת שורות הקוד שלה על זה אני בטוח שהבנתי כבר בהרצאה שעברה שזה מה שנחשב לבדיקות מסוג קופסא שחורה
עכשיו, בדיקות דינמיות, דיברנו על זה גם בהרצאה שעברה, זה בעצם להריץ את הבדיקות של התוכנה ולבדוק את המעטפת שלה כאילו שהייתם הלקוח בעצמו. כלומר, אני מקבל סוג של תוכנת מסנג'ר, וורד, אני עובד עליה, אני בודק אם הכל עובד.
בוא נעשה איזה דוגמה קטנה, אני עושה רגע מהדבר הזה, אני פותח את המסנג'ר, אני מגדיר אותו, אני בודק אם הכלים, אני לוחץ על הכלים, אם אני לוחץ על האפשרויות האם באמת נפתח החלון, אם אני לוחץ על כללי, אם אני משנה את ה-checkbox, אז הבעת סימון זה באמת משתנה.
מה קורה אם אני לוחץ אישור? מה קורה אם אני לוחץ החל? זה בדיקת קופסה שחורה דינמית. מאוד פשוט. חוזר למצגת. בעצם מה שאנחנו עושים, אנחנו בבדיקות הקופסה השחורות הדינמיות, אנחנו בעצם מזינים קלט לתוך המערכת ומקבלים פלט.
קלט פלט זה עולם ממושג המחשבים שאני מכניס input קלט, Output שבודק את התוצאות הבדיקות האלו בדיקות קופסה שחורה נקראות גם בדיקות התנהגתיות Behavioral באנגלית למה כי אנחנו בעצם בודקים איך התוכנה מתנהגת אנחנו משתמשים בה בשביל לבצע בדיקות כאלו בשביל לעשות בדיקות מקיפות של בדיקות קופסה שחורה דינמיות אנחנו צריכים
לעבוד לפי מסמך הדרישות מסמך הדרישות שלנו אנחנו מקבלים אותו כמסמך שמאפיין שמסביר המסמך הזה מסביר בפירוט מה התוכנה הזאת עושה צריכה לעשות ולפי זה אנחנו מבינים מה צריך לבדוק בה כלומר להבין מה בדיוק הקלט האינפוט שהיא צריכה לקבל ואיזה פלט היא צריכה להוציא עכשיו לאחר שאנחנו נבין מה הקלט פלט האפשרי זה יכול להיות מיליון אפשרויות העבודה שלנו כאנשי בדיקות תהיה לצמצם אנחנו
נצטרך לצמצם את הבדיקות לדבר שנקרא יחידות בדיקה מה זה המושג הזה שנקרא יחידות בדיקה באנגלית קוראים לזה Test Cases, אני רואה את זה פה, Test Cases, מקרי בדיקה, יחידות בדיקה.
זה בעצם מתורגם יותר נכון באנגלית מקרי בדיקה. כלומר בעצם מה שזה אמור למדוד לי זה מה הקלט הספציפי מכל סך האין ספור אפשרויות שאפשר לבדוק את המערכת, שאותו אנחנו ננסה לבדוק אם הוא אכן עובד בתוכנה.
אז בואו נתקדם לשקף הבא. כשאנחנו באים להגדיר כאנשי בדיקות מהי יחידת המקרה מבחן, כלומר המקרה הספציפי אותו אנחנו נבדוק אנחנו נחפש לעשות את זה להבין לקחת לבחון את כל השיקולים של מהי סביבת הסיכונים כלומר איפה אנחנו היינו עד כמה היינו רוצים לבדוק את התוכנה הזאתי ברמה של אנחנו סך הכל כן רוצים להוציא אותה לשוק ולא לעצור אותה אז כמה מתוך כל האינספור אפשרויות כמה באגים
אנחנו נבדוק אנחנו ננסה לבצע צמצום של האינסופיות האפשרית של מקרי הבדיקות ולצמצם את זה למקרה מבחן שאני קורא לזה תוך עתירה למערכת שאפשר למדוד אותה עם מדידה, היא מצומצמת, כלומר לא אין סוף אפשרויות של מקרה מבחן, אלא משהו שהוא מקרה מבחן ספציפי מצומצם ואפקטיבי של מקרה בדיקה, שאכן יבדוק שהתוכנה הזאת באמת עובדת.
עכשיו זה בעצם המרכיב החשוב במקצועיות של איש בדיקות, אם בדיקות מגדיר הוא מחליט מה יהיה הסט של הבדיקות שהוא יעשה, כלומר הוא בעצם מצמצם איך הוא היה עושה את הגזירה של המערכת ואומר אוקיי אני בודק רק את זה ולא את האין סוף אפשרויות ועדיין יכול לתת להרגיש שהתוכנה הזאת עובדת.
עכשיו לאחר שאנחנו נפעיל את הסט בדיקות הזה, הסט בדיקות הראוי עליו החלטנו של כל המקרי המבחן אותם אנחנו רוצים לבדוק, אנחנו צריכים לנקוט בטקטיקה חדשה, New Approach, בגישה חדשה, זה הזמן שלנו לנקוט כאנשי בדיקות בטקטיקת Testing to Fail או Error Forcing.
אנחנו בעצם מנסים להפיל בכוח את התוכנה, אנחנו לא עובדים בצורה מסודרת, מקבלים תרחיש ואז מוודאים שהוא עובד על התוכנה. אנחנו קיבלנו תרחיש שאם אני מכניס לתוך הוורד את המילה שלום, הוא באמת צריך להכניס את המילה שלום. עכשיו לא, עכשיו אני עובד עצמאית ועובד
בגישה של Testing to Fail. מה זאת אומרת? אני מנסה, אתם מנסים להפיל את התוכנה על ידי בדיקת יישום התרחישים במקרה מבחן שאינם מופיעים במסמך הדרישות או במסמך הספציפיקציה.
אוקיי, עכשיו בואו ננסה רגע להיכנס לנושא חדש שנקרא Equivalence Partitioning אז בשביל להבין מה זה Equivalence Partitioning אנחנו קודם כל נבין מילה מילה מה זה Equivalentיות זה שקילות, כלומר זה משהו כמו שווה ערך ולחלק בעזרת מחיצות זה
פרטישינינג אם אתם עובדים מי שטכנאי מחשבים בעיניכם ומכיר את תוכנת גוס או מכיר קצת כונני דיסקים ומחשבים זה נקרא פרטישינינג כלומר חילוק למחיצות מה זאת אומרת שווה ערך וחלק למחיצות אקריבלנס פרטישינינג זה בעצם סוג של מתודולוגיה זה סוג של שיטת עבודה שהמטרה שלה זה בדיוק כמו שדיברנו בשקף האחרון
איך לצמצם את האינצופיות האפשרית של כל מקרה המבחן הרי לכאורה יש לנו מיליון אפשרויות לבדוק תוכנה, לנסות לאתגר אותה.
אם זה מחשבון אני יכול לבדוק לא רק אחד ועוד שתיים שווה שלוש ואחד ועוד שלוש שווה ארבע, אני יכול לבדוק את זה עד אין סוף, אז השאלה היא איך אני בודק את התוכנה. איך אני עושה לה אקוויוולנס פרטישינינג?
איך אני בודק שהמקרי מבחן שלי הם בודקים רק