यदि आपको कभी अपने कोड में किसी बग को ट्रैक करना पड़ा है, तो आप जानते हैं कि यह कितना निराशाजनक हो सकता है। यह निराशा तभी बढ़ती है जब आप बड़े कोडबेस पर काम कर रहे हों।
परीक्षण आपको यह जांचने की अनुमति देता है कि आपके कोड के परिणाम आपकी अपेक्षाओं से मेल खाते हैं या नहीं। इस तरह, आप अपने आवेदन को परिनियोजित करने से पहले किसी समस्या को आसानी से पहचान सकते हैं और ठीक कर सकते हैं। कोड त्रुटियों को तेज़ी से पहचानने में आपकी सहायता करने के अलावा, परीक्षण आपको अच्छा कोड लिखने के लिए भी बाध्य करता है।
1. स्थैतिक परीक्षण
स्थैतिक परीक्षण उन परीक्षणों को संदर्भित करता है जो कोड निष्पादित किए बिना चलते हैं। यह कोड की तुलना पहले से निर्धारित कोडिंग नियमों से करने पर होता है। स्टैटिक टेस्टिंग करने के सामान्य तरीकों में लाइनिंग और टाइप चेकिंग शामिल हैं।
लाइनिंग में प्रोग्रामिंग और शैलीगत त्रुटियों के लिए कोड की जाँच करना शामिल है। एक लिंटर कोड का विश्लेषण करता है और संभावित त्रुटियों को चिह्नित करता है। लाइनिंग टूल के उदाहरण EsLint, PyLint, और CSSLint हैं।
टाइप चेकिंग टाइपिंग नियमों और मूल्यों पर बाधाओं को लागू करने की प्रक्रिया है। कुछ प्रोग्रामिंग भाषाएं दृढ़ता से टाइप की जाती हैं, जिसका अर्थ है कि जब मान अच्छी तरह से टाइप नहीं किए जाते हैं तो वे त्रुटियां फेंक देते हैं।
हालांकि, जावास्क्रिप्ट जैसी कुछ भाषाओं में कमजोर टाइपिंग प्रणाली होती है और ये अधिक क्षमाशील होती हैं। इन भाषाओं में, गलतियों को पकड़ना मुश्किल होता है, और एक टाइप-चेकिंग लाइब्रेरी आवश्यक है। जावास्क्रिप्ट के लिए, आप कर सकते हैं मजबूत टाइपिंग को लागू करने के लिए टाइपस्क्रिप्ट का उपयोग करें.
आप स्वचालित रूप से कोड का विश्लेषण करने के लिए स्थिर विश्लेषण टूल का भी उपयोग कर सकते हैं। ये उपकरण कोड की गुणवत्ता को सत्यापित करते हैं और किसी भी मुद्दे पर रिपोर्ट करते हैं। बाजार में स्थिर विश्लेषण उपकरण के उदाहरण सोनारक्यूब, डीपसोर्स और स्पॉटबग्स हैं। स्थिर विश्लेषक चुनते समय, सुनिश्चित करें कि यह आपकी प्रोग्रामिंग भाषा का समर्थन करता है।
2. यूनिट टेस्ट
यूनिट परीक्षण यह निर्धारित करने के लिए आवेदन के सबसे छोटे परीक्षण योग्य भागों की जांच करते हैं कि क्या वे अपेक्षित रूप से कार्य करते हैं। आप फ़ंक्शंस, मॉड्यूल, ऑब्जेक्ट आदि के लिए यूनिट टेस्ट लिख सकते हैं।
जबकि यूनिट परीक्षण समय लेने वाले हो सकते हैं, उन्हें आपके द्वारा खर्च किए जाने से अधिक समय बचाना चाहिए एप्लिकेशन को डिबग करना आपके द्वारा सभी कोड लिखे जाने के बाद।
आम तौर पर, इकाई परीक्षण में चार चरण होते हैं:
- परीक्षण बनाना
- परीक्षण की समीक्षा
- बेसलाइनिंग
- परीक्षण का निष्पादन।
आप यूनिट परीक्षण मैन्युअल रूप से लिख सकते हैं या यूनिट परीक्षण ढांचे का उपयोग करके उन्हें स्वचालित कर सकते हैं। मैन्युअल परीक्षण में, आपको आवश्यक फ़ंक्शन या इकाई का परीक्षण करने के लिए कोड लिखना होगा, फिर बाद में परीक्षण कोड हटा देना चाहिए।
यदि एक ढांचे का उपयोग कर रहे हैं, तो उस इकाई को निर्दिष्ट करें जिसका आप परीक्षण कर रहे हैं और अपेक्षित परिणाम हैं, फिर परीक्षण चलाएं। परीक्षण ढांचा तब विफल और उत्तीर्ण परीक्षणों को लॉग करेगा। फ्रेमवर्क का उपयोग करना आम तौर पर बेहतर होता है क्योंकि यह तेज़ होता है।
एक इकाई परीक्षण लिखते समय, सुनिश्चित करें कि आप जिस इकाई का परीक्षण कर रहे हैं वह स्वतंत्र है। यदि यह बाहरी डेटा जैसे चर पर निर्भर करता है, तो आप मॉक का उपयोग कर सकते हैं। मॉक यूनिट में उपयोग किए गए लापता डेटा की जगह लेते हैं।
उदाहरण के लिए, यदि आप किसी ऐसे फ़ंक्शन का परीक्षण कर रहे हैं जो निर्भर करता है एपीआई से प्राप्त डेटा, आप परीक्षण उद्देश्यों के लिए नकली डेटा ऑब्जेक्ट बना सकते हैं।
3. एकीकरण परीक्षण
एकीकरण परीक्षण जांचते हैं कि विभिन्न घटक एक साथ कैसे कार्य करते हैं। यह इकाई परीक्षणों के विपरीत है जो स्वतंत्र घटकों का परीक्षण करते हैं। यूनिट परीक्षणों के बाद आप एकीकरण परीक्षण लिखते हैं।
एकीकरण परीक्षण आवश्यक हैं क्योंकि वे सुनिश्चित करते हैं कि आपका आवेदन तर्क धारण करता है।
उदाहरण के लिए, दो मॉड्यूल पर विचार करें: एक जो एपीआई से डेटा प्राप्त करता है और दूसरा जो इसका विश्लेषण करता है। आप यह सुनिश्चित करना चाहेंगे कि आपके कोड ने सही डेटा प्राप्त किया और उसका सही विश्लेषण किया।
यह वह जगह है जहाँ एकीकरण परीक्षण आता है। यह एक मॉड्यूल से दूसरे मॉड्यूल में तर्क प्रवाह में कोई बग सुनिश्चित नहीं करता है।
4. एंड-टू-एंड टेस्ट
एंड-टू-एंड परीक्षण अंतिम उपयोगकर्ता के दृष्टिकोण से एप्लिकेशन प्रवाह की जांच करता है। प्रक्रिया शुरू से अंत तक एप्लिकेशन का परीक्षण करती है, क्योंकि उपयोगकर्ता एप्लिकेशन का उपयोग करेगा। ये परीक्षण इकाई परीक्षण या एकीकरण परीक्षण की तुलना में अधिक कवरेज प्रदान करते हैं।
एंड-टू-एंड परीक्षण एप्लिकेशन की निर्भरता, डेटाबेस और बाहरी संचार को परिभाषित करते हैं। वे वास्तविक दुनिया के परिदृश्य को यथासंभव सटीक रूप से दोहराते हैं।
उदाहरण के लिए, साइनअप फॉर्म का परीक्षण करते समय, एक एंड-टू-एंड परीक्षण विभिन्न परिदृश्यों का परीक्षण करेगा जैसे:
- ईमेल और पासवर्ड दोनों सबमिट करने वाला उपयोगकर्ता
- कमजोर पासवर्ड का उपयोग करने वाला उपयोगकर्ता
- अमान्य ईमेल का उपयोग करने वाला उपयोगकर्ता
- केवल एक ईमेल सबमिट करने वाला उपयोगकर्ता
- केवल एक पासवर्ड सबमिट करने वाला उपयोगकर्ता
एंड-टू-एंड परीक्षण यह सुनिश्चित करते हैं कि एप्लिकेशन इन परिदृश्यों में अपेक्षित व्यवहार करे।
लेखन टेस्ट बनाम। कोड लिखना
विकास प्रक्रिया में अपने आवेदन का जल्दी परीक्षण करना महत्वपूर्ण है। जबकि ये सभी परीक्षण आवश्यक हैं, आपके लिए काम करने वाला संतुलन खोजना महत्वपूर्ण है। अन्यथा, आप कोड के बजाय परीक्षण लिखने में बहुत अधिक समय व्यतीत करेंगे।
अधिकांश अनुप्रयोगों के लिए इकाई परीक्षण महत्वपूर्ण है, और आप इसके लिए पर्याप्त समय आवंटित करना चाह सकते हैं। एक बार जब आप यूनिट परीक्षण कर लेते हैं, तो आप सुनिश्चित हो सकते हैं कि आपके एप्लिकेशन के बिल्डिंग ब्लॉक्स सही तरीके से काम कर रहे हैं।