חבילה נוטה לכלול מספר מודולי מבחן ויכולה להגיע לגודל קורפוס מבחן גדול למדי. לדוגמה, חבילת בדיקת התאימות של אנדרואיד (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
הקיים כדי להכין את הזמנת הניסוי החוזר.