
הטקסט המלא של הדקות הראשונות בהרצאה «מתודולוגיה - כל הזוגות» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
All pairs כל הזוגות כל הזוגות זה עוד טכניקה בנוסף לטכניקה שראינו בשיעור הקודם שמתעסקת בקבוצות שקילות. שיטה אפשר לצמצם את כמות הבדיקות שצריך לעשות על תוכנה מסוימת על מסך מסוים וכדומה.
lesson objectives מטרות השיעור What is all pairs? נדבר על מה זה השיטה הזאת שנקראת all pairs. Why learn all pairs? מדוע כדאי ללמוד את הטכניקה?
How to do all pairs? ננסה להבין ונממש את הטכניקה בצורה מסודרת. Examples דוגמאות שאיתן נוכל לבצע את הטכניקה עצמה של ה-all pairs.
What is all pairs? מה זה השיטה שנקראת כל הזוגות? Testing several variables together זאת טכניקה שכמו שראינו את all singles וכמו שראינו את קבוצות השקילות בודקת מספר משתנים, מספר שדות, מספר הגדרות למערכת ביחד ולא כל אחד בפני עצמו.
The test cases include all the pairs of values for every variable. כל תסריט בדיקות כולל את כל הזוגות של כל הערכים האפשריים לכל משתנה. אוקיי, הדגש פה הפעם הוא על כל הזוגות.
Every value paired with other values at least once. חוק האצבע פה אומר שכל ערך משורשר כבין זוג לערך אחר לפחות פעם אחת. אם תזכרו ב-all singles, חוק העץ בעיה שכל ערך מופיע לפחות פעם אחת ובקבוצות שקילות חוק העץ בעיה שכל ערך מופיע בקבוצת שקילות אחת ורק אחת.
Why learn all pairs? למה בכלל ללמוד את השיטה הזאת? It is drastically reduced the number of test cases required to test a software. השיטה מצמצמת בצורה דרסטית את כמות הבדיקות שאפשר לעשות על תוכנה.
אם אתם זוכרים בעיית ה-all singles can help you find most errors with smallest number of test cases. ומחקרים שעשו בכל מיני מקומות ובין השאר ב-MIT גילו שהרבה מאוד באגים קורים בזוגות של ערכים או בזוגות של מצבים.
כלומר נניח ויש לנו שדה או סליחה יש לנו מסך עם חמש שדות אני יכול לבדוק כל שדה בפני עצמו ב-90% ב-99% שהשדות יעבדו או הערכים שנכנס לשדות יעבדו אבל אם נתחיל לבדוק זוגות של שדות אנחנו נגלה ששם יש הרבה מאוד בעיות.
במבדקים שעשו ב-MIT גילו ש-70% מהבאגים קורים בזוגות של שדות או בזוגות של מקרים. כמובן שאפשר להרחיב את זה לשלשות של מקרים ורביעיות של מקרים, אבל זה כבר הופך להיות מסובך מאוד.
ולכן השיטה של ה-all pairs היא איזשהו חסם איכותי של צמצום כמות תסריטי הבדיקות שאפשר לעשות. Remember the all singles problem. שוב, ניזכר שב-all singles ראינו שאני יכול להגיע למצב של לבדוק את כל הפרמוטציות, כל האפשרויות מהיות ויש לנו את בעיית הזמן הכסף וכוח האדם אנחנו לא יכולים לעשות את כל הבדיקות all pairs כמו קבוצות שקילות עוזרת
לי לצמצם את כמות הבדיקות how to do all pairs איך לממש את ה all pairs let a1 a2 a3 be three variables a1 is one two is values a2 is s and t for values a3 is z and y for values יש לנו שלוש שדות שלושה משתנים שלוש הגדרות שונות קראו לזה איך שאתם רוצים A1, A2 ו-A3.
A1 יודע לקבל את הערכים 1 ו-2, A2 יודע לקבל את הערכים S ו-T, A3 יודע לקבל את הערכים Z ו-Y. אם אתם זוכרים, The Cartesian Product will be המכפלה הקרטטית תהיה A1 X A2 X A3, כלומר הקבוצה 1, 2 כפול TS כפול ZY ייצור לנו את אלה, את מספר תסריטי הבדיקות שאפשר לעשות.
כלומר סך הכל אפשר לעשות 8 בדיקות. אם אנחנו עושים את ה-all singles, איך? כי יש לנו שני ערכים לקבוצה הראשונה, שני ערכים לקבוצה השנייה, שני ערכים לקבוצה השלישית, סך הכל זה 2 כפול 2 כפול 2, כלומר 8 סוגי בדיקות.
תזכורת קצרה, את המכפלה הקרטטית אנחנו עושים 1 עם t עם z, אחר כך 1 עם t עם y, אחר כך 1 עם s וz, 1 עם s וy, 2 עם t וz, 2 עם t וy, טיים עם s ו-z, טיים עם s ו-y.
המכפלה הקרטזית ה-all singles היא הבסיס ל-all pairs ותמיד כשנרצה לעשות all pairs נצטרך לפני זה לעשות all singles. היתרון הוא שה-all pairs אחר כך משתמש ב-all