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