Android ऑटोमेशन फ्रेमवर्क के साथ ऐप परीक्षण ट्यूटोरियल

क्यों Android परिक्षण?

Android दुनिया का सबसे बड़ा ऑपरेटिंग सिस्टम है। साथ ही, Android खंडित है। वहाँ उपकरणों के टन कर रहे हैं और Android वे संस्करण जिनके साथ आपका ऐप संगत होना चाहिए.

Android परीक्षण

इससे कोई फर्क नहीं पड़ता कि आप डिजाइन और कार्यान्वयन में कितना समय लगाते हैं, गलतियाँ अपरिहार्य हैं, और बग सामने आएंगे।

Android परीक्षण

Android परीक्षण रणनीति

एक सही एंड्रॉइड परीक्षण रणनीति में निम्नलिखित शामिल होना चाहिए

  1. यूनिट टेस्ट
  2. जोड़ने का परीक्षण
  3. Operaराष्ट्रीय परीक्षण
  4. सिस्टम टेस्ट

Android परीक्षण रणनीति

इकाई परीक्षण

यूनिट परीक्षण में एक या एक से अधिक प्रोग्रामों का सेट शामिल होता है, जो स्रोत कोड की एक परमाणु इकाई, जैसे कि एक विधि या एक वर्ग, को सत्यापित करने के लिए डिज़ाइन किया गया होता है।

Android प्लेटफ़ॉर्म पहले से एकीकृत आता है JUnit 3.0 फ्रेमवर्क। यह स्वचालन के लिए ओपन सोर्स फ्रेमवर्क है इकाई का परीक्षण. Android परीक्षण फ्रेमवर्क डेवलपर के लिए प्रभावी यूनिट परीक्षण कार्यक्रम लिखने के लिए शक्तिशाली उपकरण है।

का एकीकरण Android और JUnit ढांचा
का एकीकरण Android और JUnit ढांचा

यूनिट टेस्टिंग के अतिरिक्त यूजर इंटरफेस (UI) टेस्ट भी है। ये टेस्ट आपके लक्षित एप्लिकेशन के UI घटकों से संबंधित हैं। UI टेस्ट यह सुनिश्चित करते हैं कि आपका एप्लिकेशन डिवाइस पर उपयोगकर्ता क्रियाओं के अनुक्रम के जवाब में सही UI आउटपुट लौटाए।

एप्लिकेशन पर सामान्य उपयोगकर्ता UI क्रियाएँ
एप्लिकेशन पर सामान्य उपयोगकर्ता UI क्रियाएँ

डिवाइस पर प्रदर्शन UI परीक्षण का सामान्य तरीका है Android उपकरण. लेकिन इसमें प्रदर्शन संबंधी समस्याएं हैं। UI परीक्षण करने के लिए सबसे अच्छे टूल में से एक Android is Robotium.

एकीकरण परीक्षण

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

एकीकरण परीक्षण
एकीकरण परीक्षण के प्रकार Android

एकीकरण परीक्षण करने के लिए कई परीक्षण ढांचे का उपयोग किया जाता है Android जैसे कि ट्रॉयड, रोबोलेक्ट्रिक, Robotium.

Operaराष्ट्रीय परीक्षण

  • Operaइन्हें कार्यात्मक परीक्षण या स्वीकृति परीक्षण भी कहा जाता है। ये उच्च स्तरीय परीक्षण हैं जो आवेदन की पूर्णता और शुद्धता की जांच करने के लिए डिज़ाइन किए गए हैं।
  • In Android, तंदुरूस्ती यह ओपन-सोर्स फ्रेमवर्क है जो लक्ष्य एप्लिकेशन के लिए परिचालन परीक्षण करना आसान बनाता है।

सिस्टम परीक्षण

In सिस्टम परीक्षण पूरे सिस्टम का परीक्षण किया जाता है और घटकों, सॉफ्टवेयर और हार्डवेयर के बीच परस्पर क्रिया की जांच की जाती है।

In Android, सिस्टम परीक्षण में सामान्यतः शामिल है

  • जीयूआई परीक्षण
  • प्रयोज्यता परीक्षण
  • प्रदर्शन जांच
  • तनाव परीक्षण

उपरोक्त सूची में, प्रदर्शन का परीक्षण अधिक ध्यान दिया जाता है। आप जैसे उपकरणों का उपयोग कर सकते हैं Tracईव्यू प्रदर्शन परीक्षण आयोजित करने के लिए Android यह टूल आपके एप्लिकेशन को डीबग करने और उसके प्रदर्शन को प्रोफाइल करने में आपकी सहायता कर सकता है।

स्वचालित एंड्रॉइड परीक्षण

चूंकि एंड्रॉयड खंडित है, इसलिए कई डिवाइस पर परीक्षण करना आवश्यक है। लेकिन इसमें आपको पैसे भी खर्च करने पड़ेंगे। स्वचालित Android परीक्षण से लागत कम करने में मदद मिल सकती है

स्वचालित एंड्रॉयड परीक्षण के लाभ

  • परीक्षण मामलों को निष्पादित करने में लगने वाले समय को कम करें
  • अपनी विकास प्रक्रिया की उत्पादकता बढ़ाएँ
  • बग का शीघ्र पता लगाना, सॉफ्टवेयर रखरखाव पर होने वाले खर्च को बचाना
  • कार्यान्वयन में त्रुटियों को शीघ्रता से ढूंढा और ठीक किया
  • सॉफ्टवेयर की गुणवत्ता सुनिश्चित करें

हम निम्नलिखित 2 रूपरेखाओं का अध्ययन करेंगे

  • Android परीक्षण ढाँचा
  • रोबोइलेक्ट्रिक परीक्षण ढांचा

Android परीक्षण ढांचा

मानक परीक्षण ढाँचों में से एक Android आवेदन है Android परीक्षण ढांचायह एक शक्तिशाली और उपयोग में आसान परीक्षण ढांचा है जो कि सॉफ्टवेयर के साथ अच्छी तरह से एकीकृत है। Android एसडीके उपकरण.

Android परीक्षण ढांचा
Android परीक्षण ढांचा Archiटेक्चर
  1. आवेदन पैकेज क्या आपका लक्ष्य अनुप्रयोग है जिसका परीक्षण किया जाना आवश्यक है
  2. इंस्ट्रूमेंटेशनटेस्टरनर विश्व का सबसे लोकप्रिय एंव परीक्षण का मामला रनर जो लक्ष्य अनुप्रयोग पर परीक्षण केस निष्पादित करता है। इसमें शामिल हैं:

2a) परीक्षण उपकरण: परीक्षण निर्माण के लिए एक SDK उपकरण। वे एकीकृत हैं Eclipse IDE या कमांड लाइन के रूप में चलाएँ।

2b) मंकी रनर: एक उपकरण जो प्रोग्राम लिखने के लिए एपीआई प्रदान करता है जो एक ऑपरेटिंग सिस्टम को नियंत्रित करता है। Android डिवाइस या एमुलेटर के बाहर Android कोड।

  1. परीक्षण पैकेज परीक्षण परियोजनाओं में व्यवस्थित हैं। यह पैकेज नामकरण परंपरा का पालन करता है। यदि परीक्षण के अंतर्गत एप्लिकेशन का पैकेज नाम “com.mydomain.myapp” है, तो परीक्षण पैकेज “com.mydomain.myapp.test” होना चाहिए। परीक्षण पैकेज में नीचे दिए अनुसार 2 ऑब्जेक्ट शामिल हैं:

3a) परीक्षण केस वर्ग: लक्ष्य अनुप्रयोग पर निष्पादित करने के लिए परीक्षण विधियाँ शामिल करें।

3b) नकली ऑब्जेक्ट्स: इसमें नकली डेटा शामिल है जिसका उपयोग परीक्षण मामलों के लिए नमूना इनपुट के रूप में किया जाएगा।

Android टेस्ट केस क्लासेस

Android टेस्ट केस क्लासेस
Androidटेस्टकेस वर्ग आरेख
  1. परीक्षण का मामला शामिल JUnit चलाने के तरीके JUnit परीक्षण
  2. परीक्षण सूट परीक्षण मामलों के सेट को चलाने के लिए उपयोग किया जाता है
  3. इंस्ट्रूमेंटेशनटेस्टसूट एक टेस्टसूट है जो इंस्ट्रूमेंटेशन को चलाने से पहले इंस्ट्रूमेंटेशनटेस्टकेस में इंजेक्ट करता है।
  4. इंस्ट्रूमेंटेशनटेस्टरनर वह परीक्षण केस रनर है जो लक्ष्य अनुप्रयोग पर परीक्षण केस निष्पादित करता है।
  5. Androidपरीक्षण का मामला फैली JUnit टेस्टकेस. इसमें गतिविधि संदर्भ जैसे संसाधनों तक पहुँचने के तरीके शामिल हैं.
  6. एप्लीकेशनटेस्टकेस नियंत्रित वातावरण में अनुप्रयोग वर्गों का सत्यापन करता है।
  7. इंस्ट्रूमेंटेशनटेस्टकेस लक्ष्य अनुप्रयोग की किसी विशेष सुविधा या व्यवहार को सत्यापित करता है, उदाहरण के लिए, अनुप्रयोग के UI आउटपुट को सत्यापित करता है।
  8. गतिविधिपरीक्षण मामला यह आधार वर्ग है जो अनुप्रयोग गतिविधियों के परीक्षण का समर्थन करता है।
  9. प्रदाताटेस्टकेस एकल ContentProvider के परीक्षण के लिए वर्ग है।
  10. सर्विसटेस्टकेस परीक्षण वातावरण में सेवा वर्गों का परीक्षण करने के लिए उपयोग किया जाता है। यह सेवा के जीवन चक्र का भी समर्थन करता है।
  11. सिंगलाउचएक्टिविटीटेस्टकेस इंस्ट्रूमेंटेशनटेस्टकेस के साथ एकल गतिविधि का परीक्षण करने के लिए उपयोग किया जाता है।
  12. गतिविधि इकाई परीक्षण मामला इसका उपयोग एकल पृथक गतिविधि का परीक्षण करने के लिए किया जाता है।
  13. गतिविधिइंस्ट्रूमेंटेशनटेस्टकेस2 फैली JUnit टेस्टकेस क्लास। यह आपको इंस्ट्रूमेंटेशन के साथ टारगेट एप्लीकेशन से जोड़ता है। इस क्लास के साथ, आप एप्लीकेशन के GUI घटक तक पहुँच सकते हैं और UI इवेंट (कीस्ट्रोक या टच इवेंट) को UI पर भेज सकते हैं।

नीचे ActivityInstrumentationTestCase का एक उदाहरण दिया गया है। यह कैलकुलेटर एप्लीकेशन के UI ऑपरेशन को सत्यापित करता है, UI आउटपुट की शुद्धता की जाँच करता है।

गतिविधिइंस्ट्रूमेंटेशनटेस्टकेस2 परीक्षण
गतिविधिइंस्ट्रूमेंटेशनटेस्टकेस2 परीक्षण उदाहरण

रोबोइलेक्ट्रिक परीक्षण ढांचा

परीक्षण का उपयोग करना Android डिवाइस या एमुलेटर के साथ फ्रेमवर्क का परीक्षण करना मुश्किल है। परीक्षण बनाना और चलाना धीमा है और इसमें बहुत अधिक विकास प्रयास लगता है। इस समस्या को ठीक करने के लिए, एक और विकल्प है - रोबोइलेक्ट्रिक परीक्षण ढांचा.

रोबोइलेक्ट्रिक फ्रेमवर्क आपको चलाने की अनुमति देता है Android परीक्षण सीधे जेवीएम पर बिना किसी डिवाइस या एम्यूलेटर की आवश्यकता.

रोबोइलेक्ट्रिक की उन्नत विशेषताएं
रोबोइलेक्ट्रिक की उन्नत विशेषताएं

रोबोइलेक्ट्रिक टेस्ट केस क्लासेस

Operaरोबोइलेक्ट्रिक का विकास
Operaरोबोइलेक्ट्रिक का विकास
  • जैसा कि ऊपर दिखाया गया है, रोबोइलेक्ट्रिक निम्नलिखित क्रियाएं कर सकता है:
  • रजिस्टर करें और एक शैडो क्लास बनाएं
  • लोडिंग को रोकें Android कक्षा
  • के विधि निकायों को ओवरराइड करने के लिए javaassist का उपयोग करता है Android कक्षा
  • छाया ऑब्जेक्ट को इससे बांधें Android कक्षा
  • इससे परीक्षण के अंतर्गत कोड को बिना किसी बाधा के निष्पादित करने की अनुमति मिलती है Android पर्यावरण.

अन्य परीक्षण ढांचा

ऊपर बताए गए परीक्षण ढाँचों के अलावा, कई अन्य परीक्षण ढाँचे भी हैं जैसे:

  • Android जूनिट रिपोर्ट, के लिए एक कस्टम इंस्ट्रूमेंटेशन टेस्ट रनर Android जो अन्य उपकरणों के साथ एकीकरण के लिए XML रिपोर्ट तैयार करता है।
  • expresso
  • Appium

मिथक Android परीक्षण

कई उद्यम एंड्रॉयड विकसित करते हैं परीक्षण ऐसी रणनीतियाँ जो आम गलतफहमियों पर आधारित हैं। यह खंड कुछ लोकप्रिय मिथकों और वास्तविकताओं की जाँच करता है Android परीक्षण.

मिथक #1: सभी Android डिवाइस समान हैं... एमुलेटर पर परीक्षण पर्याप्त है

चलिए एक सरल उदाहरण से शुरू करते हैं। एक एप्लीकेशन एमुलेटर पर तो ठीक से काम करता है लेकिन कुछ वास्तविक डिवाइस पर यह निष्पादन के दौरान क्रैश हो जाता है

वास्तविक डिवाइस पर निष्पादन के दौरान एप्लिकेशन क्रैश हो जाता है
वास्तविक डिवाइस पर निष्पादन के दौरान एप्लिकेशन क्रैश हो जाता है

एमुलेटर हैं अपर्याप्त आपके मोबाइल परीक्षण के लिए। आपको अपने ऐप का परीक्षण वास्तविक डिवाइस पर करना होगा।

मिथक #2: कुछ सामान्य डिवाइस पर परीक्षण करना पर्याप्त है

  • विभिन्न डिवाइसों पर आपका एप्लीकेशन अलग-अलग दिखाई देता है, क्योंकि विभिन्न डिवाइसों में अलग-अलग हार्डवेयर, स्क्रीन आकार, मेमोरी आदि होते हैं। आपको अपने एप्लीकेशन का परीक्षण विभिन्न डिवाइसों, OS संस्करणों, कैरियर नेटवर्क और स्थानों पर करना चाहिए।

मिथक #3: प्रक्षेपण से ठीक पहले अन्वेषणात्मक परीक्षण पर्याप्त है

  • आम तौर पर सभी परीक्षणों में, हम परीक्षण मामलों को डिज़ाइन करते हैं और फिर उन्हें निष्पादित करते हैं। लेकिन अन्वेषणात्मक परीक्षण में, परीक्षण डिज़ाइन और निष्पादन सभी एक साथ किए जाएंगे।
  • अन्वेषणात्मक परीक्षण में, कोई योजना नहीं होती और कोई तैयारी नहीं होती, फिर परीक्षक वही परीक्षण करेगा जो वह करना चाहता है। कुछ कार्यों का बार-बार परीक्षण किया जाएगा, जबकि कुछ कार्यों का एक साथ परीक्षण नहीं किया जाएगा।

मिथक#4: यदि एप्लीकेशन में कुछ बग हैं, तो उपयोगकर्ता समझ जाएंगे

  • यदि एप्लिकेशन काम नहीं करता है और उसमें बग हैं, तो उपयोगकर्ता आपके ऐप को अनइंस्टॉल कर देते हैं
  • Google Play पर खराब समीक्षा का पहला कारण गुणवत्ता संबंधी समस्याएं हैं। इससे आपकी प्रतिष्ठा प्रभावित होती है और आप ग्राहकों का भरोसा खो देते हैं।

इसलिए एक उचित एंड्रॉइड परीक्षण रणनीति का होना आवश्यक है

सर्वोत्तम अभ्यास Android परीक्षण

  • एप्लिकेशन डेवलपर्स को कोड लिखते समय ही परीक्षण मामले भी बनाने चाहिए
  • सभी परीक्षण मामलों को स्रोत कोड के साथ संस्करण नियंत्रण में संग्रहीत किया जाना चाहिए
  • निरंतर एकीकरण का उपयोग करें और हर बार कोड बदलने पर परीक्षण चलाएं
  • एमुलेटर और रूट किए गए डिवाइस का उपयोग करने से बचें

इस पोस्ट को संक्षेप में इस प्रकार लिखें: