UNIT 3: सॉफ़्टवेयर परीक्षण

 

UNIT 3: सॉफ़्टवेयर परीक्षण

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


3.1. सॉफ़्टवेयर परीक्षण की बुनियादी बातें

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

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


3.1.1. यूनिट, इंटीग्रेशन, सिस्टम और स्वीकृति परीक्षण

ये विभिन्न प्रकार के सॉफ़्टवेयर परीक्षण हैं जो सॉफ़्टवेयर के जीवनचक्र के दौरान विभिन्न पहलुओं की जांच करने में मदद करते हैं।

  1. यूनिट परीक्षण:

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

    यूनिट परीक्षण का फ्लोचार्ट:

    प्रारंभ --> यूनिट परीक्षण केस लिखें --> परीक्षण केस चलाएं --> परिणाम जांचें --> परीक्षण पास? --> हां --> समाप्त | | v नहीं कोड डिबग करें
  2. इंटीग्रेशन परीक्षण:

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

    इंटीग्रेशन परीक्षण का फ्लोचार्ट:

    प्रारंभ --> मॉड्यूल एकीकृत करें --> इंटीग्रेशन परीक्षण चलाएं --> परिणाम जांचें --> एकीकरण कार्य करता है? | | v नहीं एकीकरण डिबग करें
  3. सिस्टम परीक्षण:

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

    सिस्टम परीक्षण का फ्लोचार्ट:

    प्रारंभ --> पूरे सिस्टम का परीक्षण करें --> सिस्टम व्यवहार जांचें --> सिस्टम आवश्यकताओं को पूरा करता है? | | v नहीं सिस्टम डिबग करें
  4. स्वीकृति परीक्षण:

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

    स्वीकृति परीक्षण का फ्लोचार्ट:

    प्रारंभ --> अंतिम उपयोगकर्ता परीक्षण परिदृश्य --> आवश्यकताओं की जांच करें --> सभी परीक्षण पास करते हैं? --> हां --> सॉफ़्टवेयर स्वीकृत | | v नहीं समस्याएं हल करें और पुनः परीक्षण करें

3.2. विभिन्न परीक्षण तकनीकों का परिचय

सॉफ़्टवेयर की गुणवत्ता, विश्वसनीयता और प्रदर्शन सुनिश्चित करने के लिए विभिन्न प्रकार की परीक्षण तकनीकें हैं। नीचे कुछ सामान्य परीक्षण तकनीकों का उल्लेख किया गया है:

  1. स्ट्रेस परीक्षण:

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

    स्ट्रेस परीक्षण का फ्लोचार्ट:

    प्रारंभ --> अधिकतम लोड/स्ट्रेस लागू करें --> सिस्टम व्यवहार की निगरानी करें --> सिस्टम क्रैश या पुनः प्राप्त होता है? | | v नहीं कमजोर बिंदुओं की पहचान करें
  2. प्रदर्शन परीक्षण:

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

    • परिभाषा: उपयोगिता परीक्षण यह जांचता है कि सॉफ़्टवेयर उपयोगकर्ता के दृष्टिकोण से कितनी आसानी से उपयोग किया जा सकता है।
    • उद्देश्य: यह सुनिश्चित करने के लिए कि सॉफ़्टवेयर उपयोगकर्ता के लिए सरल और उपयोगकर्ता-मित्र है।
    • उदाहरण: एक मोबाइल एप्लिकेशन का परीक्षण करना ताकि यह देखा जा सके कि उपयोगकर्ता ऐप को आसानी से नेविगेट कर सकते हैं और कार्य कर सकते हैं।
  4. सुरक्षा परीक्षण:

    • परिभाषा: सुरक्षा परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि सॉफ़्टवेयर सुरक्षित है और बाहरी खतरों से डेटा की सुरक्षा करता है।
    • उद्देश्य: यह सुनिश्चित करने के लिए कि सॉफ़्टवेयर से कोई सुरक्षा जोखिम या दोष नहीं है।
    • उदाहरण: एक ऑनलाइन बैंकिंग ऐप का परीक्षण करना ताकि यह देखा जा सके कि लेन-देन प्रक्रिया में कोई सुरक्षा दोष नहीं है।

3.3. परीक्षण केस लिखना और निष्पादित करना

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

परीक्षण केस लिखने के कदम:

  1. परीक्षण केस आईडी: परीक्षण केस का एक अद्वितीय पहचानकर्ता।
  2. परीक्षण विवरण: परीक्षण केस किसे सत्यापित करने के लिए है।
  3. परीक्षण कदम: परीक्षण के लिए विशिष्ट कदम।
  4. अपेक्षित परिणाम: सिस्टम के अपेक्षित परिणाम या व्यवहार।
  5. वास्तविक परिणाम: परीक्षण को निष्पादित करने के बाद वास्तविक परिणाम।
  6. स्थिति: परीक्षण पास/फेल (अपेक्षित और वास्तविक परिणाम की तुलना के आधार पर)।
  7. टिप्पणियाँ: अतिरिक्त नोट्स, जैसे परीक्षण के दौरान सामने आई समस्याएँ।

परीक्षण केस का उदाहरण:

परीक्षण केस आईडीपरीक्षण विवरणपरीक्षण कदमअपेक्षित परिणामवास्तविक परिणामस्थितिटिप्पणियाँ
TC001लॉगिन कार्यक्षमता सत्यापित करें1. लॉगिन पृष्ठ खोलें
2. मान्य क्रेडेंशियल्स दर्ज करें
3. लॉगिन पर क्लिक करें
उपयोगकर्ता को लॉगिन होना चाहिएउपयोगकर्ता सफलतापूर्वक लॉगिन हो गयापास-
TC002गलत क्रेडेंशियल्स के साथ लॉगिन सत्यापित करें1. लॉगिन पृष्ठ खोलें
2. गलत क्रेडेंशियल्स दर्ज करें
3. लॉगिन पर क्लिक करें
त्रुटि संदेश दिखाई देना चाहिएत्रुटि संदेश सही तरीके से दिखाया गयापास-

परीक्षण केस निष्पादित करना:

  1. परीक्षण सेटअप: परीक्षण के लिए पर्यावरण और डेटा तैयार करना।
  2. परीक्षण निष्पादन: परीक्षण केस में दिए गए कदमों का पालन करें और वास्तविक परिणाम की तुलना अपेक्षित परिणाम से करें।
  3. परिणाम लॉग करना: परीक्षण केस निष्पादन के परिणामों को रिकॉर्ड करें, जिसमें स्थिति (पास/फेल) और कोई भी समस्याएँ शामिल हों।
  4. बग रिपोर्टिंग: यदि परीक्षण विफल हो जाता है, तो बग को उपयुक्त विवरण के साथ दस्तावेज करें और समाधान के लिए विकास टीम को रिपोर्ट करें।

3.4. गुणवत्ता आश्वासन

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

गुणवत्ता आश्वासन के प्रमुख पहलू:

  1. प्रक्रिया मानकीकरण:

    • सॉफ़्टवेयर विकास और परीक्षण प्रक्रियाओं में समानता और निरंतरता सुनिश्चित करने के लिए मानक प्रक्रियाएँ और उपाय स्थापित करना।
    • उदाहरण: परीक्षण केस लिखने के लिए मानक प्रारूप परिभाषित करना।
  2. निरंतर सुधार:

    • विकास और परीक्षण प्रक्रियाओं की नियमित समीक्षा और सुधार, ताकि परीक्षण रणनीतियों को बेहतर बनाया जा सके और दोषों की संख्या कम की जा सके।
    • उदाहरण: प्रत्येक परीक्षण चक्र के बाद नियमित रूप से रेट्रोस्पेक्टिव्स करना।
  3. निवारक उपाय:

    • विकास चक्र के प्रारंभ में संभावित समस्याओं की पहचान करना और उन्हें जल्दी से ठीक करना।
    • उदाहरण: कोडिंग शुरू होने से पहले स्थैतिक कोड विश्लेषण करना, ताकि संभावित दोष पहचाने जा सकें।
  4. निगरानी और ऑडिटिंग:

    • मानकों का पालन करने के लिए प्रक्रियाओं की निगरानी और ऑडिट करना।
    • उदाहरण: यह सुनिश्चित करने के लिए आंतरिक ऑडिट करना कि टीम कोडिंग और परीक्षण मानकों का पालन कर रही है।

निष्कर्ष

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

Post a Comment

0 Comments