Test Automation Tips: Everything You Need to Know Before Running Application Automated Teststopjankari.com

Test Automation Tips: Everything You Need to Know Before Running Application Automated Tests

Test Automation Tips: Everything You Need to Know Before Running Application Automated Tests.

save water save tree !

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

Test automation in Software Development

तो परीक्षण स्वचालन क्या है और यह वास्तव में कैसे काम करता है? जैसा कि नाम से पता चलता है कि विचार कुछ दोहराव वाले परीक्षण कार्यों को स्वचालित करना है। आइए एक उदाहरण देखें:

ब्रायन एक मैनुअल परीक्षक है - वह हर रोज काम करने के लिए आता है और यह जांचने के लिए कि कोई नया मुद्दा है या नहीं, एक आवेदन पर मैन्युअल जांच करता है। डेवलपर्स प्रतिदिन आवेदन करते हैं और बहुत सारे बदलाव करते हैं और नई सुविधाएं जोड़ते हैं, इसलिए उन्हें लॉगिन प्रक्रिया, पंजीकरण प्रक्रिया, खरीद प्रक्रिया और लगभग सौ अन्य कार्यक्षमताओं का परीक्षण करना पड़ता है। यह एक बेहद दोहराव वाला काम है इसलिए ब्रायन बहुत ऊब गया है और कभी-कभी कुछ चेक छोड़ देता है जब उनका मानना ​​है कि वे जरूरी नहीं हैं। यह वास्तव में पूरे आवेदन की जांच करने के लिए लगभग 3 घंटे लेता है और फिर वह किसी भी नए मुद्दे की रिपोर्ट करता है जिसे उसने पाया है, इसलिए यदि वे महत्वपूर्ण हैं या यदि उन्हें बिल्कुल तय किया जाना चाहिए तो बाद में फैसला किया जा सकता है।

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

ब्रायन एक स्वचालन परीक्षक है - वह हर रोज काम करने के लिए आता है और किसी भी नए मुद्दों को रोकने के लिए स्वचालित परीक्षण परिणामों की जांच करता है। मैन्युअल रूप से उन चेक करने के बजाय वह सिर्फ एक बटन दबाता है और परियोजना के अन्य गुणवत्ता पहलुओं पर केंद्रित होता है जबकि मशीन उसके लिए परीक्षण करती है। वह बहुत खुश है क्योंकि उसे लगता है कि वह उबाऊ दोहराव वाले कार्यों के बजाय एक विशेषज्ञ के रूप में अपने ज्ञान का विस्तार कर सकता है। उनके सहयोगी भी खुश हैं क्योंकि वे ब्रायन से खुद को जांचने के बिना ऐप में हर बदलाव के बाद परीक्षण के परिणाम देख सकते हैं।

बेशक यह उदाहरण काफी सरल है और आमतौर पर परीक्षण स्वचालन इतना सीधे नहीं होता है, लेकिन पूरी तरह से यह परीक्षण स्वचालन की अवधारणा को अच्छी तरह से समझता है।

When to automate?

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

Levels of automation

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

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

परीक्षण स्वचालन का एक और स्तर एकीकरण परीक्षण हैं। एक वेब एप्लिकेशन में अक्सर कई उप-मॉड्यूल होते हैं जो एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) के माध्यम से एक दूसरे के साथ बातचीत करते हैं जो मूल रूप से विभिन्न घटकों के बीच संचार के पूर्वनिर्धारित तरीकों का एक सेट होता है। कुछ पृष्ठ बाहरी भुगतान घटकों जैसे बैंक भुगतान विधियों या सोशल मीडिया के साथ भी संवाद करते हैं जिन्हें भेजने के लिए एक बहुत ही विशिष्ट अनुरोध की आवश्यकता होती है और समान रूप से विशिष्ट प्रतिक्रिया की अपेक्षा होती है। तो एक ऐसी स्थिति की कल्पना करना काफी आसान है जब एक निश्चित मॉड्यूल के लिए जिम्मेदार एक डेवलपर संचार प्रोटोकॉल बदलता है और यह किसी अन्य मॉड्यूल में दिखाई नहीं देता है। इस मामले में एक अच्छा परीक्षण कवरेज यह सुनिश्चित कर सकता है कि अंतिम उपयोगकर्ता तक पहुंचने से पहले ऐसे मुद्दों को जल्दी और तय किया जा सके। परीक्षण स्वचालन का यह स्तर आमतौर पर यूनिट परीक्षणों की तुलना में धीमा और बनाए रखना अधिक कठिन होता है लेकिन यह अभी भी काफी तेज़ है इसलिए इन परीक्षणों में से बहुत से आसानी से लिखे और बनाए रखा जा सकता है।

अंत में परीक्षण स्वचालन पिरामिड के शीर्ष - उपयोगकर्ता इंटरफ़ेस परीक्षण। वे परीक्षण अंतिम उपयोगकर्ता व्यवहार की नकल करते हैं। वे एक ब्राउज़र / एप्लिकेशन खोलते हैं और वास्तविक उपयोगकर्ता के समान कार्य करते हैं। इस तरह के परीक्षण बहुत मूल्यवान हैं क्योंकि वे कई स्तरों पर त्रुटियां उठा सकते हैं। इससे कोई फर्क नहीं पड़ता कि दो घटक बुरी तरह संवाद करते हैं, चाहे कोड तर्क गलत है या कोई बटन गुम है या नहीं - परिणाम अभी भी अपेक्षित से अलग होगा और परीक्षण इसे उठाएगा। हालांकि, बड़ी शक्ति के साथ बहुत अच्छी कीमत आती है ... क्योंकि इस प्रकार के परीक्षण बहुसंख्यक परिवर्तनों के लिए प्रवण होने के कारण बनाने और बनाए रखने के लिए सबसे महंगे हैं। डिजाइन में एक साधारण बदलाव अक्सर परीक्षण में एक अद्यतन की आवश्यकता हो सकती है। वे धीरे-धीरे निष्पादित करते हैं क्योंकि उन्हें वैसे ही सब कुछ करना पड़ता है जैसे उपयोगकर्ता ऐसा करेगा - यानी उन्हें पेज लोड होने और ब्राउज़र में डेटा दिखाने के लिए इंतजार करना होगा। अंत में, वे कभी-कभी संक्षिप्त नेटवर्क अधिभार या पृष्ठ स्क्रिप्ट सही ढंग से लोड नहीं होने के कारण गलत परिणाम दिखा सकते हैं। जब तक आपके पास बहुत सारे संसाधन न हों या आप प्रत्येक मामूली मामूली मुद्दे को खोजने पर बेहद ध्यान केंद्रित कर रहे हैं, तो उन परीक्षणों की संख्या को धीमा होने के लिए सीमित रखने की अनुशंसा की जाती है (यदि आपके पास सैकड़ों हैं तो कुछ घंटों या उससे अधिक समय तक) और अधिक आवश्यकता है अद्यतन करने और उनके परिणामों की जांच करने का प्रयास।

The risk of test automation

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

The benefits of test automation

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

Link