आप एक परीक्षण को स्वचालित क्यों करना चाहेंगे?

आप एक परीक्षण को स्वचालित क्यों करेंगे? टेस्ट ऑटोमेशन से हमें क्या लाभ मिलता है?

अक्सर जब लोग स्वचालित परीक्षण में शामिल होते हैं, तो उनका मुख्य ध्यान अच्छे परीक्षणों को डिजाइन करने से हट जाता है ताकि यह सुनिश्चित हो सके कि स्वचालित कोड वास्तव में परीक्षण को निष्पादित और चला सकता है।

स्प्रिंट के दौरान जब टीम के सदस्यों पर एक सीमित समय सीमा में कहानियों को वितरित करने का दबाव होता है, तो आमतौर पर सभी नियोजित परिदृश्यों का परीक्षण करने के लिए पर्याप्त समय नहीं होता है, नई कार्यक्षमता का परीक्षण करने के लिए स्वचालित परीक्षण स्क्रिप्ट लिखने दें।


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



हम एक परीक्षण को स्वचालित क्यों करते हैं?

यह उन सवालों में से एक है जो मैं पूछता हूं जब मैं एक टेस्ट ऑटोमेशन भूमिका के लिए उम्मीदवारों का साक्षात्कार करता हूं और मेरे आश्चर्य की बात है, तो कई उम्मीदवार टेस्ट को स्वचालित करने के लिए मुख्य और सबसे महत्वपूर्ण कारण याद करते हैं। उम्मीदवारों से मुझे मिलने वाले कुछ उत्तर काफी विश्वसनीय हैं, लेकिन फिर भी वह उत्तर नहीं है जिसकी मुझे तलाश है। उपरोक्त प्रश्नों में से कुछ उत्तर मुझे मिले हैं:


टेस्ट कवरेज बढ़ाएँ

यह उत्तर काफी मान्य है, लेकिन हम कवरेज को कैसे परिभाषित करते हैं? यदि हमारे पास 100 परीक्षण हैं, तो हम प्रतिशत कवरेज कैसे माप सकते हैं?

जगह में एक परिपक्व परीक्षण स्वचालन अभ्यास के साथ, आप अपेक्षाकृत कम समय में सैकड़ों परीक्षण चला सकते हैं।

इस वजह से, हम दिए गए फ़ीचर के लिए अधिक परीक्षण मामले, अधिक परीक्षण परिदृश्य और अधिक इनपुट डेटा के साथ परीक्षण कर सकते हैं और इस प्रकार अधिक आत्मविश्वास प्राप्त कर सकते हैं कि वे सिस्टम अपेक्षित रूप से काम कर रहे हैं।

हालांकि, परीक्षण और विशेष रूप से परीक्षण स्वचालन में, अधिक परीक्षण वास्तव में बेहतर गुणवत्ता या बग ढूंढने की अधिक संभावना का मतलब नहीं है।


मार्टिन फाउलर की एक पोस्ट में, जहाँ वह डिस्कस करता है टेस्ट कवरेज , वह जिक्र करता है

यदि आप एक निश्चित स्तर के कवरेज को लक्ष्य बनाते हैं, तो लोग इसे प्राप्त करने का प्रयास करेंगे। परेशानी यह है कि कम गुणवत्ता परीक्षण के साथ उच्च कवरेज संख्या तक पहुंचना बहुत आसान है। आपके पास सबसे बेतुका स्तर है जोरदार प्रदर्शन । लेकिन इसके बिना भी आपको बहुत सी ऐसी चीज़ों की तलाश होती है जो शायद ही कभी गलत होती हैं जो आपको उन चीज़ों के परीक्षण से विचलित करती हैं।

समय बचाओ

यह उत्तर भी सही है क्योंकि आप स्वचालित परीक्षण के दौरान रोचक खोजपूर्ण परीक्षण करते हुए मूल्यवान समय व्यतीत कर सकते हैं। हालाँकि, एक नए फीचर के लिए जिसे विकसित किया गया है, वास्तव में पहले स्क्रिप्ट को मैन्युअल रूप से परीक्षण करने की तुलना में स्वचालित स्क्रिप्ट लिखने में अधिक समय लग सकता है।

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


अधिक कीड़े खोजें

यह उत्तर मुझे कभी-कभी चिंतित करता है क्योंकि मैंने कभी कोई मेट्रिक्स नहीं देखा है जो बताता है कि मैन्युअल / खोजपूर्ण परीक्षण की तुलना में स्वचालन द्वारा अधिक कीड़े पाए गए थे। नया कोड लागू होने के बाद सिस्टम में किसी भी प्रतिगमन के लिए स्वचालित परीक्षण आम तौर पर जांचते हैं।

मौजूदा कार्यक्षमता की तुलना में नई सुविधाओं में बग ढूंढने की अधिक संभावना है। इसके अलावा, अन्य कारण हैं क्यों स्वचालित परीक्षण दोष खोजने में विफल रहते हैं

मैनुअल परीक्षक बदलें

यह शायद सबसे खराब उत्तर है, जिसके बारे में मैंने सुना है कि हम एक परीक्षण को स्वचालित क्यों करते हैं। मैन्युअल परीक्षक क्या करता है और एक स्वचालित परीक्षण क्या करता है, इसके बीच एक स्पष्ट अंतर है। स्वचालित परीक्षण परीक्षण नहीं है, यह तथ्यों की जाँच है।

परीक्षण को स्वचालित करने में सक्षम होने के लिए, हमें अपेक्षित परिणाम जानने होंगे ताकि हम मान्य या अमान्य परिणाम की जांच कर सकें। यह वही है जो हमें सही या गलत, सकारात्मक या नकारात्मक, पास या विफल देता है।


दूसरी ओर परीक्षण एक जांच अभ्यास है, जहां हम एक साथ परीक्षण डिजाइन और निष्पादित करते हैं। कई चीजें अलग तरीके से व्यवहार कर सकती हैं जहां केवल एक पर्यवेक्षक मानव परीक्षक नोटिस कर सकता है।

अलग मानसिकता और प्रणाली पर सवाल उठाने की क्षमता के कारण अच्छे मैनुअल परीक्षकों की हमेशा जरूरत होगी।



गुणवत्ता सुधारो

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

हम यह सुनिश्चित करके गुणवत्ता में सुधार कर सकते हैं कि विकास चक्र के शुरू से अंत तक सही प्रथाओं का पालन किया जाए। गुणवत्ता एक बाद की बात नहीं है; इसे शुरुआत से ही दाईं ओर सेंकना चाहिए। उत्पाद की गुणवत्ता की तस्वीर पाने के लिए स्वचालित परीक्षणों पर भरोसा करना पर्याप्त नहीं है।




तो, मुख्य कारण क्या है कि हम एक परीक्षण को स्वचालित करते हैं?

संक्षिप्त उत्तर है repeatability । हम एक परीक्षण को स्वचालित करते हैं क्योंकि हमें एक ही परीक्षण को बार-बार निष्पादित करने की आवश्यकता होती है। क्या आप एक परीक्षण को स्वचालित करना चाहते हैं यदि आप केवल इसे एक बार चलाने जा रहे हैं और इसके बारे में भूल गए हैं? बिल्कुल नहीं! समय और प्रयास जो आप परीक्षण को स्वचालित करने पर खर्च करते हैं, आप इसे मैन्युअल रूप से निष्पादित कर सकते थे।

अब, परिभाषा के अनुसार, हम दोहराए जाने वाले परीक्षणों, यानी प्रतिगमन परीक्षणों को स्वचालित करते हैं, जिन्हें हमें अक्सर निष्पादित करने की आवश्यकता होती है।

तो, अगली बार, जब आप एक परीक्षण को स्वचालित करना चाहते हैं, तो एक कदम पीछे ले जाएं और सोचें कि आपको कितनी बार इस परीक्षण को निष्पादित करने की संभावना है? क्या यह वास्तव में परीक्षण को स्वचालित करने के प्रयास के लायक है?

दिलचस्प लेख