वेंडर टेस्ट सुइट (वीटीएस) और इन्फ़्रास्ट्रक्चर

Android वेंडर टेस्ट सुइट (VTS), इन चीज़ों की ज़्यादा से ज़्यादा जांच करता है:

  • कर्नेल
  • हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल)

VTS, डेस्कटॉप मशीन पर चलता है और टेस्ट केस को सीधे तौर पर, ऐटैच किए गए डिवाइसों या एमुलेटर पर चलाता है. CTS की तरह ही, VTS भी एक ऑटोमेटेड टेस्ट सुइट है. इसमें इन मुख्य सॉफ़्टवेयर कॉम्पोनेंट का इस्तेमाल किया जाता है:

  • VTS Trade Federation के टेस्ट हार्नेस, आपकी होस्ट मशीन पर चलते हैं और टेस्ट को मैनेज करते हैं. इसकी मदद से, जांच के दायरे में आने वाले कई डिवाइसों (DUTs) पर, शर्डिंग को कॉन्फ़िगर किया जा सकता है. पूरे टेस्ट सुइट के बजाय, सिर्फ़ उन टेस्ट को फिर से चलाने के लिए, सुइट को फिर से चलाने की सुविधा का इस्तेमाल किया जा सकता है जो पास नहीं हुए हैं. इससे, टेस्ट को फिर से चलाने में लगने वाला समय काफ़ी कम हो जाता है.
  • अलग-अलग टेस्ट केस, डीयूटी पर चलाए जाते हैं. टेस्ट केस, GTest स्टाइल के टेस्ट, कर्नेल टेस्ट या Java में लिखे गए JUnit स्टाइल के टेस्ट हो सकते हैं.

टेस्ट के टाइप

नीचे दिए गए सेक्शन में, अलग-अलग तरह के वीटीएस टेस्ट के बारे में बताया गया है.

GTest-स्टाइल टेस्ट

VTS में मौजूद ज़्यादातर टेस्ट, GTest-स्टाइल के टेस्ट होते हैं. इनसे HAL के लागू होने की जांच की जाती है. यह जांच, C++ में लिखी गई है और यह डिवाइस पर चलती है. आम तौर पर, VTS GTest किसी दिए गए इंटरफ़ेस के हर इंस्टेंस को दोहराता है और उस पर सभी टेस्ट केस चलाता है. उदाहरण के लिए, VtsHalHealthStorageV1_0TargetTest देखें.

Linux कर्नेल की जांच

  • Kselftest (external/linux-kselftest), tools/testing/selftests पर मौजूद Linux kernel repository में शामिल टेस्ट का एक कलेक्शन है. इसमें से 23 टेस्ट, ARM पर चलाने के लिए VTS में शामिल किए गए हैं.

  • Linux Test Project (external/ltp) के टेस्ट से, Linux kernel की भरोसेमंदता, मज़बूती, और स्थिरता की पुष्टि होती है.

JUnit स्टाइल के टेस्ट

VTS में होस्ट-ड्रिवन टेस्ट का एक छोटा सेट, JUnit-स्टाइल टेस्ट होता है. उदाहरण के लिए, KernelApiSysfsTest. Java टेस्ट को BaseHostJUnit4Test के तौर पर लागू किया जाता है. यह टेस्ट, टेस्ट डिवाइस से जुड़ा होता है और पुष्टि करने के लिए शेल कमांड चला सकता है.

स्टैंडअलोन Python3 टेस्ट

vts_treble_sys_prop_test जैसे कुछ वीटीएस टेस्ट, Python3 में लिखे गए हैं. Python पर आधारित टेस्ट, unittest.TestCase के तौर पर लागू किए जाते हैं. साथ ही, हर टेस्ट केस, शेल कमांड की मदद से डिवाइस के साथ इंटरैक्ट कर सकता है.