חבילה נוטה לכלול מספר מודולי מבחן ויכולה להגיע לגודל קורפוס מבחן גדול למדי. לדוגמה, חבילת בדיקת התאימות של אנדרואיד (CTS) כוללת מאות מודולים ומאות אלפי מקרי בדיקה.
זה הופך להיות אפשרי לכמות גדולה של בדיקות להיכשל עקב בידוד לקוי או התקנים שנכנסים למצב רע.
תכונת הניסיון החוזר של החבילות נועדה לתת מענה למקרים אלה: היא מאפשרת לך לנסות שוב את הכשלים רק במקום את החבילות המלאות על מנת לשלול התקלפות ובידוד לקוי. אם מבחן נכשל באופן עקבי, גם הניסיון החוזר נכשל; ואתה מקבל איתות הרבה יותר חזק שיש בעיה אמיתית.
יישם ניסיון חוזר של חבילה
ניסיון חוזר של תוצאות כרוך בקריאת התוצאות הקודמות והפעלה חוזרת של הקריאה הקודמת.
הממשק העיקרי המניע את הניסיון החוזר הוא ITestSuiteResultLoader
, המאפשר לך לטעון תוצאה קודמת ואת שורת הפקודה הקודמת.
לאחר מכן, RetryRescheduler
משתמש במידע זה כדי ליצור מחדש את הפקודה הקודמת ולאכלס כמה מסננים כדי להפעיל מחדש רק את הכשלים הקודמים או את הבדיקות שלא בוצעו.
ניסיון חוזר של חבילה לדוגמה: CTS
תצורת הניסיון החוזר ב-CTS היא:
<configuration description="Runs a retry of a previous CTS session.">
<object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
<test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />
<logger class="com.android.tradefed.log.FileLogger">
<option name="log-level-display" value="WARN" />
</logger>
</configuration>
זה חל על רוב הסוויטות שמרחיבות אותו, למשל VTS .
זה יופעל עם:
cts-tradefed run retry --retry <session>
הפגישה תימצא על ידי רישום התוצאות הקודמות במסוף CTS:
cts-tf > l r
Session Pass Fail Modules Complete Result Directory Test Plan Device serial(s) Build ID Product
0 2092 30 148 of 999 2018.10.29_14.12.57 cts [serial] P Pixel
הפקודה המקורית המדויקת תיטען מחדש ותפעיל מחדש עם מסננים נוספים. זה אומר שאם הפקודה המקורית שלך כללה כמה אפשרויות, הן גם חלק מהניסיון החוזר.
לדוגמה:
cts-tradefed run cts-dev -m CtsGestureTestCases
הניסיון החוזר של האמור לעיל תמיד מחויב ל- CtsGestureTestCases
מכיוון שאנו מנסים שוב פקודה שכללה רק אותה.
הגדר ניסיון חוזר עבור חבילה בסגנון CTS
כדי שהניסיון החוזר יעבוד, יש לייצא את התוצאות הקודמות בפורמט פרוטו. יש להוסיף את הדברים הבאים:
<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />
יש להוסיף את זה לתצורת ה-XML של הפקודה הראשית, וזה גורם ליצירת קובץ test-record.pb
בתיקיית התוצאות.
לאחר מכן, ניסיון ה-CTS מחדש טוען נתונים משילוב של test-record.pb
וה- test_result.xml
הקיים כדי להכין את הזמנת הניסוי החוזר.