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

Android Vendor Test Suite (VTS) की मदद से, इन चीज़ों की अच्छी तरह से जांच की जा सकती है:

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

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

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

टेस्ट के टाइप

वीटीएस के अलग-अलग तरह के टेस्ट के बारे में यहां बताया गया है.

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

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

Linux कर्नेल टेस्ट

  • Kselftest (external/linux-kselftest) एक तरह के टेस्ट का कलेक्शन है. यह Linux कर्नल रिपॉज़िटरी tools/testing/selftests में शामिल है. इनमें से 23 टेस्ट, VTS में शामिल हैं, ताकि उन्हें एआरएम पर चलाया जा सके.

  • Linux Test Project (external/ltp) टेस्ट से, Linux कर्नल की विश्वसनीयता, मज़बूती, और स्थिरता की पुष्टि की जाती है.

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

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

Standalone Python3 tests

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