חבילה של בדיקות של ספקי Android (VTS) מספקת בדיקות מקיפות בנושאים הבאים:
- בועה
- שכבת הפשטת חומרה (HAL)
VTS פועל במחשב שולחני ומריץ מקרי בדיקה ישירות במכשירים מחוברים או במהדמנים. בדומה ל-CTS, VTS הוא חבילת בדיקות אוטומטית שמשתמשת ברכיבי התוכנה העיקריים הבאים:
- ערכת הבדיקות Trade Federation של VTS פועלת במכונה המארחת ומנהלת את ביצוע הבדיקות. היא מאפשרת להגדיר חלוקה לפלחים במספר מכשירים שנבדקים (DUT). אפשר גם להשתמש בתכונה Suite Retry כדי לנסות שוב רק את הבדיקות שנכשלו, ולא את כל חבילות הבדיקות, וכך לקצר משמעותית את זמן ההרצה מחדש.
- מקרי בדיקה ספציפיים מבוצעים ב-DUT. מקרי הבדיקה יכולים להיות בדיקות בסגנון GTest, בדיקות ליבה או בדיקות בסגנון JUnit שנכתבו ב-Java.
סוגי הבדיקות
הסוגים השונים של בדיקות VTS מתוארים בקטעים הבאים.
בדיקות בסגנון GTest
רוב הבדיקות ב-VTS הן בדיקות בסגנון GTest שבודקות את ההטמעה של HAL. הבדיקה נכתבת ב-C++ ופועלת במכשיר. בדיקת GTest רגילה של VTS עוברת על כל מופע של ממשק נתון ומריצה את כל תרחישי הבדיקה נגדו. לדוגמה, אפשר לעיין ב-VtsHalHealthStorageV1_0TargetTest
.
בדיקות של ליבה של Linux
Kselftest (external/linux-kselftest) הוא אוסף של בדיקות שכלולות במאגר הליבה של Linux (
tools/testing/selftests
), מתוכן 23 נכללות ב-VTS להרצה ב-ARM.בדיקות של Linux Test Project (external/ltp) מאמתות את האמינות, העמידות והיציבות של ליבה של Linux.
בדיקות בסגנון JUnit
קבוצה קטנה של בדיקות מבוססות-מארח ב-VTS הן בדיקות בסגנון JUnit, למשל KernelApiSysfsTest
.
בדיקות Java מוטמעות בתור BaseHostJUnit4Test
, שמשויך למכשיר בדיקה ויכול להריץ פקודות מעטפת כדי לבצע אימות.
בדיקות Python3 עצמאיות
חלק מבדיקות ה-VTS, כמו vts_treble_sys_prop_test
, נכתבות ב-Python3. הבדיקות שמבוססות על Python מוטמעות כ-unittest.TestCase
, וכל תרחיש בדיקה יכול לקיים אינטראקציה עם המכשיר באמצעות פקודות מעטפת.