सॉफ़्टवेयर परीक्षण, या सॉफ़्टवेयर परीक्षण, को अनुप्रयोग परीक्षण के रूप में भी जाना जाता है।
सॉफ्टवेयर परीक्षण मुख्य रूप से कई परस्पर प्रक्रियाओं से बनी एक बड़ी प्रक्रिया है। सॉफ्टवेयर परीक्षण का मुख्य उद्देश्य सॉफ्टवेयर की अखंडता को उसकी मूलभूत आवश्यकताओं के संदर्भ में पूर्णता के साथ मापना है। सॉफ़्टवेयर परीक्षण में विभिन्न परीक्षण प्रक्रियाओं के माध्यम से सॉफ़्टवेयर की जाँच और परीक्षण शामिल है। इन प्रक्रियाओं के उद्देश्यों में शामिल हो सकते हैं:
कार्यात्मक/व्यावसायिक आवश्यकताओं के विरुद्ध सॉफ्टवेयर पूर्णता का सत्यापन
बग/तकनीकी त्रुटियों की पहचान करना और यह सुनिश्चित करना कि सॉफ्टवेयर त्रुटि मुक्त है
प्रयोज्यता, प्रदर्शन, सुरक्षा, स्थानीयकरण, अनुकूलता और स्थापना का मूल्यांकन
परीक्षण किए गए सॉफ़्टवेयर को पूर्ण होने या उपयोग के लिए उपयुक्त होने के लिए सभी परीक्षणों को पास करना होगा। विभिन्न प्रकार के सॉफ़्टवेयर परीक्षण विधियों में से कुछ में व्हाइट बॉक्स परीक्षण, ब्लैक बॉक्स परीक्षण और ग्रे बॉक्स परीक्षण शामिल हैं। इसके अलावा, सॉफ्टवेयर को समग्र रूप से, घटकों/इकाइयों में या लाइव सिस्टम के भीतर परीक्षण किया जा सकता है।
ब्लैक बॉक्स टेस्टिंग एक सॉफ्टवेयर परीक्षण तकनीक है जो सिस्टम की आंतरिक कार्यप्रणाली के संबंध में सॉफ्टवेयर की कार्यक्षमता का विश्लेषण करने पर केंद्रित है। ब्लैक बॉक्स टेस्टिंग को ग्राहकों की आवश्यकताओं, विशिष्टताओं और उच्च-स्तरीय डिजाइन रणनीतियों के विश्लेषण के लिए एक विधि के रूप में विकसित किया गया था।
एक ब्लैक बॉक्स परीक्षण परीक्षक वैध और अमान्य कोड निष्पादन और इनपुट शर्तों के एक सेट का चयन करता है और वैध आउटपुट प्रतिक्रियाओं की जांच करता है।
ब्लैक बॉक्स टेस्टिंग को फंक्शनल टेस्टिंग या क्लोज्ड बॉक्स टेस्टिंग के नाम से भी जाना जाता है।
एक खोज इंजन ब्लैक बॉक्स परीक्षण के अधीन एक आवेदन का एक सरल उदाहरण है। एक सर्च इंजन यूजर वेब ब्राउजर के सर्च बार में टेक्स्ट एंटर करता है। खोज इंजन तब उपयोगकर्ता डेटा परिणाम (आउटपुट) का पता लगाता है और पुनर्प्राप्त करता है।
ब्लैक बॉक्स परीक्षण के लाभों में शामिल हैं:
ब्लैक बॉक्स टेस्टिंग के कुछ नुकसान भी हैं, जो इस प्रकार हैं:
व्हाइट-बॉक्स परीक्षण के दौरान, पूर्व-चयनित आउटपुट मानों को मान्य करने के लिए कोड को पूर्व-चयनित इनपुट मानों के साथ चलाया जाता है। व्हाइट-बॉक्स परीक्षण में अक्सर स्टब कोड लिखना शामिल होता है (एक विशिष्ट विशेषता को बदलने के लिए उपयोग किया जाने वाला कोड का एक टुकड़ा। एक स्टब मौजूदा कोड के व्यवहार का अनुकरण कर सकता है, जैसे कि रिमोट मशीन पर एक प्रक्रिया।) और ड्राइवर भी।
व्हाइट-बॉक्स परीक्षण के लाभों में शामिल हैं:
नुकसान में शामिल हैं:
एक यूनिट टेस्ट सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल (एसडीएलसी) का एक घटक है जिसमें वांछित उपयुक्तता या व्यवहार के लिए एक सॉफ्टवेयर प्रोग्राम के सबसे छोटे हिस्सों पर व्यक्तिगत रूप से एक व्यापक परीक्षण प्रक्रिया लागू की जाती है।
एक इकाई परीक्षण एक गुणवत्ता माप और मूल्यांकन प्रक्रिया है जिसे अधिकांश उद्यम सॉफ्टवेयर विकास गतिविधियों में लागू किया जाता है। सामान्य तौर पर, एक इकाई परीक्षण यह मूल्यांकन करता है कि सॉफ़्टवेयर कोड सॉफ़्टवेयर/एप्लिकेशन/प्रोग्राम के समग्र लक्ष्य के अनुरूप कितना अच्छा है और इसकी उपयुक्तता अन्य छोटी इकाइयों को कैसे प्रभावित करती है। यूनिट परीक्षण मैन्युअल रूप से किया जा सकता है - एक या अधिक डेवलपर्स द्वारा - या स्वचालित सॉफ़्टवेयर समाधान के माध्यम से।
परीक्षण के दौरान, प्रत्येक इकाई को मुख्य कार्यक्रम या इंटरफ़ेस से अलग किया जाता है। इकाई परीक्षण आमतौर पर विकास के बाद और परिनियोजन से पहले किया जाता है, इस प्रकार एकीकरण और प्रारंभिक समस्या का पता लगाने में सुविधा होती है। एक इकाई का आकार या दायरा प्रोग्रामिंग भाषा, सॉफ्टवेयर अनुप्रयोग और परीक्षण उद्देश्यों के आधार पर भिन्न होता है।
कार्यात्मक परीक्षण एक परीक्षण प्रक्रिया है जिसका उपयोग सॉफ़्टवेयर विकास के भीतर किया जाता है जहाँ सॉफ़्टवेयर का परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि यह सभी आवश्यकताओं का अनुपालन करता है। यह सुनिश्चित करने के लिए सॉफ़्टवेयर की जाँच करने का एक तरीका है कि इसकी कार्यात्मक आवश्यकताओं में निर्दिष्ट सभी आवश्यक कार्यक्षमताएँ हैं।
कार्यात्मक परीक्षण मुख्य रूप से यह सत्यापित करने के लिए उपयोग किया जाता है कि सॉफ़्टवेयर का एक टुकड़ा अंतिम उपयोगकर्ता या व्यवसाय द्वारा अपेक्षित आउटपुट प्रदान करता है। आमतौर पर, कार्यात्मक परीक्षण में व्यावसायिक आवश्यकताओं के विरुद्ध प्रत्येक सॉफ़्टवेयर फ़ंक्शन का मूल्यांकन और तुलना करना शामिल होता है। सॉफ्टवेयर को कुछ संबंधित इनपुट देकर परीक्षण किया जाता है ताकि आउटपुट का मूल्यांकन यह देखने के लिए किया जा सके कि यह अपनी मूलभूत आवश्यकताओं के अनुरूप, संबंधित या भिन्न कैसे है। इसके अलावा, कार्यात्मक परीक्षण सॉफ्टवेयर की उपयोगिता की भी जांच करते हैं, उदाहरण के लिए यह सुनिश्चित करना कि नेविगेशन कार्य आवश्यकतानुसार काम करता है।
प्रतिगमन परीक्षण एक प्रकार का सॉफ़्टवेयर परीक्षण है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि नई समस्याएँ सॉफ़्टवेयर परिवर्तनों का परिणाम हैं या नहीं।
परिवर्तन लागू करने से पहले, एक कार्यक्रम का परीक्षण किया जाता है। परिवर्तन लागू होने के बाद, चयनित क्षेत्रों में यह पता लगाने के लिए कार्यक्रम का पुन: परीक्षण किया जाता है कि क्या परिवर्तन ने नई बग या समस्याएं पैदा की हैं, या वास्तविक परिवर्तन ने अपने इच्छित उद्देश्य को पूरा किया है या नहीं।
बड़े सॉफ्टवेयर अनुप्रयोगों के लिए प्रतिगमन परीक्षण आवश्यक है, क्योंकि यह जानना अक्सर मुश्किल होता है कि क्या किसी समस्या के एक हिस्से को बदलने से आवेदन के एक अलग हिस्से के लिए एक नई समस्या पैदा हो गई है। उदाहरण के लिए, बैंक आवेदन ऋण फॉर्म में बदलाव के परिणामस्वरूप मासिक लेनदेन रिपोर्ट विफल हो सकती है। ज्यादातर मामलों में, समस्याएँ असंबंधित लग सकती हैं, लेकिन वे वास्तव में एप्लिकेशन डेवलपर्स के बीच निराशा का कारण हो सकती हैं।
अन्य स्थितियों में प्रतिगमन परीक्षण की आवश्यकता होती है, जिसमें यह पता लगाना शामिल है कि क्या कुछ परिवर्तन एक निर्धारित लक्ष्य को प्राप्त करते हैं या मुद्दों से जुड़े नए खतरों के लिए परीक्षण करते हैं जो बिना किसी समस्या के एक अवधि के बाद फिर से प्रकट होते हैं।
आधुनिक प्रतिगमन परीक्षण मुख्य रूप से विशेष वाणिज्यिक परीक्षण उपकरणों के माध्यम से नियंत्रित किया जाता है जो मौजूदा सॉफ़्टवेयर के स्नैपशॉट लेते हैं जिनकी तुलना एक विशिष्ट परिवर्तन को लागू करने के बाद की जाती है। मानव परीक्षकों के लिए स्वचालित सॉफ़्टवेयर परीक्षकों के समान कुशलता से समान कार्य करना लगभग असंभव है। यह बैंकों, अस्पतालों, निर्माण कंपनियों और बड़े खुदरा विक्रेताओं जैसे बड़े आईटी परिवेशों में बड़े और जटिल सॉफ़्टवेयर अनुप्रयोगों के साथ विशेष रूप से सच है।
तनाव परीक्षण सॉफ्टवेयर या हार्डवेयर का परीक्षण करने के लिए संदर्भित करता है ताकि यह निर्धारित किया जा सके कि इसका प्रदर्शन चरम और प्रतिकूल परिस्थितियों में संतोषजनक है या नहीं, जो भारी नेटवर्क ट्रैफ़िक, प्रक्रिया लोडिंग, अंडरक्लॉकिंग, ओवरक्लॉकिंग और संसाधनों की चरम उपयोग मांगों के परिणामस्वरूप हो सकता है।
अधिकांश प्रणालियाँ सामान्य परिचालन स्थितियों को मानते हुए विकसित की जाती हैं। इसलिए, भले ही एक सीमा पार हो गई हो, अगर विकास के दौरान सिस्टम का तनाव परीक्षण किया जाता है तो त्रुटियां नगण्य होती हैं।
तनाव परीक्षण का उपयोग निम्नलिखित संदर्भों में किया जाता है:
स्वचालित परीक्षण (सॉफ़्टवेयर परीक्षण स्वचालन) कोड परीक्षण के लिए एक दृष्टिकोण है जो विशेष सॉफ़्टवेयर टूल का उपयोग करता है जो स्वचालित रूप से परीक्षण चलाते हैं और फिर अपेक्षित परिणामों के साथ वास्तविक परीक्षण परिणामों की तुलना करते हैं।
सतत वितरण (CD), सतत एकीकरण (CI), DevOps और DevSecOps में स्वचालित परीक्षण एक महत्वपूर्ण भूमिका निभाता है। स्वचालित परीक्षण के मुख्य लाभों में शामिल हैं:
सॉफ़्टवेयर विकास में, निर्माण प्रक्रिया के दौरान स्वचालित परीक्षण करना विशेष रूप से उपयोगी होता है ताकि यह सुनिश्चित किया जा सके कि कोई एप्लिकेशन बिल्ड त्रुटियों से मुक्त है और अपना इच्छित कार्य करता है।
सॉफ़्टवेयर परीक्षण को स्वचालित करने के लिए समय लेने से अंततः डेवलपर्स के समय की बचत होगी, जो कि एक कोड परिवर्तन मौजूदा कार्यक्षमता को तोड़ देगा।
विकास प्रक्रिया में परीक्षण एक बहुत ही महत्वपूर्ण चरण है। यह सुनिश्चित करता है कि सभी बग ठीक हो गए हैं और यह कि उत्पाद, सॉफ़्टवेयर या हार्डवेयर, जितना संभव हो सके या अपने लक्षित प्रदर्शन के करीब प्रदर्शन करता है। मैन्युअल परीक्षण के बजाय स्वचालित परीक्षण, लागत प्रभावी सॉफ़्टवेयर को लगातार वितरित करने के लिए आवश्यक है जो कम से कम दोषों के साथ समयबद्ध तरीके से उपयोगकर्ता की जरूरतों को पूरा करता है।
विकास के दौरान मैनुअल परीक्षण अभी भी कई बार किया जाता है, लेकिन यह ज्यादातर डेवलपर्स या हार्डवेयर इंजीनियरों द्वारा स्वयं को जल्दी से देखने के लिए किया जाता है कि क्या उनके द्वारा किए गए परिवर्तनों का वांछित प्रभाव पड़ा है।
Ercole Palmeri
कैटेनिया पॉलीक्लिनिक में ऐप्पल विज़न प्रो कमर्शियल व्यूअर का उपयोग करके एक ऑप्थाल्मोप्लास्टी ऑपरेशन किया गया…
रंग भरने के माध्यम से बढ़िया मोटर कौशल विकसित करना बच्चों को लेखन जैसे अधिक जटिल कौशल के लिए तैयार करता है। रंग भरना…
नौसैनिक क्षेत्र एक सच्ची वैश्विक आर्थिक शक्ति है, जो 150 अरब के बाज़ार की ओर बढ़ चुका है...
पिछले सोमवार को, फाइनेंशियल टाइम्स ने OpenAI के साथ एक समझौते की घोषणा की। एफटी अपनी विश्व स्तरीय पत्रकारिता को लाइसेंस देता है...