डिफ़ेक्ट लाइफ़साइकल

डिफ़ेक्ट लाइफ़साइकल उन स्टेट का क्रम है जिनसे एक defect गुज़रता है — किसी के समस्या देखने से लेकर टीम के उससे पूरी तरह निपट जाने तक: रिपोर्ट, ट्रायेज, असाइन, फ़िक्स, रीटेस्ट और क्लोज़ — या किसी और तरह ख़त्म होना: duplicate के रूप में, रिजेक्ट हुई रिपोर्ट के रूप में, या फ़िक्स न करने के सोचे-समझे फ़ैसले के रूप में। लाइफ़साइकल से आप किसी भी पल बता सकते हैं कि क्या खुला है, उसका मालिक कौन है और वह कितने समय से इंतज़ार में है।

यह pillar गाइड शब्दों की परिभाषा देती है, लाइफ़साइकल को state diagram के रूप में दिखाती है, हर ट्रांज़िशन को उसके मालिक और exit condition के साथ सूचीबद्ध करती है, "fixed" के अलावा के अंत समझाती है, और एक काल्पनिक defect को खोज से क्लोज़र तक फ़ॉलो करती है। इसके नीचे दो संकरी गाइड हैं: बग रिपोर्ट कैसे लिखें (रिपोर्ट की सामग्री और severity व priority का फ़र्क़) और डिफ़ेक्ट ट्रायेज (वह मीटिंग और फ़ैसले जो नए defect को आगे बढ़ाते हैं, root cause analysis सहित)।

Error, defect, failure: शब्द सही रखें

ISTQB glossary और Foundation syllabus एक कारण-श्रृंखला बताते हैं। कोई व्यक्ति error (जिसे mistake भी कहते हैं) करता है: requirement ग़लत पढ़ता है, कोई boundary भूल जाता है, ग़लत operator लिख देता है। Error से किसी work product में defect (जिसे fault या bug भी कहते हैं) बनता है — requirement, डिज़ाइन, कोड, test script या configuration में। जब defect वाला हिस्सा सही परिस्थितियों में चलता है तो वह failure पैदा कर सकता है: सिस्टम वह नहीं करता जो उसे करना चाहिए, और कोई व्यक्ति या सिस्टम उसे देखता है। हर defect failure नहीं बनता — ऐसे कोड का defect जो कभी चलता ही नहीं, या सिर्फ़ ऐसे डेटा से चलता है जो कोई डालता नहीं, छिपा रहता है — और syllabus यह भी बताता है कि failure पर्यावरणीय परिस्थितियों से भी हो सकता है।

दो और शब्द उलझन पैदा करते हैं। Anomaly तटस्थ शब्द है: अपेक्षा से देखा गया विचलन, इससे पहले कि कोई तय करे कि यह defect है, ग़लतफ़हमी है, test की गलती है या change request। IEEE 1044, Standard Classification for Software Anomalies (जिसे IEEE inactive-reserved सूचीबद्ध करता है), anomaly को छत्र-शब्द के रूप में इस्तेमाल करता है और anomalies को वर्गीकृत करने के एट्रिब्यूट परिभाषित करता है। Incident के कई अर्थ हैं: ISO/IEC/IEEE 29119-3 defect report को "incident report" कहता है (ISTQB Foundation syllabus भी यह बताता है), जबकि operations में incident किसी live सर्विस में अनियोजित रुकावट या गिरावट है, जिसका कारण defect भी हो सकता है और capacity, configuration या कोई third party भी।

  • Error (mistake) — इंसानी काम जिससे ग़लत नतीजा निकलता है।
  • Defect (fault, bug) — किसी work product में कमी; इसे कुछ भी चलाए बिना review से पकड़ा जा सकता है।
  • Failure — चलते सिस्टम का अपेक्षित व्यवहार से देखा गया विचलन।
  • Root cause — error होने या defect न रोके जा पाने का मूल कारण; root cause analysis का लक्ष्य।
  • Anomaly — अपेक्षा से कोई भी देखा गया विचलन, जो अभी वर्गीकृत नहीं हुआ।

Defect कहाँ मिलते हैं: review, testing और production

Defect SDLC के हर चरण में आते हैं और उसके अलग-अलग बिंदुओं पर मिलते हैं। एक requirement जो दूसरी से टकराती है, वह defect है जो कोई कोड बनने से पहले review में पकड़ा जाता है। ग़लत calculation STLC के दौरान unit, API या system test से पकड़ी जाती है। जो defect हर जाँच से बच निकलता है वह production में मिलता है, आमतौर पर यूज़र की रिपोर्ट या monitoring के alert के रूप में। SDLC और STLC गाइड और software testing life cycle गाइड इन चरणों को बताती हैं; यह पेज बताता है कि मिलने के बाद defect के साथ क्या होता है।

तीनों स्थितियों में लाइफ़साइकल का आकार एक है, लेकिन entry point और लागत अलग है। Defect चाहे जैसे मिले, वह प्रक्रिया में रिपोर्ट के ज़रिए आता है; ऐसी रिपोर्ट कैसे लिखें जिस पर डेवलपर काम कर सके, और severity व priority में क्या फ़र्क़ है, यह बग रिपोर्ट गाइड का विषय है। फिर ट्रायेज रिपोर्ट को फ़ैसले में बदलता है, जिसे डिफ़ेक्ट ट्रायेज गाइड विस्तार से कवर करती है। हर defect कहाँ मिला — review, test level या production — यह दर्ज करना ही बाद में यह मापने देता है कि हर चरण से कितने defect निकल भागे।

  • Review findings — review log या review comments में दर्ज; तब बंद जब author ने work product ठीक कर दिया और reviewer ने सुधार जाँच लिया।
  • Testing चरण के defect — ट्रैकर में पूरा लाइफ़साइकल, क्लोज़र से पहले confirmation testing और regression testing के साथ।
  • Production defect — operational incident से लिंक, live सर्विस प्रभावित हो तो तुरंत ट्रायेज, और फ़िक्स deploy होने के बाद production में verify।

लाइफ़साइकल के स्टेट: डायग्राम

ट्रैकर के workflow अलग-अलग होते हैं, लेकिन लगभग सभी वही बुनियादी स्टेट लागू करते हैं। डायग्राम सामान्य नाम इस्तेमाल करता है; आगे का सेक्शन इन्हें असली टूल से जोड़ता है। ठोस तीर New से Closed तक का मुख्य रास्ता दिखाते हैं; डैश वाले तीर शाखाएँ हैं: वे defect को बिना कोड बदले ख़त्म करते हैं, बाद के लिए रख देते हैं, या fix न टिकने पर उसे वापस भेजते हैं।

Defect का मुख्य रास्ता New → Open → In Progress → Resolved → Verified → Closed है; बाक़ी शाखाएँ उसे टालती हैं, बिना कोड बदले ख़त्म करती हैं, या फ़िक्स न टिके तो लौटा देती हैं।
ट्रांज़िशन
#सेतकघटना या शर्त
1NewशुरुआतOpen / Assignedट्रायेज: accepted — severity, priority, मालिक और target release तय
2NewशुरुआतNeeds infoजानकारी अधूरी: ठीक कौन-सी चीज़ चाहिए, वह लिखा जाएवैकल्पिक पथ
3Needs infoNewशुरुआतमाँगी गई जानकारी जुड़ी: सीधे डेवलपर नहीं, दोबारा ट्रायेज मेंवैकल्पिक पथ
4NewशुरुआतResolved (बिना फ़िक्स)ट्रायेज: फ़िक्स की ज़रूरत नहीं — duplicate, rejected, cannot reproduce, won’t fix या by designवैकल्पिक पथ
5Open / AssignedDeferredटालना: लिखित कारण और target release या review की तारीख़वैकल्पिक पथ
6DeferredOpen / Assignedफिर से प्लान: review की तारीख़ या target release आ गईवैकल्पिक पथ
7Open / AssignedIn Progressडेवलपर काम शुरू करता है
8In ProgressNeeds infoडेवलपर रिप्रोड्यूस नहीं कर पातावैकल्पिक पथ
9In ProgressResolved: fixedफ़िक्स merge, जिस build में है वह बताया गया
10Resolved: fixedVerifiedबताए गए build में confirmation test पास, regression checks हरे
11Resolved: fixedReopenedRetest फ़ेल: मूल failure अब भी होता हैवैकल्पिक पथ
12ReopenedOpen / AssignedRetest के सबूत के साथ फ़िक्स के मालिक के पास वापसवैकल्पिक पथ
13VerifiedClosedअंतफ़िक्स target release में ship हुआ (या तय नियम हो तो verification पर ही बंद)
14ClosedअंतReopenedफ़िक्स वाले build में वही failure फिर दिखा (ट्रायेज के ज़रिए)वैकल्पिक पथ
15Resolved (बिना फ़िक्स)Closedअंतरिपोर्टर या QA resolution स्वीकार करता है; नहीं तो ट्रायेज में वापसवैकल्पिक पथ

हर defect New से शुरू होता है: कोई failure दिखा, या review में defect मिला। स्टेट के नाम सामान्य हैं; ट्रैकर इन्हें अलग नाम देते हैं।

  • New — दर्ज हुआ, अभी review नहीं हुआ। कुछ ट्रैकर इसे Unconfirmed, Submitted या Untriaged कहते हैं।
  • Needs info — रिपोर्टर से किसी ख़ास जानकारी का इंतज़ार; aging की घड़ी चलती रहती है।
  • Open / Assigned — valid माना गया, severity, priority, मालिक और target release के साथ।
  • In Progress — मालिक सक्रिय रूप से जाँच या फ़िक्स कर रहा है।
  • Resolved — मालिक के हिसाब से काम पूरा, या तो fixed या किसी और resolution के साथ।
  • Reopened — resolution टिका नहीं; defect अपने मालिक के पास लौटता है।
  • Verified — टेस्टर ने बताए गए build में फ़िक्स की पुष्टि की।
  • Closed — आगे कोई काम नहीं; रिकॉर्ड इतिहास और मेट्रिक्स के लिए रहता है।
  • Deferred — valid, लेकिन सोच-समझकर बाद की रिलीज़ तक टाला गया; अब भी ज्ञात खुला defect गिना जाता है।
पाठ संस्करण
  failure observed, or defect found in a review
                 |
                 v
             [ New ] ----- facts missing -----> [ Needs info ]
                 |  <------ facts supplied ------------+
                 |
                 +------- triage: no fix needed ------> [ Resolved ]  duplicate | rejected (not a bug)
                 |                                           |         cannot reproduce | won't fix | by design
                 | triage: accepted                          |
                 v                                           | reporter / QA agrees (if not: back to triage)
        [ Open / Assigned ] <----- re-planned -----+         |
             |        |                            |         |
             |        +------ postpone ----> [ Deferred ]    |
             | developer starts                              |
             v                                               |
        [ In Progress ]                                      |
             +-- cannot reproduce --> back to [ Needs info ] |
             | fix merged, build number stated               |
             v                                               |
     [ Resolved: fixed ] -- retest fails --> [ Reopened ] --> back to [ Open / Assigned ]
             |                                               |
             | confirmation test passes, regression green    |
             v                                               v
        [ Verified ] ------- fix shipped ------------> [ Closed ]
                                                             |
                                same failure seen again -----+--> [ Reopened ]

ट्रांज़िशन: defect कौन आगे बढ़ाता है और क्या सच होना चाहिए

कोई स्टेट तभी काम का है जब सबको पता हो कि उससे defect को कौन निकाल सकता है और पहले क्या सच होना चाहिए। ये नियम ट्रैकर के workflow में डालें जहाँ वह conditions और required fields सपोर्ट करता हो, और जहाँ न करता हो वहाँ टीम के working agreement में लिखें।

  • New → Open / Assigned — ट्रायेज ग्रुप (test lead, product owner, development lead) — रिप्रोड्यूस हुआ या भरोसेमंद सबूत है, duplicate नहीं, severity और priority तय, नामित मालिक और target release।
  • New → Needs info — ट्रायेज या डेवलपर — ठीक-ठीक कौन-सी चीज़ चाहिए वह लिखा जाए (build number, अकाउंट, request id), सिर्फ़ "more info please" नहीं।
  • Needs info → New — रिपोर्टर, या जिससे जानकारी माँगी गई थी — माँगी गई जानकारी रिपोर्ट में जोड़ दी गई; defect सीधे किसी डेवलपर के पास नहीं, दोबारा ट्रायेज में जाता है।
  • New → duplicate, rejected, cannot reproduce, won't fix या by design के रूप में Resolved — ट्रायेज ग्रुप — कारण दर्ज, duplicate मूल से लिंक, रिपोर्टर को सूचना।
  • Open → Deferred — product owner — लिखित कारण और target release या review की तारीख़; जोखिम वह स्वीकार करे जिसके पास स्वीकार करने का अधिकार हो।
  • Deferred → Open / Assigned — product owner — review की तारीख़ या target release आ गई, और defect को मालिक और रिलीज़ के साथ फिर से प्लान किया गया; टालने की अवधि बढ़े तो नया लिखित कारण चाहिए।
  • Open → In Progress — असाइन किया डेवलपर — काम शुरू; जो डेवलपर रिप्रोड्यूस नहीं कर पाता वह इसे खाली पड़ा रहने देने के बजाय Needs info में लौटाता है।
  • In Progress → Resolved: fixed — डेवलपर — फ़िक्स merge, जिस build में है वह बताया गया, और जहाँ संभव हो failure को कवर करने वाला test जोड़ा गया।
  • Resolved: fixed → Verified — टेस्टर, बेहतर हो तो रिपोर्टर — बताए गए build में मूल स्टेप और डेटा से confirmation test पास, और बदलाव के आसपास के तय regression checks हरे।
  • Resolved: fixed → Reopened — टेस्टर — बताए गए build में मूल failure अब भी होता है; सबूत अटैच। Retest में मिली कोई अलग failure नया defect है।
  • Reopened → Open / Assigned — test lead या ट्रायेज ग्रुप — defect retest के सबूत के साथ फ़िक्स के मालिक के पास लौटता है, और वहाँ से पहले की तरह In Progress में जाता है।
  • Verified → Closed — टेस्टर या release manager — फ़िक्स target release में ship हो गया, या अगर यही तय नियम है तो टीम verification पर ही बंद करती है।
  • Closed → Reopened — कोई भी, ट्रायेज के ज़रिए — फ़िक्स वाले build में वही failure फिर दिखा। अलग लक्षण को नया, लिंक किया defect मिलता है।
  • Resolved (बिना फ़िक्स) → Closed — रिपोर्टर या QA — resolution स्वीकार करता है; असहमति हो तो defect comments की बहस के बजाय ट्रायेज में लौटता है।

Fixed के अलावा के अंत

बहुत से defect रिकॉर्ड बिना किसी कोड बदलाव के ख़त्म होते हैं। ISTQB Foundation syllabus बताता है कि रिपोर्ट की गई anomaly असल में defect निकले, यह ज़रूरी नहीं — वह false positive या change request भी हो सकती है। हर बिना-फ़िक्स अंत को ऐसा कारण चाहिए जिसे कोई महीनों बाद भी जाँच सके।

  • Duplicate — वही मूल defect पहले से दर्ज है। मूल से लिंक करें, बेहतर सबूत वहाँ ले जाएँ, और नए रिकॉर्ड को resolve करें। एक जैसा लक्षण हमेशा एक जैसा कारण नहीं होता; शक हो तो फ़िक्स साबित करने तक दोनों को लिंक रखें।
  • Rejected / invalid / not a bug — व्यवहार requirement के अनुसार है, या रिपोर्ट test की गलती से बनी, जैसे ग़लत डेटा या ग़लत environment। Requirement उद्धृत करें। अगर requirement ही ग़लत है तो वह requirements defect या change request है, rejection नहीं।
  • Cannot reproduce / works for me — उपलब्ध जानकारी से कोई भी failure दोबारा नहीं ला पाता। क्या-क्या आज़माया (builds, devices, डेटा) दर्ज करें और logs व request ids रखें: intermittent defect अक्सर लौटते हैं, और पहली रिपोर्ट ही सबूत होती है।
  • Won't fix — असली defect जिसे टीम ने ठीक न करने का फ़ैसला किया, आमतौर पर क्योंकि लागत असर से ज़्यादा है या फ़ीचर हटाया जा रहा है। यह बिज़नेस फ़ैसला है जिसका मालिक product owner है, और कारण के साथ दर्ज होता है।
  • Deferred — असली defect जो बाद की रिलीज़ तक टाला गया। Won't fix के विपरीत यह खुला रहता है और release notes के साथ जाने वाली known-issues सूची में होता है।
  • By design / as designed — व्यवहार जानबूझकर है। जब डिज़ाइन यूज़र को चौंकाता हो, तो सोचें कि क्या वह चौंकना ख़ुद एक usability defect है जिसका अलग रिकॉर्ड बनना चाहिए।

ट्रैकर इन्हें क्या कहते हैं: Bugzilla, Jira और issue tracker

Bugzilla का documentation अपने bug workflow को customizable बताता है और एक default workflow दिखाता है। Default में status हैं UNCONFIRMED, CONFIRMED, IN_PROGRESS, RESOLVED और VERIFIED, और resolved bug पर इनमें से एक resolution होता है: FIXED, INVALID, WONTFIX, DUPLICATE या WORKSFORME। Bugzilla की field help VERIFIED को वह बिंदु बताती है जहाँ QA ने bug और उसका resolution देखकर सहमति दी, और इसे अंतिम status कहती है। दो डिज़ाइन फ़ैसले अपनाने लायक हैं: resolution, status से अलग फ़ील्ड है, और "cannot reproduce" सिर्फ़ comment नहीं बल्कि औपचारिक अंत है।

Jira configurable रास्ता अपनाता है: हर workflow अपने status और transitions तय करता है, और admin तय करते हैं कि कौन-से resolutions उपलब्ध हों, इसलिए एक ही कंपनी के दो प्रोजेक्ट एक ही लाइफ़साइकल के लिए अलग नाम और रास्ते इस्तेमाल कर सकते हैं। हल्के issue tracker लगभग सिर्फ़ open और closed रखते हैं, और टीम बाक़ी labels (needs-info, duplicate, wontfix) और लिंक किए pull या merge requests से दिखाती है। टूल जो भी हो, अपने ट्रैकर के नामों को सामान्य लाइफ़साइकल से जोड़ने वाली एक पेज की mapping रखें ताकि मेट्रिक्स हर प्रोजेक्ट में एक ही मतलब रखें।

नीचे की टेबल ऐसे पढ़ें: New, Bugzilla में UNCONFIRMED है और उदाहरण वाले Jira प्रोजेक्ट में untriaged label के साथ Open; Open / Assigned, assignee के साथ CONFIRMED और assignee के साथ To Do; In Progress, दोनों में IN_PROGRESS / In Progress; Resolved: fixed, FIXED resolution के साथ RESOLVED और Fixed resolution के साथ Ready for QA; Resolved: other, INVALID, WONTFIX, DUPLICATE या WORKSFORME resolution के साथ RESOLVED और Duplicate, Won't Do या Cannot Reproduce resolution के साथ Done; Verified, Bugzilla में VERIFIED (जो वहाँ अंतिम status है) और Jira में Verified; Closed के लिए Bugzilla के default workflow में अलग state नहीं है, जबकि Jira में यह Closed है।

Generic state      Bugzilla default               Example Jira project (configured)
-----------------  -----------------------------  ---------------------------------
New                UNCONFIRMED                    Open + label "untriaged"
Open / Assigned    CONFIRMED + assignee           To Do + assignee
In Progress        IN_PROGRESS                    In Progress
Resolved: fixed    RESOLVED / FIXED               Ready for QA, resolution Fixed
Resolved: other    RESOLVED / INVALID, WONTFIX,   Done, resolution Duplicate,
                   DUPLICATE, WORKSFORME          Won't Do, Cannot Reproduce
Verified           VERIFIED (final status)        Verified
Closed             (no separate state)            Closed

Confirmation testing, regression testing और reopen

फ़िक्स के बाद दो अलग test होते हैं, और ISTQB syllabus इन्हें अलग-अलग नाम देता है। Confirmation testing, जिसे अक्सर retesting कहते हैं, फ़िक्स वाले build में फ़ेल हुए स्टेप दोबारा चलाता है ताकि पक्का हो कि defect चला गया। Regression testing जाँचता है कि बदलाव ने कुछ और नहीं तोड़ा: पड़ोसी फ़ीचर, बदले गए कोड को कॉल करने वाले दूसरे हिस्से, दूसरे प्लेटफ़ॉर्म और locales। पहला पास होने पर defect verified है; रिलीज़ तभी सुरक्षित है जब दूसरा भी पास हो।

Confirmation testing मूल डेटा और environment से शुरू होना चाहिए और फिर एक बार में एक चीज़ बदलनी चाहिए — दूसरा ब्राउज़र, दूसरा रोल, रिपोर्ट की गई value के बगल वाली boundary — क्योंकि फ़िक्स अक्सर ठीक वही रिपोर्ट किया केस कवर करता है और उसके भाई-बहन छोड़ देता है। Regression का दायरा बदलाव से आता है: diff ने कौन-से मॉड्यूल छुए और उन पर क्या निर्भर है। Smoke, sanity और regression testing गाइड बताती है कि इन suites का आकार कैसे तय करें।

  • Retest resolution में बताए build में करें, "latest" में कभी नहीं। वह build deploy नहीं हुआ तो defect retest के लिए तैयार नहीं।
  • Reopen सिर्फ़ उसी failure के लिए। नए लक्षण के लिए नया defect बनाएँ और उसे पहले वाले defect से लिंक करें; वरना दोनों का इतिहास पढ़ने लायक नहीं रहता।
  • Reopen गिनें। दो बार reopen हुआ defect फ़िक्स प्रक्रिया के बारे में बताता है — कोई test नहीं जोड़ा, कोई review नहीं, अस्पष्ट expected result — सिर्फ़ उस defect के बारे में नहीं।
  • Confirmation स्टेप को सबसे निचले level पर automated test में बदलें जहाँ वे व्यक्त हो सकें, ताकि defect चुपचाप न लौटे।

आज़माएँ: रिग्रेशन सिनेरियो जनरेटर

उदाहरण: एक defect खोज से क्लोज़र तक

नीचे एक काल्पनिक retail ऐप का काल्पनिक defect है, यथार्थवादी डेटा के साथ। कीमतें सऊदी रियाल (SAR) में हैं और 15% VAT लागू है; इस उदाहरण में प्रोडक्ट नियम यह है कि VAT डिस्काउंट के बाद की कीमत पर लगता है।

  • ट्रायेज ने severity Major से Critical की क्योंकि टीम का स्केल ग़लत पेमेंट राशि को Critical में रखता है — severity स्केल से तय होती है, रिपोर्टर के पहले अनुमान से नहीं।
  • Reopen सही था: वही मूल defect दूसरी स्क्रीन पर दिख रहा था। अलग लक्षण होता तो नया, लिंक किया रिकॉर्ड बनता।
  • Verification ने बताया गया build इस्तेमाल किया और सिर्फ़ मूल स्टेप दोहराने के बजाय coupon का प्रकार और प्लेटफ़ॉर्म बदला।
  • रिकॉर्ड में वह सब है जो बाद में मेट्रिक्स को चाहिए: कब और कहाँ मिला, age, reopen count और root cause origin।
DEF-2417  Android checkout charges 190.00 SAR instead of 184.00 with a fixed-amount coupon
Found in: system testing, release 5.3.0     Reporter: layla.h@example.com
Environment: Android app 5.3.0 (build 530-rc2), Android 14 emulator, staging, API v2

2026-09-14 09:40  NEW          Cart 200.00 SAR, coupon SAVE40 (-40.00). Expected (200 - 40) x 1.15 = 184.00.
                               Actual: charged 190.00 (VAT 30.00 computed on 200.00, then -40.00).
                               Web checkout, same account: correct. Request and response attached.
                               Reported severity: Major.
2026-09-14 14:00  OPEN         Triage: reproduced 3/3 by a second tester; no duplicate ("VAT", "coupon").
                               Severity raised to Critical (customer charged a wrong amount).
                               Priority Highest (release 5.3.0 due 2026-09-21).
                               Owner: omar.k (payments API). Target: 5.3.0.
2026-09-15 10:15  IN PROGRESS  API v2 POST /orders/price applies the coupon after VAT; v1 was changed
                               in 5.1 when the rule changed, v2 was not.
2026-09-15 17:30  RESOLVED     Fixed in build 530-rc3. API tests added for fixed and % coupons.
2026-09-16 11:05  REOPENED     Retest on rc3: amount charged is 184.00, but the order summary before
                               payment still shows 190.00 (GET /orders/summary, v2). Same defect.
2026-09-16 11:20  OPEN         Back to omar.k with the retest evidence. Target unchanged: 5.3.0.
2026-09-16 13:40  IN PROGRESS  GET /orders/summary (v2) still calls the old pricing function.
2026-09-16 18:20  RESOLVED     Fixed in build 530-rc4: summary uses the corrected pricing function.
2026-09-17 12:40  VERIFIED     Confirmation on rc4: 184.00 on both screens; also 20% coupon, web and
                               Android. Regression: checkout and pricing pack 38/38 passed.
2026-09-21 16:00  CLOSED       Shipped in 5.3.0.

Age at verification: 3 d 3 h   Reopen count: 1   Found in: system test
Root cause origin: requirements (rule change scoped to web only); contributing: code, test

आज़माएँ: HTTP रिक्वेस्ट इंस्पेक्टर आज़माएँ: API रिस्पॉन्स एनालाइज़र आज़माएँ: AI बग विवरण जनरेटर

Defect aging, defect मेट्रिक्स और summary report

Defect age वह समय है जितने दिन defect खुला रहा: खुले defect के लिए बनने से अब तक, और पूरे हो चुके defect के लिए resolution या closure तक — एक परिभाषा चुनें और उसी पर टिकें। हर स्टेट में बिताया समय कुल age से ज़्यादा उपयोगी है, क्योंकि वह दिखाता है कि defect कहाँ रुके हैं: New में दिन मतलब ट्रायेज नहीं हो रहा; Resolved में दिन मतलब retest queue bottleneck है; Needs info में दिन मतलब रिपोर्टों में तथ्य कम हैं।

कुछ ही defect मेट्रिक्स असली फ़ैसलों में मदद करते हैं: severity और age के हिसाब से खुले defect (release readiness), समय के साथ आने वाले बनाम बंद होने वाले (क्या backlog घट रहा है?), reopen rate (फ़िक्स की गुणवत्ता), rejected और duplicate rate (रिपोर्ट की गुणवत्ता और ट्रैकर search), और हर चरण में मिले defect का production की तुलना में हिस्सा — ISTQB glossary में defect detection percentage के पीछे यही विचार है। Test metrics गाइड परिभाषाएँ, फ़ॉर्मूले और मेट्रिक्स के साथ होने वाली हेराफेरी कवर करती है।

Defect summary report यह सब उन लोगों के सामने रखती है जो ट्रैकर में नहीं रहते, आमतौर पर test progress report या test completion report के हिस्से के रूप में। इसमें संख्याएँ और रुझान होते हैं, और उन ख़ास खुले defect के नाम जो रिलीज़ के फ़ैसले पर असर डालते हैं, हर एक की severity, priority, मालिक और योजना के साथ।

  • हर severity के लिए age की सीमा तय करें — जैसे Critical defect एक working day बाद भी untriaged, या Major defect तीन दिन से ज़्यादा Resolved में — और हर हफ़्ते उल्लंघन review करें।
  • Deferred defect साफ़-साफ़ रिपोर्ट करें; deferred defect रिलीज़ में ज्ञात जोखिम है, बंद defect नहीं।
Defect summary - release 5.3.0 - week ending 2026-09-18
Open by severity:     Blocker 0 | Critical 1 | Major 6 | Minor 14 | Trivial 9   (total 30)
Arrivals / closures:  23 / 31 this week (backlog down 8)
Age of open defects:  under 7 d: 18 | 7-30 d: 9 | over 30 d: 3 (all Minor, deferred to 5.4)
Reopen rate:          3 of 58 fixes in the last 4 weeks (5%)
Found in:             reviews 11 | system test 37 | UAT 6 | production 2
Release-relevant:     DEF-2451 Critical / Highest / omar.k - fix in rc5, retest 2026-09-19
Deferred, risk accepted by product owner on 2026-09-17: DEF-2290, DEF-2304

लाइफ़साइकल अच्छी तरह चलाना: चेकलिस्ट

AI सहायता लाइफ़साइकल के टेक्स्ट-भारी स्टेप में फ़िट बैठती है: कच्चे नोट्स को structured रिपोर्ट में बदलना, searchable टाइटल सुझाना, justification के साथ severity और priority सुझाना, और stack trace समझाना। आउटपुट को ड्राफ़्ट मानें — टेस्टर स्टेप और सबूत की पुष्टि करता है, और अंतिम severity व priority ट्रायेज तय करता है।

  • हर प्रोडक्ट के लिए एक ट्रैकर और एक documented workflow, सामान्य स्टेट से mapping के साथ।
  • हर स्टेट का मालिक और exit condition; सबसे अहम शर्तें required fields से लागू हों।
  • तय ट्रायेज cadence, और untriaged queue लगभग शून्य।
  • हर बिना-फ़िक्स resolution के लिए अनिवार्य कारण, duplicate लिंक के साथ।
  • हर फ़िक्स अपना build बताए; हर retest उसी build में हो; regression का दायरा diff से आए।
  • हर defect कहाँ मिला और उसका root cause origin दर्ज करें, ताकि escapes मापे जा सकें।
  • रिलीज़ के दौरान हर हफ़्ते aging, reopen rate और deferred सूची review करें।

आज़माएँ: AI बग टाइटल जनरेटर आज़माएँ: AI बग विवरण जनरेटर आज़माएँ: AI बग गंभीरता सुझाव आज़माएँ: AI बग प्राथमिकता सुझाव आज़माएँ: AI एरर मैसेज एनालाइज़र

अक्सर पूछे जाने वाले सवाल

डिफ़ेक्ट लाइफ़साइकल के चरण कौन-से हैं?

आम लाइफ़साइकल है New, Open या Assigned, In Progress, Resolved, Verified और Closed, साथ में Needs info, Deferred और Reopened जैसे साइड स्टेट, और duplicate, rejected, cannot reproduce, won't fix और by design जैसे बिना-फ़िक्स resolutions। टूल इन्हें अलग नाम देते हैं, पर बुनियादी स्टेट वही हैं।

Error, defect और failure में क्या फ़र्क़ है?

Error इंसानी गलती है, defect उससे किसी work product जैसे कोड या requirement में बनी कमी है, और failure वह ग़लत व्यवहार है जो defect वाला हिस्सा चलने पर दिखता है। Defect कभी failure पैदा किए बिना भी मौजूद रह सकता है।

Retesting और regression testing में क्या फ़र्क़ है?

Retesting, यानी confirmation testing, फ़ेल हुए स्टेप दोबारा चलाकर पक्का करता है कि वह ख़ास defect ठीक हो गया। Regression testing जाँचता है कि बदलाव ने कुछ और नहीं तोड़ा। रिलीज़ से पहले फ़िक्स को दोनों चाहिए।

नया defect बनाने के बजाय defect कब reopen करें?

तब reopen करें जब फ़िक्स वाले build में वही failure अब भी होता हो या फिर से हो। अगर retest में अलग लक्षण दिखे तो नया defect फ़ाइल करें और उसे मूल से लिंक करें।

Deferred और won't fix में क्या फ़र्क़ है?

Deferred defect valid है और बाद की रिलीज़ में ठीक होगा, इसलिए खुला रहता है और known-issues सूची में दिखता है। Won't fix का मतलब है टीम ने उसे बिल्कुल ठीक न करने का फ़ैसला किया, और रिकॉर्ड उसी कारण से resolve होता है।

Defect aging कैसे मापें?

खुले defect के लिए बनने से अब तक का समय, और पूरे हुए defect के लिए resolution तक का समय मापें, और उसे स्टेट के हिसाब से बाँटें। New, Needs info और Resolved में बिताया समय बताता है कि bottleneck ट्रायेज है, रिपोर्टिंग है या retesting।

Defect कौन बंद करता है?

आमतौर पर वह टेस्टर जिसने फ़िक्स verify किया, या फ़िक्स ship होने के बाद release manager। बिना-फ़िक्स resolutions में रिपोर्टर या QA कारण स्वीकार करके बंद करता है; असहमति ट्रायेज में लौटती है।

संदर्भ

  • ISTQB Certified Tester Foundation Level (CTFL) v4.0ISTQB · 2023सॉफ़्टवेयर टेस्टिंग का फ़ाउंडेशन पाठ्यक्रम: टेस्ट स्तर और प्रकार, टेस्ट डिज़ाइन तकनीकें, टेस्ट प्रबंधन और टूल।
  • ISTQB GlossaryISTQBटेस्टिंग शब्दों की मानक परिभाषाएँ — टेस्ट केस, रिग्रेशन टेस्टिंग, सेवेरिटी, प्रायोरिटी, बाउंड्री वैल्यू एनालिसिस आदि।
  • IEEE 1044-2009 — IEEE Standard Classification for Software AnomaliesIEEE Standards Association · 2009सॉफ़्टवेयर anomalies — defects, failures और उनके प्रभाव — को वर्गीकृत करने के मानक शब्द और एट्रिब्यूट (IEEE इसे inactive-reserved सूचीबद्ध करता है)।
  • Editing a Bug (section "Life Cycle of a Bug") — Bugzilla DocumentationBugzilla Project (Mozilla)एक व्यापक रूप से इस्तेमाल होने वाले ट्रैकर का डिफ़ॉल्ट बग workflow — statuses, resolutions (fixed, invalid, won't fix, duplicate, works for me) और transitions — lifecycle का ठोस उदाहरण।
  • ISO/IEC/IEEE 29119-3:2021 — Software and systems engineering — Software testing — Part 3: Test documentationISO/IEC/IEEE · 2021टेस्ट दस्तावेज़ों के टेम्पलेट और सामग्री — test policy, strategy, plan, status व completion रिपोर्ट, incident रिपोर्ट।
  • Certified Tester Advanced Level Test Management (CTAL-TM) v3.0ISTQB · 2024टेस्टिंग प्रबंधन पर ISTQB का advanced पाठ्यक्रम: टेस्ट योजना और अनुमान, risk-based testing, निगरानी, मेट्रिक्स और रिपोर्टिंग।

अभ्यास

पाँच defect रिकॉर्ड को लाइफ़साइकल के नियमों पर जाँचें

आपका काम

आप एक काल्पनिक नगरपालिका के e-services पोर्टल में Shop licence renewal फ़ीचर टेस्ट करते हैं। रिलीज़ 2.8, 29 सितंबर 2026 को ship होगी, और go/no-go मीटिंग कल है। आज 27 सितंबर की सुबह है। Test lead को शक है कि कुछ defect ट्रैकर में ऐसे आगे बढ़ाए गए हैं जो टीम का लाइफ़साइकल तोड़ते हैं, इसलिए वह आपसे मीटिंग से पहले पाँच रिकॉर्ड जाँचने को कहती है। नीचे का export अंग्रेज़ी में है, जैसा ट्रैकर से निकलता है, और गाइड के डायग्राम वाले सामान्य स्टेट नाम इस्तेमाल करता है; हर पंक्ति में समय, वह स्टेट जिसमें defect गया, और उसे किसने आगे बढ़ाया, दिया है।

हर ट्रांज़िशन को गाइड के नियमों पर जाँचें: क्या उस व्यक्ति को यह करने का अधिकार था, और क्या उस पल exit condition सच थी? कुछ ट्रांज़िशन सही हैं, इसलिए सिर्फ़ नियम तोड़ने वालों को चिह्नित करें और लिखें कि उनकी जगह क्या होना चाहिए था। फिर एक रिकॉर्ड का हर स्टेट का समय निकालें और export के अंत में release note का ड्राफ़्ट ठीक करें। काग़ज़-कलम काफ़ी हैं; step 4 में date difference calculator समय बचाता है, और state transition generator लाइफ़साइकल को valid transitions की टेबल के रूप में रख सकता है, जिससे आप हर ट्रांज़िशन मिलाकर देख सकें।

सामग्री
Municipal e-services portal (fictional) - Shop licence renewal - release 2.8
Tracker export 2026-09-27 09:00. Go/no-go meeting 2026-09-28, release ships 2026-09-29.
Triage group (test lead rania.q, product owner nadia.f, dev lead): Sun-Thu at 15:30.
Team rule: a Verified defect is closed when its fix ships.
Found in system testing by sara.m unless stated otherwise.

LIC-401  Late-renewal fee shows 0.00 SAR the day after the licence expired
2026-09-14 10:05  NEW          sara.m: licence expired 2026-09-13, renewal on 2026-09-14.
                               Rule LR-7: late fee 100.00 SAR from the first day after
                               expiry. Shown: 0.00. Steps and request id attached.
2026-09-14 15:30  OPEN         Triage: reproduced, no duplicate. Major / High.
                               Owner khalid.r, target 2.8.
2026-09-15 09:10  IN PROGRESS  khalid.r
2026-09-15 16:40  RESOLVED     khalid.r: fixed in build 2.8.0-rc3 (off-by-one in the
                               expiry date check). Unit test added.
2026-09-16 08:50  REOPENED     sara.m: retest on staging (build 2.8.0-rc2): still 0.00.
2026-09-16 09:40  RESOLVED     rania.q: reopen withdrawn, staging still runs rc2.
2026-09-17 11:00  VERIFIED     sara.m: rc3 on staging: 100.00 the day after expiry,
                               0.00 on the expiry day. Renewal and payment pack 24/24.

LIC-402  Arabic shop name missing from the renewed licence PDF
2026-09-15 11:20  NEW          sara.m: empty boxes instead of the Arabic shop name;
                               English name correct. PDF and account attached.
2026-09-15 15:30  OPEN         Triage: reproduced, no duplicate. Major / High
                               (official document). Owner lina.s, target 2.8.
2026-09-16 10:00  IN PROGRESS  lina.s
2026-09-17 17:10  RESOLVED     lina.s: fixed in build 2.8.0-rc4 (Arabic font embedded).
                               Automated check added for the Arabic name in the PDF.
2026-09-20 12:30  REOPENED     sara.m: retest on rc4: Arabic name now correct, but the
                               PDF shows the new expiry date as 2026-09-13 (the old
                               date) instead of 2027-09-13.

LIC-403  Renewal form accepts an 8-digit mobile number
2026-09-16 09:45  NEW          sara.m: mobile 05123456 accepted. Requirement RN-4:
                               a Saudi mobile number is 05 followed by 8 digits.
2026-09-16 15:30  OPEN         Triage: reproduced, no duplicate. Minor / Medium.
                               Owner khalid.r, target 2.8.
2026-09-21 14:00  RESOLVED     khalid.r: won't fix, the SMS gateway rejects bad
                               numbers anyway.
2026-09-22 10:15  CLOSED       sara.m: closed, developer says won't fix.

LIC-404  Screen reader announces the Pay button only as "button"
2026-09-17 13:00  NEW          sara.m: on the payment step NVDA reads "button" with
                               no name; the button shows only an icon.
2026-09-17 15:30  OPEN         Triage: reproduced, no duplicate. Major / Medium.
                               Owner lina.s, target 2.8.
2026-09-22 16:00  DEFERRED     lina.s: no time in this release.
2026-09-24 18:00  CLOSED       Release manager: board clean-up before go/no-go.

LIC-405  Payment taken but licence not renewed ("Session expired" after paying)
Found in: UAT. Reporter: ahmed.t (licensing department)
2026-09-20 09:20  NEW          ahmed.t: paid 600.00 SAR, the page showed "Session
                               expired" and the licence still has the old expiry date.
2026-09-20 11:00  NEEDS INFO   khalid.r: need more info.
2026-09-22 10:30  IN PROGRESS  ahmed.t added build 2.8.0-rc4, account TEST-SHOP-07,
                               payment time 2026-09-20 09:05, receipt RC-55190.
                               khalid.r started work.
2026-09-24 12:00  RESOLVED     khalid.r: duplicate.

Draft release note for 2.8 (test lead, to send after go/no-go):
  Known issues: none.
  Defects reopened after retest in this release: 2 (LIC-401, LIC-402).
चरण
  1. हर रिकॉर्ड अब तक जिन स्टेट से गुज़रा, उनका रास्ता गाइड के सामान्य नामों में लिखें (New, Needs info, Open / Assigned, In Progress, Resolved, Reopened, Verified, Closed, Deferred)।
  2. हर ट्रांज़िशन के लिए लिखें कि उसे किसने किया और उस पल क्या सच था। जो ट्रांज़िशन किसी नियम को तोड़ता है उसे सूची में लिखें, और बताएँ कि उसकी जगह क्या होना चाहिए था।
  3. हर रिकॉर्ड के लिए आज का सही अगला कदम और उसका मालिक लिखें।
  4. LIC-401 के लिए हर स्टेट में बिताया समय और verification के समय उसकी age निकालें, calendar time में, जैसे गाइड के उदाहरण में है। बताएँ कि defect सबसे ज़्यादा कहाँ रुका और इससे टीम को क्या पता चलता है।
  5. Release note के ड्राफ़्ट की दोनों पंक्तियाँ ठीक करें।
मॉडल उत्तर दिखाएँ
मॉडल उत्तर

नौ ट्रांज़िशन नियम तोड़ते हैं: LIC-401 में एक, LIC-402 में एक, LIC-403 में दो, LIC-404 में दो और LIC-405 में तीन। बाक़ी सब गाइड के अनुसार है, और सही ट्रांज़िशन पहचानना भी इस अभ्यास का हिस्सा है।

LIC-401। रास्ता: New → Open / Assigned → In Progress → Resolved: fixed → Reopened → Resolved: fixed → Verified। टूटा नियम (1): 16 सितंबर का reopen। Fixed defect का retest resolution में बताए build में होता है, जो rc3 था; staging पर तब भी rc2 चल रहा था, जिसमें फ़िक्स है ही नहीं। Defect retest के लिए तैयार नहीं था: टेस्टर को देखना चाहिए था कि कौन-सा build deploy है और rc3 का इंतज़ार करना चाहिए था, या पूछना चाहिए था कि वह कब deploy होगा। Test lead का इसे वापस Resolved में ले जाना गाइड के डायग्राम का ट्रांज़िशन नहीं है, पर जो reopen होना ही नहीं चाहिए था उसे पलटना सही सुधार है, और उसका note कारण दर्ज करता है; इस reopen को reopen count से बाहर रखें, क्योंकि यह फ़िक्स की गुणवत्ता के बारे में कुछ नहीं बताता। बाक़ी रिकॉर्ड आदर्श है: ट्रायेज ने failure रिप्रोड्यूस की, duplicate खोजा, और severity, priority, मालिक व target तय किए; फ़िक्स ने अपना build बताया और test जोड़ा; verification ने बताया गया build इस्तेमाल किया, boundary के दोनों ओर जाँच की (expiry का दिन और उसका अगला दिन) और regression pack चलाया। अगला कदम: रिलीज़ तक कुछ नहीं। टीम के नियम के अनुसार 29 सितंबर को 2.8 ship होने पर sara.m या release manager इसे बंद करे।

LIC-402। रास्ता: New → Open / Assigned → In Progress → Resolved: fixed → Reopened। टूटा नियम (2): reopen। Confirmation test पास हुआ, क्योंकि rc4 में Arabic नाम सही है; ग़लत expiry date एक अलग field में अलग failure है। Reopen सिर्फ़ उसी failure के लिए होता है; अलग लक्षण को पहले वाले से लिंक किया नया defect मिलता है। अगले कदम: sara.m नया defect फ़ाइल करती है (मान लें LIC-406, "Renewed licence PDF shows the old expiry date 2026-09-13 instead of 2027-09-13"), अपने स्टेप और सबूत के साथ, LIC-402 से लिंक करके, और वह आज के ट्रायेज में जाता है। Test lead LIC-402 को वापस Resolved: fixed में रखती है, और बदलाव के आसपास के तय regression checks हरे होने पर sara.m उसे Verified करती है, जैसे सिस्टम के बनाए दूसरे PDF (receipt, सिर्फ़ अंग्रेज़ी नाम वाला licence और लंबे Arabic नाम वाला licence)। यह भी देखें कि date वाली failure rc3 में होती है या नहीं: अगर नहीं, तो rc3 और rc4 के बीच हुए किसी बदलाव ने, जैसे font वाले फ़िक्स ने, उसे पैदा किया, जो ट्रायेज और root cause analysis के लिए अहम है।

LIC-403। रास्ता: New → Open / Assigned → Resolved: won't fix → Closed। टूटे नियम (3) और (4)। (3) Won't fix बिज़नेस फ़ैसला है जिसका मालिक product owner है और जो कारण के साथ दर्ज होता है; यहाँ डेवलपर ने ट्रायेज के बाहर अकेले यह फ़ैसला लिया। (4) फिर रिपोर्टर ने रिकॉर्ड इसलिए बंद कर दिया कि "डेवलपर won't fix कहता है"। बिना-फ़िक्स resolution को बंद करने का मतलब है कि रिपोर्टर या QA उसका कारण स्वीकार करता है, पर यहाँ स्वीकार करने लायक कोई valid फ़ैसला था ही नहीं, और डेवलपर का कारण टिकता नहीं: अगर SMS gateway ग़लत नंबर reject कर देता है, तो पोर्टल उस नंबर पर जो SMS भेजता है वे दुकान मालिक तक कभी नहीं पहुँचेंगे। यह असर का वर्णन है, फ़िक्स छोड़ने का कारण नहीं। रिपोर्टर असहमत हो तो defect comments की बहस के बजाय ट्रायेज में लौटता है। अगला कदम: test lead LIC-403 को आज के ट्रायेज agenda पर रखती है; nadia.f तय करती है कि इसे 2.8 में ठीक करना है, लिखित कारण और target के साथ defer करना है, या दर्ज कारण के साथ won't fix पक्का करना है, और रिपोर्टर को नतीजा बताया जाता है।

LIC-404। रास्ता: New → Open / Assigned → Deferred → Closed। टूटे नियम (5) और (6)। Defer करना product owner का फ़ैसला है, लिखित कारण और target release या review की तारीख़ के साथ, और जोखिम वह स्वीकार करे जिसके पास इसका अधिकार हो; डेवलपर का "इस रिलीज़ में समय नहीं" इनमें से कुछ भी नहीं है। Board clean-up में इसे बंद करना दूसरा नियम तोड़ता है: deferred defect अब भी ज्ञात खुला defect है और known-issues सूची में होता है, और Deferred से रास्ता Open / Assigned की ओर जाता है, Closed की ओर कभी नहीं। यह closure एक असली जोखिम छिपाता है, क्योंकि screen reader यूज़र यह नहीं पहचान पाते कि कौन-सा बटन पेमेंट करता है, और खुले defect की गिनती असल से बेहतर दिखाता है। अगला कदम: test lead इसे आज के ट्रायेज में ले जाती है ताकि closure रद्द हो; nadia.f या तो target 2.8 रखती है, या लिखित कारण के साथ इसे 2.9 (या review की किसी तारीख़) तक defer करती है, और उस हालत में यह 2.8 की known issues में जाता है।

LIC-405। रास्ता: New → Needs info → In Progress → Resolved: duplicate। टूटे नियम (7), (8) और (9)। (7) "need more info" कुछ नहीं बताता; अनुरोध में ठीक-ठीक कमी वाली चीज़ें होनी चाहिए थीं: build, test account, पेमेंट का समय, और receipt या request id। इस अस्पष्ट अनुरोध ने Needs info में लगभग दो दिन ले लिए (20 सितंबर 11:00 से 22 सितंबर 10:30 तक)। (8) जानकारी मिलने के बाद defect को ट्रायेज के लिए वापस New में जाना चाहिए था, सीधे डेवलपर के पास नहीं; इसलिए इसका ट्रायेज कभी हुआ ही नहीं: न severity, न priority, न target, उस failure के लिए जिसमें ग्राहक पैसे देता है और उसे सेवा नहीं मिलती। गाइड के उदाहरण जैसे स्केल पर, जहाँ ग़लत पेमेंट राशि Critical है, यह कम से कम उतना ही ऊँचा है, और रिलीज़ के फ़ैसले पर असर डालता है। (9) Duplicate ट्रायेज ग्रुप resolve करता है, मूल से लिंक करके, बेहतर सबूत वहाँ ले जाकर और रिपोर्टर को सूचना देकर; यह रिकॉर्ड किसी मूल का नाम तक नहीं लेता। एक जैसा लक्षण हमेशा एक जैसा कारण नहीं होता, इसलिए शक हो तो फ़िक्स साबित करने तक दोनों रिकॉर्ड लिंक रखें। अगला कदम: test lead LIC-405 को आज के ट्रायेज में लाती है; ट्रायेज ग्रुप severity और priority तय करता है, मूल रिकॉर्ड से लिंक करता है या, मूल न हो तो, इसे मालिक और target release के साथ नए defect की तरह असाइन करता है, और नतीजा go/no-go agenda पर रखता है।

LIC-401 के समय, calendar time में: New 5 घंटे 25 मिनट (14 सितंबर 10:05 से 15:30); Open / Assigned 17 घंटे 40 मिनट (15 सितंबर 09:10 तक); In Progress 7 घंटे 30 मिनट (16:40 तक); Resolved 16 घंटे 10 मिनट (16 सितंबर 08:50 तक); Reopened 50 मिनट (09:40 तक); फिर Resolved 25 घंटे 20 मिनट (17 सितंबर 11:00 तक)। Verification के समय age: 3 दिन 0 घंटे 55 मिनट, यानी 72 घंटे 55 मिनट, और हिस्सों का जोड़ भी यही है। Defect ने 41 घंटे 30 मिनट Resolved में बिताए, यानी अपनी age के आधे से ज़्यादा, जबकि development का काम 7 घंटे 30 मिनट का था। इस इंतज़ार के कम से कम पहले 17 घंटे (15 सितंबर 16:40 से 16 सितंबर 09:40 तक) फ़िक्स rc3 में मौजूद था, पर staging पर तब भी rc2 चल रहा था। गाइड Resolved में बीते दिनों को retest queue का bottleneck मानती है; यहाँ कारण का एक हिस्सा यह है कि फ़िक्स वाले builds test environment तक कैसे पहुँचते हैं, इसलिए पूछें कि rc3 कब deploy हुआ और deployment की देरी का मुद्दा उठाएँ, डेवलपर की रफ़्तार नहीं।

Release note। "Known issues: none" ग़लत है: LIC-404 एक ज्ञात defect है। अगर nadia.f इसे defer करती है, तो पंक्ति कुछ ऐसी होगी: "Known issues: LIC-404, payment step पर screen reader Pay बटन को बिना नाम के पढ़ते हैं; 2.9 तक deferred, जोखिम product owner ने स्वीकार किया।" अगर वह इसे 2.8 में रखती है, तो रिलीज़ से पहले इसे ठीक और verify होना होगा। आज का ट्रायेज जिस भी दूसरे defect को defer करे, जैसे LIC-403, वह भी इसी रूप में सूची में जुड़ता है। "Defects reopened after retest: 2" की जगह 0 होना चाहिए: LIC-401 का retest बिना फ़िक्स वाले build में हुआ, और LIC-402 के retest में अलग failure मिली जो अब अपना अलग defect है। इन्हें गिनने से reopen rate फ़िक्स की गुणवत्ता के बजाय प्रक्रिया की गलतियाँ मापेगा। Release note के लिए नहीं, पर go/no-go मीटिंग के लिए: LIC-405 (पेमेंट लिया गया, licence renew नहीं हुआ) और नया LIC-406 खुले हैं और उनका ट्रायेज नहीं हुआ, और रिलीज़ के फ़ैसले को दोनों के ट्रायेज का नतीजा चाहिए।

अपनी सूची जाँचने के लिए: आपका चिह्नित हर ट्रांज़िशन दो सवालों में से किसी एक पर फ़ेल होना चाहिए। क्या उस व्यक्ति को यह करने का अधिकार था, और क्या उस पल exit condition सच थी? जो ट्रांज़िशन दोनों पर पास हो वह सही है, भले उसका नतीजा पसंद न आए: nadia.f का ट्रायेज में दर्ज कारण के साथ लिया गया won't fix फ़ैसला LIC-403 का valid अंत होता।

इस topic में आपकी प्रगति

QA रोडमैप का हिस्सा

इस गाइड में बताए गए टूल्स

मोटे-मोटे नोट्स को पूरी बग रिपोर्ट में बदलें: reproduce करने के स्टेप, अपेक्षित बनाम वास्तविक, environment, गंभीरता और attachments चेकलिस्ट।

बग विश्लेषण AI

Mutqan AI से बिखरे हुए विवरण से स्पष्ट और खोजने में आसान बग टाइटल बनाएँ।

बग विश्लेषण AI

Mutqan AI से कारण सहित सुझाई गई गंभीरता (Blocker / Critical / Major / Minor / Trivial) पाएँ।

बग विश्लेषण AI

Mutqan AI से व्यावसायिक प्रभाव, प्रभावित यूज़र, समयसीमा और गंभीरता को देखते हुए सुझाई गई प्राथमिकता (P0–P3) पाएँ।

बग विश्लेषण AI

Mutqan AI से stack trace और एरर मैसेज समझें, संभावित मूल कारण पहचानें और डिबगिंग के अगले क़दम जानें।

बग विश्लेषण AI

किसी API रिस्पॉन्स का विश्लेषण करें: संरचना, फ़ील्ड टाइप, null, डुप्लिकेट, साइज़ और संभावित डेटा-क्वालिटी समस्याएँ।

API टेस्टिंग

बदलाव के विवरण और प्रभावित तथा संबंधित मॉड्यूल की सूची से रिग्रेशन सिनेरियो जनरेट करें।

टेस्ट डिज़ाइन

Mutqan Soft कैसे मदद कर सकता है

और गाइड

और गाइड
बग विश्लेषण

बग रिपोर्ट कैसे लिखें

ऐसी बग रिपोर्ट कैसे लिखें जिस पर डेवलपर काम कर सकें: अहम फ़ील्ड, कॉपी-रेडी टेम्पलेट, पूरा उदाहरण, severity बनाम priority, और बचने लायक गलतियाँ।

5 मिनट पढ़ने का समय
बग विश्लेषण

डिफ़ेक्ट ट्रायेज कैसे करें

डिफ़ेक्ट ट्रायेज कैसे चलाएँ: प्रतिभागी, cadence, हर defect की चेकलिस्ट, severity × priority मैट्रिक्स, असाइनमेंट, root cause analysis और anti-patterns।

13 मिनट पढ़ने का समय
टेस्ट डिज़ाइन

सॉफ़्टवेयर टेस्टिंग लाइफ़ साइकल (STLC)

STLC चरण-दर-चरण — analysis, planning, design, environment, execution और closure — ISTQB test process से मैप, हर चरण के entry और exit criteria के साथ।

15 मिनट पढ़ने का समय
टेस्ट डिज़ाइन

टेस्ट मेट्रिक्स जो फ़ैसले तय करें

कौन-से test metrics ट्रैक करने लायक हैं — coverage, execution, defect और DORA delivery metrics — इन्हें रिपोर्ट कैसे करें और vanity metrics से कैसे बचें।

12 मिनट पढ़ने का समय
टेस्ट डिज़ाइन

SDLC और STLC की पूरी समझ

सॉफ़्टवेयर डेवलपमेंट और टेस्टिंग लाइफ़ साइकल कैसे जुड़ते हैं: हर चरण में QA, SDLC से STLC की मैपिंग, shift-left और हर मॉडल में टेस्टिंग।

18 मिनट पढ़ने का समय
आवश्यकता विश्लेषण

Requirements Review कैसे करें

Requirements और user stories का review कैसे करें: 8-बिंदु checklist, चेतावनी वाले शब्द, review comments वाला उदाहरण, और AI टूल कहाँ मदद करते हैं।

12 मिनट पढ़ने का समय