लेख

सॉफ्टवेयर परीक्षण क्या है, सॉफ्टवेयर का परीक्षण करने का क्या अर्थ है

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

सॉफ़्टवेयर परीक्षण, या सॉफ़्टवेयर परीक्षण, को अनुप्रयोग परीक्षण के रूप में भी जाना जाता है।

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

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

ब्लैक बॉक्स परीक्षण

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

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

ब्लैक बॉक्स टेस्टिंग को फंक्शनल टेस्टिंग या क्लोज्ड बॉक्स टेस्टिंग के नाम से भी जाना जाता है।

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

ब्लैक बॉक्स परीक्षण के लाभों में शामिल हैं:

  • सरलता: उच्च-स्तरीय परियोजनाओं और जटिल अनुप्रयोगों के परीक्षण की सुविधा प्रदान करता है
  • संसाधनों का संरक्षण करें: परीक्षक सॉफ्टवेयर की कार्यक्षमता पर ध्यान केंद्रित करते हैं।
  • परीक्षण मामले: परीक्षण मामलों के तेजी से विकास की सुविधा के लिए सॉफ्टवेयर कार्यक्षमता पर ध्यान दें।
  • लचीलापन प्रदान करता है: किसी विशिष्ट प्रोग्रामिंग ज्ञान की आवश्यकता नहीं है।

ब्लैक बॉक्स टेस्टिंग के कुछ नुकसान भी हैं, जो इस प्रकार हैं:

  • टेस्ट केस/स्क्रिप्ट डिजाइन और रखरखाव चुनौतीपूर्ण हो सकता है क्योंकि ब्लैक बॉक्स टेस्टिंग टूल ज्ञात इनपुट पर निर्भर करते हैं।
  • ग्राफिकल यूजर इंटरफेस (जीयूआई) के साथ इंटरैक्ट करने से टेस्ट स्क्रिप्ट खराब हो सकती है।
  • परीक्षण केवल आवेदन के कार्यों से संबंधित हैं।

व्हाइट बॉक्स परीक्षण

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

व्हाइट-बॉक्स परीक्षण के लाभों में शामिल हैं:

  • परीक्षण मामलों के पुन: उपयोग को सक्षम करता है और अधिक स्थिरता प्रदान करता है
  • कोड अनुकूलन की सुविधा देता है
  • विकास के प्रारंभिक चरण में छिपी हुई त्रुटियों के स्थानों को खोजने में सुविधा प्रदान करता है
  • प्रभावी अनुप्रयोग परीक्षण की सुविधा प्रदान करता है
  • कोड की अनावश्यक पंक्तियों को हटा दें


नुकसान में शामिल हैं:

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

यूनिट टेस्ट

एक यूनिट टेस्ट सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल (एसडीएलसी) का एक घटक है जिसमें वांछित उपयुक्तता या व्यवहार के लिए एक सॉफ्टवेयर प्रोग्राम के सबसे छोटे हिस्सों पर व्यक्तिगत रूप से एक व्यापक परीक्षण प्रक्रिया लागू की जाती है।


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

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

कार्यात्मक जॉच

कार्यात्मक परीक्षण एक परीक्षण प्रक्रिया है जिसका उपयोग सॉफ़्टवेयर विकास के भीतर किया जाता है जहाँ सॉफ़्टवेयर का परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि यह सभी आवश्यकताओं का अनुपालन करता है। यह सुनिश्चित करने के लिए सॉफ़्टवेयर की जाँच करने का एक तरीका है कि इसकी कार्यात्मक आवश्यकताओं में निर्दिष्ट सभी आवश्यक कार्यक्षमताएँ हैं।


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

नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

प्रतिगमन परीक्षण

प्रतिगमन परीक्षण एक प्रकार का सॉफ़्टवेयर परीक्षण है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि नई समस्याएँ सॉफ़्टवेयर परिवर्तनों का परिणाम हैं या नहीं।

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


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

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

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

तनाव परीक्षण

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

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


तनाव परीक्षण का उपयोग निम्नलिखित संदर्भों में किया जाता है:

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

स्वचालित परीक्षण

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

सतत वितरण (CD), सतत एकीकरण (CI), DevOps और DevSecOps में स्वचालित परीक्षण एक महत्वपूर्ण भूमिका निभाता है। स्वचालित परीक्षण के मुख्य लाभों में शामिल हैं:

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


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

सॉफ़्टवेयर परीक्षण को स्वचालित करने के लिए समय लेने से अंततः डेवलपर्स के समय की बचत होगी, जो कि एक कोड परिवर्तन मौजूदा कार्यक्षमता को तोड़ देगा।


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

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

विकास के दौरान मैनुअल परीक्षण अभी भी कई बार किया जाता है, लेकिन यह ज्यादातर डेवलपर्स या हार्डवेयर इंजीनियरों द्वारा स्वयं को जल्दी से देखने के लिए किया जाता है कि क्या उनके द्वारा किए गए परिवर्तनों का वांछित प्रभाव पड़ा है।

Ercole Palmeri

नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

हाल के लेख

कैटेनिया पॉलीक्लिनिक में एक एप्पल दर्शक के साथ, संवर्धित वास्तविकता में अभिनव हस्तक्षेप

कैटेनिया पॉलीक्लिनिक में ऐप्पल विज़न प्रो कमर्शियल व्यूअर का उपयोग करके एक ऑप्थाल्मोप्लास्टी ऑपरेशन किया गया…

3 मई 2024

बच्चों के लिए रंग भरने वाले पन्नों के लाभ - सभी उम्र के लोगों के लिए जादू की दुनिया

रंग भरने के माध्यम से बढ़िया मोटर कौशल विकसित करना बच्चों को लेखन जैसे अधिक जटिल कौशल के लिए तैयार करता है। रंग भरना…

2 मई 2024

भविष्य यहाँ है: कैसे शिपिंग उद्योग वैश्विक अर्थव्यवस्था में क्रांति ला रहा है

नौसैनिक क्षेत्र एक सच्ची वैश्विक आर्थिक शक्ति है, जो 150 अरब के बाज़ार की ओर बढ़ चुका है...

1 मई 2024

आर्टिफिशियल इंटेलिजेंस द्वारा संसाधित सूचना के प्रवाह को विनियमित करने के लिए प्रकाशक और ओपनएआई ने समझौते पर हस्ताक्षर किए

पिछले सोमवार को, फाइनेंशियल टाइम्स ने OpenAI के साथ एक समझौते की घोषणा की। एफटी अपनी विश्व स्तरीय पत्रकारिता को लाइसेंस देता है...

अप्रैल 30 2024

अपनी भाषा में इनोवेशन पढ़ें

नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

Seguici