Printing is unavailable

This course is licensed for personal online viewing only.

Public preview • CL-P000000-C42-L2120-3B3D3567

Home Dashboard
Chapter 3 · Module 1 — Software Testing Fundamentals

Software Testing Process and Activities

5,636
words
32
min read
2
tools

1. Learning Outcomes#

इस Chapter को पूरा करने के बाद आप:

  • समझ पाएँगे कि Software Testing Process क्या है और इसकी जरूरत क्यों होती है।
  • समझ पाएँगे कि बिना किसी व्यवस्थित प्रक्रिया के Testing करने से क्या समस्याएँ हो सकती हैं।
  • Software Testing की सात मुख्य Activities पहचान पाएँगे।
  • Test Planning, Monitoring, Analysis, Design, Implementation, Execution और Completion के बीच अंतर समझ पाएँगे।
  • समझ पाएँगे कि Test Conditions और Test Cases कैसे तैयार किए जाते हैं।
  • Actual Result और Expected Result की तुलना करके Test Result निर्धारित कर पाएँगे।
  • समझ पाएँगे कि Testing Activities एक-दूसरे से कैसे जुड़ी होती हैं।
  • किसी छोटे Software Project में शुरुआत से अंत तक Testing Process लागू करने का तरीका समझ पाएँगे।

2. Software Testing Process क्या है?#

कल्पना कीजिए कि एक कंपनी ने Online Shopping Website बनाई है।

इस Website पर Customer:

  • Login कर सकता है।
  • Products देख सकता है।
  • Shopping Cart में Products जोड़ सकता है।
  • Payment कर सकता है।
  • Order Place कर सकता है।

अब कंपनी यह सुनिश्चित करना चाहती है कि Website सही तरीके से काम कर रही है।

लेकिन एक सवाल है।

Testing कहाँ से शुरू करनी चाहिए?

क्या सबसे पहले Login Test करें?

या Payment Test करें?

कितने Test Cases बनाने चाहिए?

यदि कोई Bug मिले तो क्या करना चाहिए?

और कैसे पता चलेगा कि Testing पूरी हो चुकी है?

इन सभी सवालों का जवाब Software Testing Process देता है।

English Definition#

Software Testing Process: A structured set of activities performed to plan, monitor, analyze, design, implement, execute, and complete software testing to evaluate software quality and identify defects.

आसान भाषा में समझिए#

Software Testing Process का मतलब है Software की Testing को एक व्यवस्थित तरीके से करना।

इसमें पहले तय किया जाता है कि क्या Test करना है।

फिर तय किया जाता है कि कैसे Test करना है।

इसके बाद Test Cases तैयार किए जाते हैं।

Test Cases चलाए जाते हैं।

Results की जाँच की जाती है।

और अंत में Testing के परिणामों का मूल्यांकन किया जाता है।

मतलब Testing सिर्फ Software में Bugs खोजने का काम नहीं है।

Testing एक पूरी प्रक्रिया है।

Key Idea

Software Testing Process हमें बताता है कि Testing की तैयारी कैसे करनी है, Testing कैसे करनी है और Testing के परिणामों का मूल्यांकन कैसे करना है।

3. Structured Testing Process की जरूरत क्यों है?#

मान लीजिए दो Testing Teams एक ही Shopping Website की Testing कर रही हैं।

Team A — बिना Process के Testing#

Team A सीधे Website खोलती है।

कुछ Buttons Click करती है।

Login करके देखती है।

कुछ Products Cart में डालती है।

जहाँ Bug दिखाई देता है, वहाँ उसे Report कर देती है।

लेकिन Team के पास कोई स्पष्ट Plan नहीं है।

इसलिए:

  • कुछ महत्वपूर्ण Features छूट सकते हैं।
  • एक ही Test बार-बार किया जा सकता है।
  • Payment जैसे जोखिमपूर्ण Feature पर पर्याप्त ध्यान नहीं दिया जा सकता।
  • Testing Progress पता करना मुश्किल हो सकता है।
  • Testing पूरी हुई है या नहीं, यह स्पष्ट नहीं होता।

Team B — Structured Process के साथ Testing#

Team B पहले Requirements समझती है।

इसके बाद:

  1. Testing Objectives तय करती है।
  2. Testing Scope निर्धारित करती है।
  3. Test Conditions पहचानती है।
  4. Test Cases तैयार करती है।
  5. Testing Environment तैयार करती है।
  6. Test Cases Execute करती है।
  7. Defects Report करती है।
  8. Results का मूल्यांकन करती है।

अब Team को पता रहता है कि कौन-सा काम पूरा हुआ है और कौन-सा बाकी है।

दोनों Approaches की तुलना#

बिना Structured Process Structured Process
Testing बिना स्पष्ट योजना के होती है Testing निर्धारित Plan के अनुसार होती है
महत्वपूर्ण Features छूट सकते हैं Coverage को व्यवस्थित रूप से Track किया जा सकता है
Progress स्पष्ट नहीं होती Progress Track की जा सकती है
Testing Effort दोहराया जा सकता है काम बेहतर तरीके से Organize होता है
Completion का निर्णय कठिन होता है Completion Criteria का मूल्यांकन किया जा सकता है
Remember

Structured Testing Process का उद्देश्य केवल ज्यादा Bugs खोजना नहीं है। इसका उद्देश्य Testing को व्यवस्थित, Trackable और Risk-focused बनाना भी है।

4. Software Testing की मुख्य Activities#

एक सामान्य Software Testing Process में सात मुख्य Activities होती हैं।

  1. Test Planning
  2. Test Monitoring and Control
  3. Test Analysis
  4. Test Design
  5. Test Implementation
  6. Test Execution
  7. Test Completion

इन Activities का सामान्य संबंध नीचे देखिए।

Visual Diagram80%

Rendering diagram…

इस Diagram को समझिए।

Testing की शुरुआत Planning से होती है।

इसके बाद Analysis में तय किया जाता है कि क्या Test करना है।

Design में Test करने का तरीका निर्धारित होता है।

Implementation में Tests को Execute करने के लिए तैयार किया जाता है।

Execution में Tests चलाए जाते हैं।

Completion में Results का मूल्यांकन होता है।

लेकिन यहाँ एक महत्वपूर्ण बात है।

Monitoring and Control केवल एक बार होने वाली Activity नहीं है।

यह दूसरी Testing Activities के दौरान लगातार होती रहती है।

इसी तरह Testing हमेशा एक ही दिशा में नहीं चलती।

Execution के दौरान नई जानकारी मिलने पर Team फिर से Analysis या Design कर सकती है।

5. Test Planning#

English Definition#

Test Planning: The activity of defining test objectives and determining the approach and resources needed to achieve them within constraints.

आसान भाषा में समझिए#

Test Planning का मतलब है Testing शुरू करने से पहले यह तय करना कि Testing का उद्देश्य क्या है और उसे पूरा करने के लिए क्या तैयारी करनी होगी।

मान लीजिए आपकी Team को Online Shopping Website Test करनी है।

तो सबसे पहले आपको कुछ फैसले लेने होंगे।

4.1 Testing Objectives#

Objective का मतलब है वह लक्ष्य जिसे Testing के माध्यम से प्राप्त करना है।

उदाहरण:

  • Customer सही Credentials से Login कर पाए।
  • गलत Password देने पर Login Reject हो।
  • Cart में सही Product Add हो।
  • Payment Failure होने पर Order गलत तरीके से Confirm न हो।

यहाँ हम तय कर रहे हैं कि Testing के माध्यम से किन बातों का मूल्यांकन करना है।

4.2 Testing Scope#

Scope का मतलब है कि इस Testing में कौन-से Features शामिल होंगे।

उदाहरण:

In Scope Out of Scope
Login Seller Dashboard
Product Search Admin Analytics
Shopping Cart Warehouse Integration
Checkout भविष्य में आने वाला Loyalty Feature

यह केवल उदाहरण है। वास्तविक Project में Scope Business Requirements, Risks और Constraints के आधार पर तय किया जाता है।

Common Mistake

Out of Scope का मतलब यह नहीं है कि Feature हमेशा के लिए Testing से बाहर है। इसका मतलब है कि वह वर्तमान Testing Scope में शामिल नहीं है।

4.3 Testing Approach#

Approach का मतलब है Testing किस तरीके से की जाएगी।

उदाहरण:

  • महत्वपूर्ण Customer Flows पर अधिक ध्यान देना।
  • Functional Tests तैयार करना।
  • जहाँ उपयुक्त हो वहाँ Manual Testing और Automation का उपयोग करना।
  • High-risk Features को प्राथमिकता देना।

4.4 Resources और Schedule#

Testing करने के लिए लोगों, Tools, Environment और समय की जरूरत होती है।

Planning में यह भी तय किया जा सकता है:

  • Testing कौन करेगा?
  • Testing किस Environment में होगी?
  • किन Tools की जरूरत होगी?
  • Testing कब शुरू होगी?
  • किन Criteria के आधार पर Testing पूरी मानी जाएगी?

Test Planning का मुख्य Output#

Test Plan — ऐसा Document या व्यवस्थित रिकॉर्ड जिसमें Testing Objectives, Scope, Approach, Resources, Schedule और Completion Criteria जैसी जानकारी होती है।

Key Idea

Test Planning तय करती है कि हम Testing से क्या हासिल करना चाहते हैं और उसे हासिल करने का तरीका क्या होगा।

6. Test Monitoring and Control#

दोनों शब्द एक जैसे लग सकते हैं।

लेकिन इनके काम अलग हैं।

English Definitions#

Test Monitoring: The ongoing activity of checking testing progress and actual results against the test plan.

Test Control: The activity of taking corrective actions based on monitoring information to help achieve testing objectives.

5.1 Test Monitoring — क्या Progress हो रही है?#

मान लीजिए Shopping Website के लिए 100 Test Cases तैयार हैं।

अभी तक:

Testing Status Count
Total Test Cases 100
Executed 60
Passed 45
Failed 10
Blocked 5
Not Executed 40

अब Team को पता है कि 60 Test Cases Execute किए गए हैं।

इनमें 45 Passed हैं।

10 Failed हैं।

5 Blocked हैं।

Blocked का मतलब है कि किसी रुकावट के कारण Test का परिणाम निर्धारित नहीं किया जा सका।

उदाहरण के लिए, आवश्यक Test Environment उपलब्ध नहीं है।

इस जानकारी की मदद से Team Testing की स्थिति समझ सकती है।

यही Test Monitoring है।

5.2 Test Control — समस्या दिखाई दे तो क्या करें?#

मान लीजिए Monitoring से पता चला:

  • Payment Feature में कई Defects मिल रहे हैं।
  • Testing निर्धारित Schedule से पीछे चल रही है।
  • कुछ Test Cases Environment की समस्या से Blocked हैं।

अब Team आवश्यक Actions ले सकती है।

जैसे:

  • Payment Testing को अधिक Priority देना।
  • Environment की समस्या दूर करवाना।
  • Testing Resources का पुनर्वितरण करना।
  • जरूरत पड़ने पर Plan या Schedule बदलना।

यही Test Control है।

Monitoring बनाम Control#

Test Monitoring Test Control
Progress जाँचता है सुधारात्मक Action लेता है
समस्या पहचानने में सहायता करता है समस्या के प्रभाव को कम करने की कोशिश करता है
Metrics और Status का उपयोग करता है Decisions और Corrective Actions करता है
सवाल: क्या हो रहा है? सवाल: अब क्या बदलना चाहिए?
Remember

Monitoring जानकारी देती है। Control उस जानकारी के आधार पर आवश्यक कार्रवाई करता है।

7. Test Analysis — क्या Test करना है?#

English Definition#

Test Analysis: The activity of analyzing the test basis to identify testable features and define or prioritize test conditions.

अब हमारी Team को पता है कि Shopping Website की Testing करनी है।

लेकिन केवल यह जानना पर्याप्त नहीं है।

हमें Requirements पढ़कर समझना होगा कि क्या-क्या Verify करना है।

6.1 Test Basis क्या है?#

Test Basis वह जानकारी या सामग्री है जिसके आधार पर Tests तैयार किए जा सकते हैं।

उदाहरण:

  • Software Requirements
  • User Stories
  • Acceptance Criteria
  • Business Rules
  • Design Documents

मान लीजिए Requirement है:

"The system shall allow a registered customer to log in using valid credentials."

अब इसे समझते हैं।

System में Login Feature है।

Customer को Valid Credentials देने होंगे।

और Valid Credentials होने पर Login सफल होना चाहिए।

6.2 Test Condition क्या है?#

English Definition#

Test Condition: A testable aspect of software that can be verified through testing.

Test Condition का मतलब है Software की ऐसी स्थिति, विशेषता या व्यवहार जिसकी Testing की जा सकती है।

उदाहरण:

Requirement संभावित Test Condition
Registered Customer Login Valid Credentials के साथ Login
Registered Customer Login Invalid Password के साथ Login
Registered Customer Login Empty Credentials के साथ Login
Registered Customer Login Unregistered User के साथ Login

यहाँ हमने अभी विस्तृत Test Steps नहीं लिखे।

हमने केवल यह पहचाना है कि किन परिस्थितियों में Login Feature को Verify करना है।

यही Test Analysis का मुख्य काम है।

Key Idea

Test Analysis मुख्य रूप से यह पहचानती है कि क्या Test करना है। Test Design निर्धारित करती है कि उसे कैसे Test करना है।

8. Test Design — कैसे Test करना है?#

English Definition#

Test Design: The activity of deriving and specifying test cases and other testware needed to cover the identified test conditions.

Analysis में हमने Test Conditions पहचानी थीं।

अब हमें उनके लिए Test Cases बनाने हैं।

7.1 Test Case क्या है?#

English Definition#

Test Case: A set of preconditions, inputs, actions, and expected results developed to verify a specific test objective or condition.

आसान भाषा में:

Test Case बताता है कि किस परिस्थिति में क्या करना है और क्या Result आना चाहिए।

7.2 Login Feature का Test Case#

मान लीजिए हम Valid Login Verify करना चाहते हैं।

Field Value
Test Case ID TC_LOGIN_001
Title Verify Login with Valid Credentials
Precondition User Account पहले से Registered है
Test Data Valid Username और Password
Step 1 Login Page खोलें
Step 2 Valid Username दर्ज करें
Step 3 Valid Password दर्ज करें
Step 4 Login Button Click करें
Expected Result User सफलतापूर्वक Login हो और Dashboard दिखाई दे

ध्यान दीजिए।

हमने स्पष्ट किया:

  • Testing के लिए पहले क्या जरूरी है।
  • कौन-सा Input देना है।
  • कौन-से Steps Perform करने हैं।
  • सही Result क्या होना चाहिए।

अब Tester इस Test Case को Follow करके Login Feature Verify कर सकता है।

7.3 दूसरा Test Case#

इस बार गलत Password डालकर देखते हैं।

Field Value
Test Case ID TC_LOGIN_002
Title Verify Login with Invalid Password
Precondition Registered User उपलब्ध है
Test Data Valid Username और Invalid Password
Action Login Attempt करना
Expected Result Login Reject हो और उपयुक्त Error Message दिखाई दे

इस तरह एक ही Feature के लिए अलग-अलग Test Cases हो सकते हैं।

Test Analysis और Test Design में अंतर#

Test Analysis Test Design
क्या Test करना है? कैसे Test करना है?
Test Conditions पहचानता है Test Cases निर्धारित करता है
Requirements का विश्लेषण करता है Inputs, Actions और Expected Results तय करता है
Coverage की जरूरत पहचानता है उस Coverage के लिए Tests तैयार करता है

9. Test Implementation — Tests को तैयार करना#

English Definition#

Test Implementation: The activity of preparing and organizing testware, including test procedures and test suites, so that tests are ready for execution.

अब Test Cases तैयार हैं।

लेकिन क्या इसका मतलब है कि हम तुरंत Testing कर सकते हैं?

जरूरी नहीं।

Testing करने के लिए कुछ और चीजें तैयार होनी चाहिए।

उदाहरण:

  • Test Environment उपलब्ध होना चाहिए।
  • आवश्यक Test Data तैयार होना चाहिए।
  • Test Cases व्यवस्थित होने चाहिए।
  • आवश्यक Test Procedures तैयार होने चाहिए।

8.1 Test Environment#

Test Environment वह व्यवस्था है जहाँ Software की Testing की जाती है।

इसमें जरूरत के अनुसार Application, Servers, Database, Devices और Configuration शामिल हो सकते हैं।

उदाहरण:

Shopping Website का Testing Version एक अलग Environment में उपलब्ध है।

Tester उसी Environment में Login Feature Verify करता है।

8.2 Test Data#

Test Data वह Input है जिसका उपयोग Testing में किया जाता है।

उदाहरण:

Scenario Test Data
Valid Login Registered Username और Correct Password
Invalid Login Registered Username और Wrong Password
Empty Login Empty Username और Password

वास्तविक Testing में Test Data सुरक्षित तरीके से तैयार किया जाना चाहिए। Production Passwords का अनावश्यक उपयोग नहीं करना चाहिए।

8.3 Test Suite#

English Definition#

Test Suite: A set of test cases or test procedures grouped for execution or management.

उदाहरण:

Login Test Suite

  • TC_LOGIN_001 — Valid Login
  • TC_LOGIN_002 — Invalid Password
  • TC_LOGIN_003 — Empty Username
  • TC_LOGIN_004 — Unregistered User

इन सभी Tests को एक Group में व्यवस्थित किया जा सकता है।

8.4 Test Procedure#

Test Procedure बताती है कि Tests किस क्रम में और किस तरह Execute किए जाएँगे।

उदाहरण:

पहले Test Account तैयार करें।

उसके बाद Login Page खोलें।

फिर निर्धारित Login Test Cases Execute करें।

Remember

Test Design में हम Tests निर्धारित करते हैं। Test Implementation में उन Tests को Execution के लिए तैयार और व्यवस्थित करते हैं।

10. Test Execution — Testing करना#

English Definition#

Test Execution: The activity of running tests, comparing actual results with expected results, and recording the outcomes.

अब Test Cases तैयार हैं।

Environment उपलब्ध है।

Test Data तैयार है।

तो Testing शुरू की जा सकती है।

9.1 Expected Result क्या है?#

Expected Result वह परिणाम है जो Requirements के अनुसार आना चाहिए।

उदाहरण:

Valid Login करने पर Dashboard दिखाई देना चाहिए।

9.2 Actual Result क्या है?#

Actual Result वह परिणाम है जो Test Execute करने पर वास्तव में प्राप्त होता है।

मान लीजिए Tester ने Valid Credentials दर्ज किए।

लेकिन Website ने Error Message दिखाया।

यह Actual Result है।

9.3 Expected और Actual Result की तुलना#

Test Case Expected Result Actual Result Status
TC_LOGIN_001 Dashboard खुले Dashboard खुला Pass
TC_LOGIN_002 Invalid Password Reject हो Invalid Password Reject हुआ Pass
TC_LOGIN_003 Empty Credentials पर Login Reject हो Empty Credentials पर Login हो गया Fail

तीसरे Test Case पर ध्यान दीजिए।

Expected Result के अनुसार Login Reject होना चाहिए था।

लेकिन वास्तव में Login हो गया।

इसलिए Test Case Fail हुआ।

यह संभावित Software Defect का संकेत है।

9.4 Test Status#

सामान्य रूप से इस्तेमाल होने वाले Test Status:

Status Meaning
Pass Actual Result, Expected Result से मेल खाता है
Fail Actual Result, Expected Result से मेल नहीं खाता
Blocked किसी रुकावट के कारण Test पूरा नहीं किया जा सकता
Not Executed Test अभी चलाया नहीं गया

अलग-अलग Organizations और Tools में Status Names और Workflow बदल सकते हैं।

9.5 Defect मिलने पर क्या करें?#

जब कोई Unexpected Behavior दिखाई देता है, Tester को पर्याप्त जानकारी Record करनी चाहिए।

उदाहरण:

Defect Title: Login succeeds with empty credentials

Expected Behavior: Empty Credentials होने पर Login Reject होना चाहिए।

Actual Behavior: Application User को Login करने दे रही है।

Steps to Reproduce:

  1. Login Page खोलें।
  2. Username खाली छोड़ें।
  3. Password खाली छोड़ें।
  4. Login Button Click करें।
  5. Actual Behavior Observe करें।

Development Team इस जानकारी की मदद से समस्या समझ सकती है।

Defect Fix होने पर संबंधित Test दोबारा Execute किया जा सकता है।

Common Mistake

हर Failed Test का मतलब निश्चित रूप से Product में Defect होना नहीं है। कभी Test Data, Environment या Test Case में भी समस्या हो सकती है। Failure का कारण जाँचना जरूरी है।

11. Test Completion — Testing को पूरा करना#

English Definition#

Test Completion: The activity of evaluating completed testing, consolidating results, completing testware-related work, and communicating conclusions and lessons learned.

अब कल्पना कीजिए कि Team ने निर्धारित Testing Activities पूरी कर ली हैं।

क्या इसका मतलब Software पूरी तरह Bug-free है?

नहीं।

Testing Software में सभी Defects की अनुपस्थिति की Guarantee नहीं देती।

Test Completion का मतलब है उपलब्ध Results और निर्धारित Criteria के आधार पर Testing का मूल्यांकन करना।

10.1 Completion Criteria की जाँच#

मान लीजिए Test Plan में तय किया गया:

  • सभी High-priority Test Cases Execute करने हैं।
  • कोई Unresolved Critical Defect नहीं होना चाहिए।
  • बाकी Known Risks का मूल्यांकन करना है।
  • Test Results को Review करना है।

Testing के अंत में Team देखेगी कि ये Criteria पूरे हुए या नहीं।

10.2 Test Summary#

उदाहरण:

Metric Result
Total Test Cases 100
Executed 100
Passed 92
Failed 8
Open Defects 3

इन आँकड़ों से Testing की स्थिति समझ आती है।

लेकिन केवल 92 Passed Tests देखकर यह निष्कर्ष नहीं निकालना चाहिए कि Software Release के लिए तैयार है।

हमें यह भी देखना होगा कि Failed Tests कितने महत्वपूर्ण हैं और Open Defects से कितना Risk है।

10.3 Completion में दूसरे काम#

Test Completion में जरूरत के अनुसार:

  • Test Results का मूल्यांकन होता है।
  • Test Summary Report तैयार की जाती है।
  • महत्वपूर्ण Testing Artifacts को सुरक्षित रखा जाता है।
  • Known Defects और Risks Communicate किए जाते हैं।
  • Future Projects के लिए Lessons Learned Record किए जाते हैं।

क्या Test Completion और Product Release एक ही चीज हैं?#

नहीं।

Test Completion एक Testing Activity है।

Product Release एक अलग निर्णय है, जिसमें Business, Quality, Technical और Operational Factors शामिल हो सकते हैं।

Testing Team अपना मूल्यांकन और Risk Information उपलब्ध कराती है।

उपयुक्त Stakeholders Release का निर्णय लेते हैं।

12. Testing Activities के बीच Relationship#

अब तक हमने सातों Activities अलग-अलग समझीं।

लेकिन वास्तविक Project में ये Activities हमेशा एक बार, एक निश्चित क्रम में पूरी नहीं होतीं।

उदाहरण के लिए:

Test Execution के दौरान नया Defect मिल सकता है।

उस Defect से पता चल सकता है कि कोई महत्वपूर्ण Test Condition पहले पहचानी ही नहीं गई थी।

इसलिए Team को वापस Test Analysis करना पड़ सकता है।

इसके बाद नया Test Case Design और Implement करके Execute किया जा सकता है।

इस प्रक्रिया को समझिए।

Visual Diagram80%

Rendering diagram…

Iteration क्या है?#

English Definition#

Iteration: Repeating or revisiting activities based on new information, feedback, or changing needs.

आसान भाषा में, जरूरत के अनुसार किसी Activity को फिर से करना या उसमें बदलाव करना Iteration कहलाता है।

Software Testing में ऐसा अक्सर होता है।

उदाहरण:

  • Requirements बदल जाएँ।
  • नया Defect मिले।
  • Test Coverage में कमी दिखाई दे।
  • Product में नया Behavior जोड़ा जाए।
Key Idea

Testing Activities आपस में जुड़ी होती हैं। नई जानकारी मिलने पर पहले की Activity को दोबारा करना सामान्य और उपयोगी है।

13. Practical Example — End-to-End Testing Process#

अब एक छोटे Project पर पूरी Testing Process लागू करते हैं।

Project: Online Shopping Website — Login Feature#

Requirement:

Registered User Valid Credentials के साथ Login कर सके और Invalid Credentials पर Login Reject हो।

Step 1 — Test Planning#

Team तय करती है:

Planning Item Decision
Objective Login Behavior Verify करना
Scope Valid और Invalid Login
Approach Requirement-based Functional Testing
Environment Dedicated Test Environment
Completion Criteria सभी Planned Tests का Result Evaluate करना और महत्वपूर्ण Open Risks Review करना

यहाँ हमने Testing का उद्देश्य और Approach निर्धारित किया।

Step 2 — Test Analysis#

अब Requirements से Test Conditions पहचानते हैं।

ID Test Condition
COND_01 Valid Credentials
COND_02 Invalid Password
COND_03 Empty Credentials
COND_04 Unregistered User

अब हमें पता है कि क्या Verify करना है।

Step 3 — Test Design#

Test Conditions के आधार पर Test Cases बनाते हैं।

Test Case Input Expected Result
TC_01 Valid Credentials Login Successful
TC_02 Wrong Password Login Rejected
TC_03 Empty Credentials Login Rejected
TC_04 Unregistered User Login Rejected

यहाँ हमने Testing का तरीका और Expected Results निर्धारित किए।

Step 4 — Test Implementation#

Team:

  • Test Environment उपलब्ध करती है।
  • आवश्यक User Accounts तैयार करती है।
  • Test Data तैयार करती है।
  • सभी Login Tests को Test Suite में व्यवस्थित करती है।
  • Execution से पहले Readiness Check करती है।

अब Tests चलाने के लिए आवश्यक तैयारी पूरी है।

Step 5 — Test Execution#

अब Tester चारों Test Cases चलाता है।

उदाहरण के परिणाम:

Test Case Actual Behavior Status
TC_01 Login Successful Pass
TC_02 Login Rejected Pass
TC_03 Empty Credentials पर Login Successful Fail
TC_04 Login Rejected Pass

TC_03 में Expected और Actual Result अलग हैं।

इसलिए Tester इस Failure की जाँच करता है और उपयुक्त Defect Report करता है।

Step 6 — Monitoring and Control#

Testing के दौरान Team Status देखती है।

चार में से तीन Tests Pass हुए हैं।

एक Test Fail हुआ है।

Team Failure की गंभीरता समझती है।

अगर Empty Credentials से वास्तव में Authentication Bypass हो रहा है, तो यह महत्वपूर्ण Security Risk हो सकता है।

उस स्थिति में Team संबंधित Stakeholders को जानकारी देती है और Corrective Actions की Priority तय करती है।

ध्यान रहे, Monitoring and Control इस Step तक सीमित नहीं है। यह पूरी Testing के दौरान चल सकती है।

Step 7 — Test Completion#

Team उपलब्ध Results का मूल्यांकन करती है।

Open Defect, Risk और Completion Criteria Review करती है।

यदि आवश्यक Criteria पूरे नहीं हुए हैं, तो Testing को पूरा घोषित करने से पहले अतिरिक्त काम करना पड़ सकता है।

Testing के निष्कर्ष उपयुक्त Stakeholders तक पहुँचाए जाते हैं।

पूरी प्रक्रिया एक नजर में#

Visual Diagram80%

Rendering diagram…

इस उदाहरण से आपने देखा कि Testing एक व्यवस्थित यात्रा है।

Planning से शुरुआत होती है।

Analysis और Design के माध्यम से Tests तैयार किए जाते हैं।

Implementation में Execution की तैयारी होती है।

Execution में Software Behavior Verify किया जाता है।

और Completion में Results तथा Risks का मूल्यांकन किया जाता है।

14. Common Mistakes#

Mistake 1 — Testing को केवल Test Execution मानना#

कई Beginners सोचते हैं कि Software Testing का मतलब केवल Test Cases चलाना है।

लेकिन Testing में Planning, Analysis, Design, Implementation, Monitoring और Completion भी महत्वपूर्ण हैं।

Mistake 2 — Test Analysis और Test Design को एक ही समझना#

Analysis में मुख्य सवाल है:

क्या Test करना है?

Design में मुख्य सवाल है:

कैसे Test करना है?

दोनों Activities एक-दूसरे से संबंधित हैं, लेकिन समान नहीं हैं।

Mistake 3 — Test Design और Test Implementation को Confuse करना#

Test Design में Test Cases Specify किए जाते हैं।

Test Implementation में Tests को Execute करने के लिए व्यवस्थित और तैयार किया जाता है।

Mistake 4 — Monitoring को केवल Completion पर करना#

Testing Progress की जानकारी केवल अंत में लेने से समस्याओं का पता बहुत देर से चल सकता है।

इसलिए Monitoring पूरी Testing के दौरान उपयोगी है।

Mistake 5 — सभी Tests Pass होने का मतलब Bug-free Software मानना#

Testing केवल उन परिस्थितियों के बारे में Evidence देती है जिन्हें Verify किया गया है।

सभी Planned Tests Pass होने के बाद भी Software में Undetected Defects हो सकते हैं।

15. Interview Preparation#

Q1. What are the main software testing activities?Show Answer

The seven main testing activities are Test Planning, Test Monitoring and Control, Test Analysis, Test Design, Test Implementation, Test Execution, and Test Completion.

Q2. What is the difference between Test Analysis and Test Design?Show Answer

Test Analysis identifies what needs to be tested by determining test conditions. Test Design determines how to test those conditions by specifying test cases and related testware.

Q3. What is the difference between Test Monitoring and Test Control?Show Answer

Test Monitoring tracks progress and evaluates the testing status against the plan. Test Control involves taking corrective actions based on monitoring results.

Q4. Why is a structured software testing process important?Show Answer

A structured testing process improves planning, traceability, coordination, progress visibility, risk management, and evaluation of testing outcomes.

Q5. Are software testing activities always sequential?Show Answer

No. Testing activities can overlap, repeat, or be revisited based on new information, changing requirements, defects, and project needs.

16. Chapter Summary#

इस Chapter की सबसे महत्वपूर्ण बातें याद रखिए:

  • Software Testing Process, Testing करने का एक व्यवस्थित तरीका है।
  • Test Planning में Objectives और Approach निर्धारित होते हैं।
  • Test Monitoring में Progress Track होती है।
  • Test Control में आवश्यक Corrective Actions लिए जाते हैं।
  • Test Analysis में तय होता है कि क्या Test करना है।
  • Test Design में तय होता है कि कैसे Test करना है।
  • Test Implementation में Tests को Execution के लिए तैयार किया जाता है।
  • Test Execution में Actual और Expected Results की तुलना होती है।
  • Test Completion में Testing Results, Risks और Completion Criteria का मूल्यांकन होता है।
  • Testing Activities दोबारा की जा सकती हैं और एक-दूसरे के साथ Overlap भी कर सकती हैं।
  • Testing का उद्देश्य Quality के बारे में उपयोगी जानकारी और Confidence प्रदान करना है, न कि Software के पूरी तरह Defect-free होने की Guarantee देना।
Interactive learning

Practice lab

Apply this chapter with guided activities, immediate feedback, explanations, and retry.

Practice loads when this section enters view.