אורקל בדיקות
בבדיקות תוכנה, אורקל הוא כלי לניבוי תוצאות של מבחנים על מנת להשוות אותם עם התוצאות שהתקבלו בפועל מהתוכנה אותה בודקים.
שיטות ליצירת אורקל
[עריכת קוד מקור | עריכה]ישנם דרכים רבות לניבוי התוצאות
- אורקל אנושי - הזנה ידנית של התוצאות הצפויות לפי חישוב של אדם
- שימוש בגרסאות קודמות של מוצר זה
- שימוש באלגוריתמים אחרים ידועים שעושים אותה פעולה
ועוד
אסטרטגיה לבניית היוריסטיקה לבדיקת אורקל
[עריכת קוד מקור | עריכה]מספר דברים שצריך לקחת בחשבון:
לתוצאות שונות לא תמיד המשמעות זהה – אם אוציא את ידי מהחלון וארטב, האם יורד גשם או שמא השכן מלמעלה שוטף?
לא כל הנוצץ זהב הוא – חלב יכול להריח ולהיראות טוב אך הטעימה הראשונה עלולה להיות לא נעימה.
עומק המידע צריך להיות גם כללי וגם ספציפי:
מאפיינים כלליים – משקל ממוצע לשקית חלב, מרקם חלב נורמלי, כמות קרטוני חלב.
מאפיינים סטטיסטיים – ההסתברות ל-X קרטוני חלב מקולקלים במשלוח, הסיכוי לתנאי קירור טובים במקום האחסון
פשטות: שימוש בטווחים, שימוש בקבוצות בעלות מאפיינים דומים\זהים
בדיקות אורקל אוטומטיות
[עריכת קוד מקור | עריכה]המוטיבציה להפוך את התהליך לאוטומטי
[עריכת קוד מקור | עריכה]נשתמש בדוגמה על מנת להמחיש את הצורך באוטומציה - אנו רוצים לזהות חלב מקולקל, האוטומציה שלנו באה לבדוק בהינתן חלב ובהינתן אבחנה של מצב החלב (מקולקל/לא מקולקל), האם האבחנה נכונה.
אז מה נבדוק:
- בדיקה חיצונית של צבע ומרקם
- נראה מהו תאריך תפוגה
- רושם המקום שממנו נקנה החלב, האם נשמר בתנאים טובים?
- נרתיח אותו ונראה האם גולש
- האם החברה המייצרת חברה אמינה?
- ניתן לבחון כלים חדשים - תרבית חלב
- נמצא אמצעי עזר כמו חושים של בעלי חיים? חוש ריח של כלבים?
- נפעל על פי תחושת בטן ואינסטינקטים -"משהו לא בסדר כאן..."
- נחלוק את הבעיה - מציאת רפתנים מומחים לזיהוי חלב
- נטעם אותו...
כל אלו עוזרים לנו בעצם להגיע לתוצאה שהחלב עלול להיות מקולקל או לא מקולקל ועוד אחרות רבות, פעולות אלו קל לעשות במידות הקטנות אך כאשר צריך לבדוק מאות ואלפי שקיות/קרטוני חלב, אפשר לראות את הצורך בתהליך אוטומטי
קטגוריות של "אוטומציות לבדיקות אורקל"
[עריכת קוד מקור | עריכה]בדיקות מובנות מפרט במפרט המערכת קיים הידע של "איך המערכת צריכה לפעול" ולכן ניתן לבדוק האם הפעילות מוגדרת כ"נכונה" או "לא נכונה"
בדיקות יחס מטמורפי (יחסים מותמרים) גם אם ביצענו בדיקה ותוצאתה הייתה שאין כישלון, הבדיקות הבאות אחריה צריכות להיות מובנות כדי לבדוק אם התוכנה עונה על כמה תנאים הכרחיים של פתרון היעד של הבעיה. תנאים אלה הנדרשים ידועים בשם יחסים מותמרים.
בדיקות מבוססות רשתות נוירונים - ניתן להתייחס אל רשתות נוירונים כאל אורקל אשר ישערך את נכונות הפתרון – "הפתרון נכון ב-70%" כלומר 70 אחוז מהקישורים ברשת אמרו "פתרון נכון".
בדיקות N-Version - שימוש בגרסאות קודמות כעזר לאבחון נכונות התשובה בגרסה הנוכחית
ראו גם
[עריכת קוד מקור | עריכה]קישורים חיצוניים
[עריכת קוד מקור | עריכה]- Hoffman, Douglas; A Taxonomy for Test Oracles (אורכב 10.03.2012 בארכיון Wayback Machine), Quality Week, 1998