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

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

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

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

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

जांच के टाइप

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

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

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-स्टाइल टेस्ट

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

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

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