חבילת הבדיקות לתאימות (CTS) של Android כוללת מיליוני בדיקות נפרדות. אמנם יש צורך להריץ את CTS לעיתים קרובות במהלך שלב פיתוח התוכנה, אבל אפשר לקצר את הזמן שנדרש להרצת הבדיקות האלה.
בדף הזה מתוארות שיטות שבהן אפשר להשתמש כדי לקצר את זמן ההרצה של הבדיקות, ומוסבר איך לבצע אופטימיזציה של משאבי החומרה בתהליך.
מכשירים משותפים
כדי לקצר את משך מחזור הפעילות, כדאי להריץ את ה-CTS בכמה מכשירים (פיצול (sharding)). כדי לראות איך אפשר להשתמש ב-sharding, אפשר לעיין במאמר בנושא הרצת בדיקות CTS.
תחנת בדיקות ל-Android
אפשר להשתמש בתחנת בדיקות ל-Android (ATS) כדי להשתמש בממשק משתמש להרצת חבילות בדיקה רגילות של Android. הכלי הזה משמש כממשק אינטרנט ל-Trade Federation (TF), ומאפשר להריץ את ה-CTS עם הגדרה מינימלית במערך של מכשירי בדיקה, וגם לקבוע לוח זמנים להרצת בדיקות באופן רציף.
תחנת הבדיקה של Android תומכת במצב מרובה מארחים, שמאפשר להשתמש במארח בקר ATS יחיד כדי לנהל מכשירים ובדיקות בכמה מארחי עובדים של ATS.
הפעלה רציפה של אמולטור
כדי להריץ את ה-CTS באופן רציף במהלך שלב הפיתוח, אפשר להשתמש במכשירים וירטואליים של Android (AVD) כתחליף לחומרה. אפשר לזהות מוקדם רגרסיות של כשלים בבדיקות, וכך לחסוך הרבה מהזמן שנדרש למיון ולניתוח של הגורמים הבסיסיים. אפשר להשתמש בכמה מופעים של האמולטור כדי לבצע חלוקה למקטעים, ואפשר לתזמן אותם להרצה רציפה באמצעות תחנת הבדיקה של Android.
תוכנית האיכות drawElements (dEQP)
drawElementsתוכנית האיכות (dEQP) כלולה ב-Android CTS. התוכנית הזו נקראת CtsDepqTestCases והיא מתמקדת בכיסוי הבדיקות של גרפיקה ב-Android. המודול הזה מהווה כמעט 80% מכל מקרי הבדיקה ב-Android CTS, ומייצג 6% מזמן הביצוע הכולל.
מכיוון שהדרייברים הגרפיים של Android הם חלק מהקושחה של Android (BSP) ולא משתנים הרבה במהלך הפיתוח, אפשר להריץ את המודול הזה באופן אסטרטגי. לדוגמה, אם אתם מריצים את CTS כל שבועיים (או פחות) במהלך פיתוח התוכנה, תוכלו להחריג את המודול הזה לכמה מחזורים על סמך לוח הזמנים של עדכון הקושחה.
אפשרות אחת היא להריץ את CtsDeqpTestCases בנפרד על קבוצת מכשירים, ואז לשלוח את דוחות ה-CTS. לדוגמה, בשני מארחים שונים.
מארח 1:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases
מארח 2:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases
מקרי בדיקה של מדיה
תרחישי בדיקה של מדיה מאמתים שירותי מולטימדיה כמו אודיו, וידאו ומנהלי ההתקנים של המולטימדיה. מודולי הבדיקה האלה של מולטימדיה תורמים הכי הרבה לזמן הביצוע של CTS. עיכובים יכולים להתרחש במקרים הבאים:
- הורדה של קובצי מדיה או הפעלה חוזרת של קובצי מדיה במהלך בדיקות.
- מתבצע ניסיון חוזר של תרחישי בדיקה שנכשלו.
חבילת הבדיקות של Android CTS כוללת את מודולי הבדיקה הבאים:
CtsMediaStressTestCasesCtsMediaPlayerTestCasesCtsMediaAudioTestCasesCtsVideoTestCasesCtsMediaDecoderTestCasesCtsMediaCodecTestCasesCtsMediaV2TestCases
מומלץ להריץ בדיקות מדיה באופן מקומי או בשרת מקומי. פרטים נוספים זמינים במאמר בנושא הרצת בדיקות מדיה של CTS באופן מקומי.
מסגרת המולטימדיה והדרייברים שלה (מפענחים ומקודדים) הם חלק מהקושחה של Android (BSP). אתם יכולים להפעיל את המודול הזה באופן אסטרטגי ולהחריג את המודולים האלה למשך כמה מחזורים, בהתאם ללוח הזמנים של עדכון הקושחה.