PracticU

שקילות

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

שקילות
ההרצאה חוזרת על בדיקות קופסה שחורה דינמיות, ומציגה את קבוצות השקילות (Equivalence Partitioning) כשיטה לצמצם את מקרי הבדיקה.
בדיקה דינמית קופסה שחורה
1. הרעיון: מזינים קלט למערכת ובודקים את הפלט, בלי לרדת לרמת הקוד. הבדיקה נקראת גם התנהגותית (Behavioral), כי בודקים איך התוכנה מתנהגת.
2. מקרה בדיקה (Test Case): קלט ספציפי שנבחר מתוך אינספור אפשרויות, כדי לבדוק אם התוכנה עובדת.
3. Testing to Fail: גישה שמנסה להפיל את התוכנה ולבדוק תרחישים שלא מופיעים במסמך הדרישות.
קבוצות שקילות
4. הגדרה: שיטה לגזירת מקרי בדיקה. מחלקים את הקלטים לקבוצות שהתוכנה מתנהגת בהן באותו אופן, ובודקים ערך אחד מכל קבוצה. כל קלט אפשרי שייך לקבוצה אחת בלבד.
5. שני צעדים: מזהים את קבוצות השקילות, ואז מתכננים את מקרי הבדיקה מכל קבוצה.
6. הרעיון מול אינסוף: במחשבון אפשר לבדוק 1+2, 1+3, 1+4 וכן הלאה עד אינסוף. עם קבוצות שקילות בודקים מכל קבוצת קלטים דוגמה אחת, ומקבלים כיסוי שיטתי ומצומצם.
דוגמה במחשבון
7. גבול הקלט: הזנה של מספר ארוך מאוד, שמתמלא עד סוף השדה, ובדיקה מה התוצאה. התוצאה שהמחשבון הציג הייתה בצורה מדעית, והיא נבדקה בהתאם לדרישות.
אומנות ולא מדע
8. גישות שונות: שני בודקים יקיפו את אותה תוכנה בצורה שונה, ויבחרו מקרי בדיקה שונים. ובכל זאת שניהם יכולים להגיע לתחושה שהתוכנה נבדקה היטב.
קבוצות שקילות מביאות לבדיקות מעטות ועדיין ממוקדות.
השיעור הבא בקורס: תרשים מעברי מסך

פרקי ההרצאה: שקילות

  1. 00:00

    חזרה: בדיקות קופסה שחורה דינמיות

  2. 00:44

    הדגמה בתוכנת מסנג'ר

  3. 01:41

    קלט, פלט והתנהגות התוכנה

  4. 02:36

    מה זה מקרה בדיקה (Test Case)

  5. 03:30

    בחירת מקרי בדיקה לפי סיכון

  6. 04:49

    גישת Testing to Fail

  7. 05:47

    מבוא ל-Equivalence Partitioning

  8. 06:26

    חלוקה לשקילות לצמצום האינסוף

תמלול ההרצאה: שקילות

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

  1. 00:04

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

  2. 00:39

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

  3. 00:58

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

  4. 01:22

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

  5. 01:42

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

  6. 02:15

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

  7. 02:51

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

  8. 03:12

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

  9. 03:30

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

  10. 04:00

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

  11. 04:31

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

  12. 04:53

    עכשיו לאחר שאנחנו נפעיל את הסט בדיקות הזה, הסט בדיקות הראוי עליו החלטנו של כל המקרי המבחן אותם אנחנו רוצים לבדוק, אנחנו צריכים לנקוט בטקטיקה חדשה, New Approach, בגישה חדשה, זה הזמן שלנו לנקוט כאנשי בדיקות בטקטיקת Testing to Fail או Error Forcing.

  13. 05:17

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

  14. 05:33

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

  15. 05:51

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

  16. 06:10

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

  17. 06:35

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

  18. 06:44

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

  19. 06:56

    איך אני בודק שהמקרי מבחן שלי הם בודקים רק

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

ההרצאה הקודמת: מסמך סְפֶּצִיפִיקַצְיָה

ההרצאה הבאה: תרשים מעברי מסך

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

  • מחלקות שקילות
  • קבוצות שקילות

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

  • קורס Load Runner - בדיקת עומסים
  • Quality Center
  • מבחן QA לדוגמא