Acceptance Testing in Software Testing in Hindi

नमस्कार, आज की इस पोस्ट मैं हम Software Testing के महत्वपूर्ण पहलू Acceptance Testing के बारे मैं पड़ेंगे। इसमें हम Acceptance Testing के Types और Advantages, Disadvantages के बारे मैं भी जानेंगे। इसीलिए इस पोस्ट को अंत तक जरूर पढ़े।

Introduction

Acceptance Testing, जो है वह software टेस्टिंग का एक बहुत ही महत्वपूर्ण हिस्सा है जो यह सुनिश्चित करता है की सॉफ्टवेयर यूजर की हर तरह की जरूरत और business requirements एक साथ aligned हो। इस टेस्टिंग का सबसे बड़ा उद्देश्य यह होता है की यूजर जिस सिस्टम का उपयोग कर रहे है वह business requirements के मुताबिक काम करे। इसके साथ ही, यह भी देखा जाता है की यह सिस्टम delivery के लिए acceptable है या नहीं।

तो इस पोस्ट में हम Acceptance Testing से जुड़े कुछ महत्वपूर्ण टॉपिक पर चर्चा करने वाले है।

What is Acceptance Testing in Hindi

यह एक तरह का formal टेस्टिंग phase होता है जो सॉफ्टवेयर के user की requirements, needs, और business processes को सुनिश्चित करता है। इस टेस्टिंग में यह देखा जाता है, की software specified standards और उपयोगकर्ताओं की सभी ज़रूरतों को पूरा किया जा रहा है या नहीं।

यह टेस्टिंग एक तरह की Black Box टेस्टिंग होती है, जिसमे उपयोगकर्ता भी शामिल होते है। ताकि यूजर जिस सिस्टम का उपयोग कर रहे है, उसका acceptance level check किया जा सके। यह टेस्टिंग software testing का चौथा और सबसे लास्ट phase होता है। जिसको सिस्टम टेस्टिंग के बाद और system को वास्तविक उपयोग के लिए release करने से पहले उपयोग करके टेस्ट किया जाता है।

Flow of Acceptance Testing
Flow of Acceptance Testing

Why Acceptance Testing is Essential

जब भी हम Unit Testing, Integration Testing और System Testing को पूरा कर लेते है तो उसके बाद ही हमें पता चलता है, की Acceptance Testing ज्यादा जरूरी नहीं है, लेकिन फिर भी यह एक critical step होती है। इसका सबसे मुख्य purpose यह ensure करना होता है की सॉफ्टवेयर end-users या stakeholders के expectations को अच्छी तरह से पूरा करे। Acceptance Testing के उपयोग से हम यह confirm करते है की जो features और functionalities deliver हो रही है वह real-world की जो परिस्थिति है उन में जैसा हमने सोचा है उस तरह काम करेंगी की नहीं। इसके अलाबा इसमें ऐसे bugs या issues तो नहीं है जो users के experience को नुक्सान पंहुचा सकते है।

  • Project development करते समय, अगर requirements में किसी भी तरह के changes हो जाए और वह development team यानि जो प्रोजेक्ट को develop कर रहे है उन तक clearly communicate न हो, तो काफी ज्यादा problems आ सकती है।
  • इसमें Developers अपने हिसाब से requirement document को समझने के बाद ही काम करते है लेकिन कभी – कभी वह client की actual जरूरतों को सही तरह समझ नहीं पाते है।
  • इसमें कुछ छोटी – छोटी गलतिया तो ऐसी होती है जो तभी समझ में आती है, जब end user सिस्टम को real-world में उपयोग करता है। इन छोटे – छोटे errors को पकड़ने के लिए acceptance testing बहुत जरूरी है, ताकि प्रोडक्ट release होने से पहले सारी expectations को पूरा कर सके।

जब application पूरी तरह से bug-free हो जाता है तो हम उससे customer को उपयोग करने के लिए handover कर देते है। लेकिन फिर customer बिना टेस्ट किए application को accept नहीं करता है। इसलिए, वो अपनी satisfaction के लिए एक टेस्टिंग राउंड करता है, जो ‘User Acceptance Testing’ (UAT) के नाम से जाना जाता है।

Why is acceptance testing important?

किसी भी सॉफ्टवेयर को develop करने के बाद testing team को इस स्टेप को पूरा करना बहुत जरूरी होता है क्योकि Acceptance टेस्टिंग बहुत ही important है। अगर testing team इस को skip करती है तो इसके बहुत ज्यादा chances होते है की software initial requirements को एक दूसरे के साथ मिलान न करे। SDLC में system testing के पूरा होने के बाद टेस्टिंग team को एक्सेप्टेन्स टेस्टिंग ज़रूर कंडक्ट करना चाहिए ताकि initial expectations से alignment सुनिश्चित हो :

  • ये टेस्टिंग यह ensure करने के लिए बहुत जरूरी है की software expected अच्छे तरीके से काम करे।
  • यह confirm करने के लिए भी बहुत जरूरी है की software market standards पर खरा उतरा है और competitors के प्रोडक्ट्स से बराबरी कर सकता है या की नहीं।
  • प्रोडक्ट्स के Productio में deploy करने से पहले software पर confidence build करने के लिए भी इसका होना बहुत ही जरूरी है।
  • सॉफ्टवेयर इंजीनियरिंग में इस testing के कई प्रकार होते है जो यह confirm करते है की आपने जिस प्रोडक्ट को बनाया है वह initial specifications के साथ align करता है की नहीं।

Use of Acceptance Testing

  1. Functional testing करते समय टेस्टिंग टीम से जो defects छूट गए है उनको ढूढ़ना और फिर उन्हें ठीक करना।
  2. Product development की quality को अच्छे से समझना और यह ensure करना की सब कुछ अच्छी तरह बना है की नहीं।
  3. इसका का उपयोग यह देखने के लिए भी किया जाता है, की हमने जिस प्रोडक्ट को बनाया है वह सच में costumers की जरूरतों पूरा कर रहा है या नहीं।
  4. उपयोग कर्ता द्वारा भेजे गए Feedback को इकठ्ठा करना ताकि product की performance और user experience को और भी ज्यादा बनाया जा सके।
  5. Production में आने बाले किसी भी issues को कम करना या फिर उसे पूरी तरह से हमेशा के लिए ख़तम करने में भी इस का उपयोग होता है।

Types of Acceptance Testing

यंहा पर हम ने Acceptance Testing के प्रकार पर चर्चा की है।

  1. User Acceptance Testing (UAT)
  2. Business Acceptance Testing (BAT)
  3. Contract Acceptance Testing (CAT)
  4. Regulations Acceptance Testing (RAT)
  5. Operational Acceptance Testing (OAT)
  6. Alpha Testing
  7. Beta Testing

1. User Acceptance Testing (UAT)

UAT का उपयोग यह जानने के लिए किया जाता है कि हमारे द्वारा तैयार किया गया प्रोडक्ट यूजर के लिए सही ढंग से काम कर रहा है या नहीं। इस परीक्षण के चरण में उन खास requirements पर जोर दिया जाता है जिनका इस्तेमाल users अधिक करते हैं, ताकि यह पक्का किया जा सके कि ये महत्वपूर्ण features उम्मीद के अनुसार काम कर रहे हैं या नहीं। UAT को End-User Testing के नाम से भी पहचाना जाता है।

2. Business Acceptance Testing (BAT)

BAT यह तय करता है की कोई भी product business के objectives और goals को पूरा कर रहा है या नहीं। Business Acceptance Testing (BAT) मुख्याfocus business profitability पर स्थित होता है। जो समय के साथ हो रही changing market conditions और नई – नई technologies की बजह से challenging हो सकता है। इस कारण से कभी – कभी हमें current implementation में बदलाब करने पड़ सकते है, जिससे और भी extra budget की आवश्यकता हो सकती है।

3. Contract Acceptance Testing (CAT)

CAT (Customer Acceptance Testing) एक तरह का contract होता है जिस में यह निर्धारित किया जाता है। की प्रोडक्ट पूरी तरह से कम्प्लीट होने के बाद live हो जाए, तो acceptance test एक fixed timeframe में परफॉर्म होना चाहिए और प्रोडक्ट जो है वह acceptance के सभी criteria को पास करना चाहिए।

यह contract, जो होत्ता है वह अक्सर Service Level Agreement (SLA) के रूप में होता है, जो यह condition रखता है की payment सिर्फ तभी पूरा होगी जब product सभी service requirements के साथ match करे, और तरह से contract को complete समझा जाएगा।

कभी – कभी कुछ cases ऐसे होते है जिनमें यह acceptance process product के launch होने से पहले की जाती है। इस contract में टेस्टिंग का time period, Scope, Resolution protocols, और payment conditions सही तरह से परिभाषित होनी चाहिए, ताकि दोनों parties के बीच expectations clear हो।

4. Regulations Acceptance Testing (RAT)

RAT (Regulatory Assessment Testing) को करना बहुत जरूरी होता है क्योकि इस की सहायता से यह ensure किया जा सकता है की products उन countries के legal standards और regulations को follow कर रहे है या नहीं जँहा पर उन्हें लांच किया जा रहा है। इस टेस्टिंग का होना इस लिए भी जरूरी है क्योकि किसी भी तरह का non-compliance business की रेपुटेशन और operations पर गलत प्रभाब पड़ सकता है। जब भी किसी product या application को market में लांच करने से पहले, उन product या application को RAT पास करना होता है। क्योकि हर country और region के अपने – अपने यूनिक regulatory requirements होते है।

अगर किसी बजह से कोई product किसी specific देश या region के लगातार violate करता है, तो उसके कारण वंहा इस product को release नहीं किया जा सकता है। और अगर इन सभी violation के होने के बाद भी इस product को launch कर दिया जाता है, तो उसके लिए सिर्फ vendors ही directly responsible होंगे। RAT को prioritize करके, businesses अपने products को सुरक्षित रख सकते है, compliance को enhance करके और भी ज्यादा बड़ा सकते है, और market में एप्लीकेशन या किसी भी प्रोडकट की smooth entry सुनिश्चित कर सकते है।

5. Operational Acceptance Testing (OAT)

किसी भी product की deployment से पहले उसकी readiness को चैक करने के लिए Operational Acceptance Testing (OAT) का उपयोग किया जाता है, और यह non-functional aspects पर ज्यादा गौर करता है। इसमें मुख्य रूप से compatibility, recovery, reliability, और maintainability आदि जैसी कई चीजों को टेस्ट किया जाता है, ताकि स्टेबल हो और प्रोडक्शन में release से पहले बिल्कुल यानि पूरी तरह से तैयार हो।

6. Alpha Testing

Alpha testing का उपयोग एक controlled development environment में होता है, जिसमे एक alpha testers product की पूरी टीम core functionality को पूरी तरह से assess करती है और यह टीम बहुत ही ज्यादा experienced होती है। ये टीम प्रोडक्ट के original design goals और requirements के साथ मैच होने पर focus करती है। और किसी भी product के potential defects को पहचानती है और test cases के जरिए validate करती है।

इस टेस्टिंग का मुख्या पर्पस यह होता है की product में initial flaws को fix जाता है, फिर उसके बाद उसे अगली टेस्टिंग stages में ले जाया जा सके, ताकि final users को एक smooth पूरी तरह से bug-free experience मिल सके।

7. Beta Testing

Beta testing का उपयोग प्रोडक्ट को assess करने के लिए किया जाता है, जिसमे असली end-users, जिन्हे beta टेस्टर के नाम जाना जाता है यह अपने environment में इस product का उपयोग करते है। और उस प्रोडक्ट पर अपना – अपना feedback देते है, users के इन feedback से पहले चैक किया जाता है उसके बाद जो defects होते है उनको fix किया जाता है। इस प्रोसेस से applications या किसी भी प्रोडक्ट को enhance करने बहुत मदत मिलती है। ताकि users को एक better और अच्छा experience मिल सके।

Advantages of Acceptance Testing

  1. यह testing, project team को सीधे users के उसकी requirements समझने में मदद करती है, क्योकि इसमें users खुद टेस्टिंग के समय टेस्टिंग टीम के साथ शामिल होती है।
  2. Automated testing process tools का उपयोग करके सॉफ्टवेयर पर बिना किसी human मदत के टेस्टिंग को चलाया जाता है जो efficiency को और भी ज्यादा बेहतर बनाता है।
  3. यह clients को बहुत ज्यादा confidence और satisfaction देता है क्योकि इसमें testing process के समय उन्हें सीधा शामिल किया जाता है।
  4. इसमें users को अपनी specific ज़रूरतें अच्छी तरह clearly और effectively बताना और भी ज्यादा आरामदायक लगता है।
  5. इसमें किसी भी प्रोडक्ट की पूरी functionality को analyze किया जाता है क्योकि यह टेस्टिंग सिर्फ Black-Box testing process पर ही ध्यान देता है।

Disadvantages of Acceptance Testing

  1. इसमें product या application के basics से सम्बंधित ज़रूरी जानकारी होना चाहिए ताकि उस का उपयोग करना आसान हो जिससे इसका experience और results बेहतर बनें।
  2. इसमें कई बार users, testing process में हिस्सा लेने में interest नहीं दिखाते है, जो यूजर के feedback और product improvement को disturb करता है।
  3. इसमें Testing feedback का process बहुत लम्बा होता है क्योकि इसमें कई सारे users के अलग – अलग opinions होते है, जो बेहतर रिजल्ट के लिए in-depth evaluation की जरूरतों को highlight करता है।

दोस्तों इस पोस्ट मैं हमने आपको Acceptance Testing के बारे मैं गहराई से बताया है और हमें उम्मीद है की अब आपको Acceptance Testing से सम्बंधित सभी सवालों के जवाब होंगे। अगर फिर भी आपको इस पोस्ट या वेबसाइट से सम्बंधित कोई समस्या या फिर आपको हमें कोई सुझाव देना हो तो आप कमेंट के माध्यम से बता सकते है।

Leave a Comment