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