विक्रेता परीक्षण सूट (वीटीएस) और बुनियादी ढांचा

एंड्रॉइड वेंडर टेस्ट सूट (वीटीएस) निम्नलिखित पर व्यापक परीक्षण प्रदान करता है:

  • गुठली
  • हार्डवेयर अमूर्त परत (एचएएल)

वीटीएस एक डेस्कटॉप मशीन पर चलता है और परीक्षण मामलों को सीधे संलग्न उपकरणों या एमुलेटरों पर निष्पादित करता है। सीटीएस के समान, वीटीएस एक स्वचालित परीक्षण सूट है जो निम्नलिखित प्रमुख सॉफ्टवेयर घटकों का उपयोग करता है।

  • वीटीएस ट्रेड फेडरेशन परीक्षण हार्नेस आपके मेजबान मशीन पर चलता है और परीक्षण निष्पादन का प्रबंधन करता है। यह परीक्षण (डीयूटी) के तहत कई उपकरणों में शेयरिंग को कॉन्फ़िगर करने की क्षमता प्रदान करता है। आप संपूर्ण परीक्षण सुइट्स के बजाय केवल विफलताओं को पुनः प्रयास करने के लिए सुइट पुनः प्रयास सुविधा का उपयोग कर सकते हैं, जो पुन: चलाने के समय को बहुत कम कर देता है।
  • व्यक्तिगत परीक्षण मामलों को DUT पर निष्पादित किया जाता है। परीक्षण के मामले gtest-शैली परीक्षण, कर्नेल परीक्षण, या जावा में लिखे गए JUnit-शैली परीक्षण हो सकते हैं।

परीक्षणों के प्रकार

gtest-शैली परीक्षण

वीटीएस में अधिकांश परीक्षण gtest-शैली परीक्षण हैं जो एचएएल कार्यान्वयन की जांच करते हैं। परीक्षण C++ में लिखा गया है और डिवाइस पर चलता है। एक विशिष्ट वीटीएस gtest किसी दिए गए इंटरफ़ेस के प्रत्येक उदाहरण के माध्यम से पुनरावृत्त होता है, और इसके विरुद्ध सभी परीक्षण मामलों को चलाता है। उदाहरण के लिए VtsHalHealthStorageV1_0TargetTest देखें।

लिनक्स कर्नेल परीक्षण

  • केसेल्फटेस्ट ( एक्सटर्नल/लिनक्स-केसेल्फटेस्ट ) tools/testing/selftests में लिनक्स कर्नेल रिपॉजिटरी के भीतर शामिल परीक्षणों का एक संग्रह है, जिनमें से 23 एआरएम पर चलने के लिए वीटीएस में शामिल हैं।

  • लिनक्स टेस्ट प्रोजेक्ट ( एक्सटर्नल/एलटीपी ) परीक्षण लिनक्स कर्नेल की विश्वसनीयता, मजबूती और स्थिरता को मान्य करते हैं।

JUnit-शैली परीक्षण

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

स्टैंडअलोन Python3 परीक्षण

कुछ VTS परीक्षण, जैसे vts_treble_sys_prop_test , Python3 में लिखे गए हैं। पायथन-आधारित परीक्षणों को unittest.TestCase के रूप में कार्यान्वित किया जाता है और प्रत्येक परीक्षण केस शेल कमांड के माध्यम से डिवाइस के साथ इंटरैक्ट कर सकता है।