टेस्ट ऑटोमेशन के तीन सामान्य टाइप

आइए, बुनियादी बातों से शुरू करते हैं! टेस्टिंग के दो सामान्य मोड और टेस्ट ऑटोमेशन के तीन सामान्य टाइप के बारे में जानकारी.

हम सभी को पता है कि कोडिंग से जुड़ा ऐसा कौनसा मीम है जो असल ज़िंदगी में अक्सर होता है?

ऐसा कपबोर्ड जिसमें दो दराजें हों और जिन्हें एक साथ नहीं खोला जा सकता.

इस मेम में इस समस्या के बारे में बेहतर तरीके से बताया गया है: हर ड्रॉअर अलग-अलग ठीक से काम करता है, लेकिन एक-दूसरे के साथ इस्तेमाल करने पर, वे एक-दूसरे को ब्लॉक कर देते हैं और काम नहीं करते. आपको दोनों ड्रॉअर एक साथ इस्तेमाल करने हैं और एक-दूसरे के साथ अच्छी तरह से काम करने चाहिए.

वही अलमारी, लेकिन दो दराजों के साथ, जिन्हें एक साथ खोला जा सकता है.

इसे वेब डेवलपमेंट पर लागू करें: आपने कुछ टेस्ट लिखे, शायद आपने 100% टेस्ट कवरेज भी हासिल की, लेकिन अन्य हिस्सों के सही तरीके से काम करने के बाद भी, आपके ऐप्लिकेशन को काम करना होगा. यूनिट अपने-आप ठीक से काम कर सकती हैं, लेकिन एक-दूसरे के साथ नहीं. कुछ टेस्ट लिखना ज़रूरी है, लेकिन यह आपके प्रोजेक्ट के लिए आदर्श टेस्ट सेटअप का सिर्फ़ एक हिस्सा है. सबसे पहले, आपको यह तय करना होगा कि आपको ऐप्लिकेशन की क्वालिटी के किन हिस्सों को पक्का करना है और यह कैसे किया जा सकता है.

आसान शब्दों में कहें, तो असल टेस्ट कोड लिखने से पहले, आपको एक प्लान बनाना होगा. व्यावहारिक तौर पर जांच करने के तरीके के बारे में जानने के लिए, सबसे पहले दो बुनियादी सवालों के जवाब दें:

  • आपको किस तरह से जांच करनी है?
  • आपको क्या टेस्ट करना है?

इस लेख में, पहले सवाल का जवाब देने के लिए ज़रूरी सामान्य बातों के बारे में बताया गया है. एक ही बात से शुरू करने के लिए, सबसे पहले यह जानें कि टेस्टिंग के कौनसे मोड मौजूद हैं. इसके बाद, आम तौर पर इस्तेमाल होने वाली टेस्टिंग पर फ़ोकस करें. आने वाले लेखों में, हम दूसरे सवाल का जवाब देंगे. साथ ही, जवाबों को जोड़कर, आपके प्रोजेक्ट के लिए सबसे सही टेस्टिंग की रणनीति ढूंढेंगे. चलिए शुरू करते हैं! 🙌

बुनियादी बातों से शुरू करें: टेस्टिंग के सामान्य मोड

जांच करने के तरीके के बारे में बताते समय, सबसे पहले यह बताना ज़रूरी है कि जांच किस तरह की जानी है. क्या आपको मैन्युअल तरीके से जांच करनी है या कंप्यूटर को जांच करने देना है? हालांकि, यहां यह ज़रूरी है कि आप सिर्फ़ दो विकल्पों के बीच न फ़ैसला लें.

मैन्युअल टेस्टिंग बनाम ऑटोमेटेड टेस्टिंग

अगर क्वालिटी एश्योरेंस इंजीनियर से टेस्टिंग के बारे में पूछा जाए, तो वे शायद इसे दो "मोड" में बांट दें:

  • मैन्युअल टेस्टिंग. यह टेस्टिंग का एक सामान्य तरीका है, जिसे असल लोग करते हैं. क्वालिटी एश्योरेंस इंजीनियर, ऐप्लिकेशन पर क्लिक करके यह देखता है कि वह काम कर रहा है या नहीं. साथ ही, वह उसे खराब करने की कोशिश भी करता है. एक्सप्लोरेट्री टेस्टिंग सबसे आम तरीका है. इसमें इंजीनियर, ऐप्लिकेशन के बारे में अपनी जानकारी का इस्तेमाल करके, पहले से तय किए गए पाथ या चेकलिस्ट के हिसाब से ऐप्लिकेशन की जांच करता है.
  • ऑटोमेटेड टेस्टिंग. यह एक तरह की जांच है, जिसे कंप्यूटर करता है. क्वालिटी एश्योरेंस इंजीनियर, बार-बार होने वाली और एक जैसी टेस्ट को ऑटोमेट करने के लिए, इसे लागू करते हैं.

गाइड की इस सीरीज़ में, ज़्यादातर ऑटोमेटेड टेस्टिंग पर फ़ोकस किया जाएगा. हालांकि, आपको टेस्ट करने के सिर्फ़ एक तरीके पर फ़ोकस नहीं करना चाहिए. भले ही, ऑटोमेशन से आपका समय और मेहनत बचती है, लेकिन मैन्युअल टेस्टिंग और लोगों की भूमिका हमेशा अहम रहेगी. इसके बजाय, टेस्ट ऑटोमेशन की मदद से लोगों को एक्सप्लोरेटिव टेस्टिंग और समस्या हल करने के क्रिएटिव तरीकों पर फ़ोकस करने में मदद मिलती है. उदाहरण के लिए, उपयोगकर्ता अनुभव की क्वालिटी को पक्का करना या ज़्यादा जोखिम वाले कारोबारी लॉजिक को सुरक्षित रखना. दूसरे शब्दों में, ऑटोमेशन आपके काम आएगा. ❤️

अपारदर्शी बॉक्स बनाम पारदर्शी बॉक्स

इसलिए, आपने टेस्टिंग के सामान्य मोड तय कर लिए हैं. हालांकि, अभी तक ऐसा नहीं किया जा सकता. टेस्टिंग की रणनीति बनाने के लिए, एक और सवाल का जवाब देना होगा: क्या आपको यह पता होना चाहिए कि आपका ऐप्लिकेशन कैसे काम करता है या इस जानकारी के बिना टेस्ट करना बेहतर है? जवाब के आधार पर, टेस्ट केस बनाने और चुनने के लिए दो तरीके हैं:

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

ये दोनों तरीके, मैन्युअल और ऑटोमेटेड टेस्टिंग, दोनों पर लागू किए जा सकते हैं. हालांकि, सामान्य टेस्टिंग मोड के कुछ पहलू, इनमें से किसी एक पर ज़्यादा फ़ोकस कर सकते हैं. हम इस बारे में बाद में बताएंगे. फ़िलहाल, टेस्ट ऑटोमेशन को अलग-अलग टाइप में बांटकर देखते हैं.

टेस्ट ऑटोमेशन के टाइप: आपको कैसे टेस्ट करना है?

"कैसे" सवाल का जवाब देते समय, आपने पहले ही कुछ मैन्युअल टेस्टिंग करने का फ़ैसला कर लिया है. हालांकि, टेस्ट ऑटोमेशन के टाइप चुनना और उन्हें लागू करना थोड़ा मुश्किल है. ऑटोमेशन टेस्टिंग के टाइप, उन मेट्रिक से जुड़े होते हैं जिन्हें आपको अपने प्रोजेक्ट में बनाना है. आइए, सबसे ज़रूरी एट्रिब्यूट के बारे में ज़्यादा जानें.

जैसा कि पहले बताए गए मेम में दिखाया गया है, आपको पहले से ही दो तरह की टेस्टिंग के बारे में पता है: यूनिट टेस्टिंग और इंटिग्रेशन टेस्टिंग. तीसरा अहम टेस्ट, एंड-टू-एंड टेस्टिंग है. हालांकि, अब भी सभी भाषाओं के लिए यह सुविधा उपलब्ध नहीं है. आइए, इस बारे में ज़्यादा जानते हैं.

यूनिट टेस्टिंग

यूनिट टेस्टिंग एक तरह की टेस्टिंग है. इसमें किसी ऐप्लिकेशन के ऐसे छोटे हिस्सों या यूनिट की अलग-अलग और स्वतंत्र रूप से जांच की जाती है जिनकी जांच की जा सकती है. इससे यह पक्का किया जाता है कि वे सही तरीके से काम कर रही हैं या नहीं. इन यूनिट का स्कोप, फ़ंक्शन, क्लास या इंटरफ़ेस से लेकर सेवाओं या पूरे कॉम्पोनेंट तक हो सकता है. इनकी मुख्य विशेषताएं हैं: प्रोसेस करने की स्पीड, अलग-अलग प्रोसेस को अलग-अलग रखना, और आसानी से मैनेज करना. यूनिट टेस्टिंग के बारे में ज़्यादा जानने के लिए, यूनिट टेस्टिंग की गाइड पर जाएं.

यूनिट टेस्टिंग को आसानी से समझाने के लिए, इनपुट और आउटपुट दिखाया गया है.

इंटिग्रेशन टेस्टिंग

इंटिग्रेशन टेस्टिंग में, कॉम्पोनेंट या सिस्टम के बीच इंटरैक्शन पर फ़ोकस किया जाता है. दूसरे शब्दों में, यह इस बात पर निर्भर करता है कि वे एक साथ कितनी अच्छी तरह काम करते हैं. इंटिग्रेशन टेस्ट के सामान्य उदाहरण, एपीआई या कॉम्पोनेंट टेस्ट हैं.

इंटिग्रेशन टेस्टिंग को आसानी से समझाने के लिए बनाया गया इलस्ट्रेशन, जिसमें दो यूनिट के साथ काम करने का तरीका दिखाया गया है.

शुरू से आखिर तक की जांच

इन टेस्ट को अक्सर यूज़र इंटरफ़ेस (यूआई) टेस्ट कहा जाता है. इस नाम से इनके काम के बारे में ज़्यादा जानकारी मिलती है. ये टेस्ट आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करते हैं. इनमें ऐप्लिकेशन का पूरा स्टैक भी शामिल होता है. साथ ही, ये आपके ऐप्लिकेशन की पूरी जांच करते हैं.

शुरू से आखिर तक की जाने वाली टेस्टिंग को आसानी से समझाने के लिए बनाया गया इलस्ट्रेशन. इसमें कंप्यूटर को रोबोट के तौर पर दिखाया गया है, जो वर्कफ़्लो को देख रहा है.

क्वालिटी एश्योरेंस के सिद्धांत के हिसाब से, ये सिस्टम टेस्ट से मिलते-जुलते हैं. ये टेस्ट, किसी असली उपयोगकर्ता और उसके इंटरैक्शन को सिम्युलेट करते हैं. शुरू से आखिर तक की जांच में ज़्यादा रनटाइम लगता है, क्योंकि इसमें पूरा सिस्टम शामिल होता है. साथ ही, ज़्यादा रनटाइम के लिए ज़्यादा कंप्यूटिंग पावर की ज़रूरत होती है. इस वजह से, रखरखाव की लागत ज़्यादा हो जाती है.

विज़ुअल यूज़र इंटरफ़ेस (यूआई) की जांच

विज़ुअल टेस्ट, यूज़र इंटरफ़ेस (यूआई) टेस्ट की एक दिलचस्प सबकैटगरी है. ये टेस्ट, शुरू से आखिर तक की जाने वाली जांच के तौर पर काम करते हैं. इनकी मदद से, ऐप्लिकेशन के दिखने वाले आउटपुट की पुष्टि की जा सकती है. इस तरह के टेस्ट में, बदलाव के बाद एक स्क्रीनशॉट और “जैसा है वैसा ही रहे” (या गोल्डन फ़ाइल) वाला एक और स्क्रीनशॉट लिया जाता है. इसके बाद, इन नतीजों को समीक्षा करने वाले व्यक्ति को जांच और पुष्टि करने के लिए दिया जाता है. दूसरे शब्दों में, यह किसी पेज के दिखने में “विज़ुअल बग” ढूंढने में मदद करता है. यह सिर्फ़ फ़ंक्शनल बग के अलावा, ऐसे बग भी ढूंढता है जो साफ़ तौर पर एश्योरेशन में नहीं लिखे गए हैं.

स्टैटिक विश्लेषण

यहां एक और चीज़ के बारे में बताना है: स्टैटिक विश्लेषण. यह टेस्टिंग का कोई सामान्य तरीका नहीं है. हालांकि, बाद में क्वालिटी अश्योरेंस की रणनीतियों में यह एक अहम पहलू होगा. इसे स्पेल चेक फ़ंक्शन की तरह काम करते हुए देखा जा सकता है: यह प्रोग्राम चलाए बिना, आपके कोड को ज़्यादा गंभीर गड़बड़ियों और सिंटैक्स की गड़बड़ियों के लिए स्कैन करता है. इससे, कोड स्टाइल से जुड़ी समस्याओं का पता चलता है. इस आसान तरीके से, कई गड़बड़ियों को रोका जा सकता है. अगर आपको स्टैटिक ऐनालिसिस के बारे में ज़्यादा जानकारी चाहिए, तो यह एक अच्छा मौका है.

अलग-अलग तरह की टेस्टिंग: यह सब एक साथ कैसे काम करता है?

इन सभी सवालों के जवाब खोजते समय, आपको कुछ मिलती-जुलती स्थितियों में संभावित समाधान मिल सकता है. खास तौर पर, वेब और टेस्टिंग कम्यूनिटी में डेवलपर, इन एनालॉजी का इस्तेमाल करके आपको यह बताते हैं कि आपको किस तरह के कितने टेस्ट इस्तेमाल करने चाहिए.

पिरामिड, डायमंड, आइस कोन, मधुमक्खी के छत्ते, और ट्रॉफी जैसे कई आकार, जो टेस्ट की रणनीतियों को दिखाते हैं.

इस इमेज में दिखाई गई पांच रणनीतियां सबसे सामान्य हैं:

  • टेस्ट पिरामिड
  • टेस्ट डायमंड
  • टेस्ट आइस कोन (इसे टेस्ट पिज़्ज़ा भी कहा जाता है)
  • Honeycomb को टेस्ट करना
  • टेस्ट ट्रॉफ़ी

यह काफ़ी जानकारी है. इन सभी बातों के आधार पर, आपको मैचिंग टेस्ट की रणनीति कैसे तय करनी चाहिए? चिंता न करें, हम आपकी मदद करेंगे. अगले लेख में, हम इन अलग-अलग रणनीतियों के बारे में ज़्यादा जानकारी देंगे. साथ ही, अपने प्रोजेक्ट के लिए सबसे सही रणनीति चुनने का तरीका भी बताएंगे. हमारे साथ बने रहें! 🔥