חבילת בדיקות ספק (VTS) ותשתית

ה-Android Vendor Test Suite (VTS) מספק בדיקות מקיפות בנושאים הבאים:

  • גַרעִין
  • שכבת הפשטת חומרה (HAL)

VTS פועל על מחשב שולחני ומבצע מקרי בדיקה ישירות על מכשירים מחוברים או על האמולטורים. בדומה ל- CTS , VTS היא חבילת בדיקות אוטומטית המשתמשת ברכיבי התוכנה העיקריים הבאים.

  • רתמת הבדיקה של VTS Trade Federation פועלת על המחשב המארח שלך ומנהלת את ביצוע הבדיקות. הוא מציע את היכולת להגדיר Sharding על פני מספר מכשירים בבדיקה (DUTs). אתה יכול גם להשתמש בתכונת Suite Retry כדי לנסות שוב רק את הכשלים ולא את כל חבילות הבדיקה, מה שמפחית מאוד את זמן הריצה החוזרת.
  • מקרי מבחן בודדים מבוצעים ב-DUT. מקרי הבדיקה יכולים להיות בדיקות בסגנון gtest, בדיקות ליבה או בדיקות בסגנון JUnit שנכתבו ב-Java.

סוגי מבחנים

מבחנים בסגנון gtest

רוב הבדיקות ב-VTS הן בדיקות בסגנון gtest הבודקות את יישום HAL. המבחן כתוב ב-C++ ופועל על המכשיר. Gtest טיפוסי של VTS חוזר על כל מופע של ממשק נתון, ומריץ את כל מקרי הבדיקה נגדו. עיין ב- VtsHalHealthStorageV1_0TargetTest לדוגמא.

בדיקות ליבת לינוקס

  • Kselftest ( extern/linux-kselftest ) הוא אוסף של בדיקות הכלולים בתוך מאגר ליבת לינוקס ב- tools/testing/selftests , מתוכם 23 כלולים ב-VTS להפעלה ב-ARM.

  • בדיקות Linux Test Project ( חיצוני/ltp ) מאמתות את המהימנות, החוסן והיציבות של ליבת לינוקס.

מבחנים בסגנון JUnit

קבוצה קטנה של בדיקות מונעות מארח ב-VTS הן בדיקות בסגנון JUnit, למשל, KernelApiSysfsTest . בדיקות Java מיושמות כ- BaseHostJUnit4Test , המשויך להתקן בדיקה ויכול להריץ פקודות מעטפת לביצוע אימות.

בדיקות Python3 עצמאיות

כמה מבחני VTS, כגון vts_treble_sys_prop_test כתובים ב-Python3. הבדיקות מבוססות Python מיושמות כ- unittest.TestCase וכל מקרה בדיקה יכול לקיים אינטראקציה עם המכשיר באמצעות פקודות מעטפת.