Requirements Review कैसे करें
Requirements review, test basis का static test है: किसी के डिज़ाइन, कोड या टेस्ट करने से पहले एक छोटा समूह requirement या user story पढ़ता है और पूछता है कि क्या यह स्पष्ट, पूर्ण, consistent, सही, testable, feasible, traceable और non-functional ज़रूरतों के बारे में साफ़ है। यहाँ जवाब मिला हर सवाल एक ऐसा फ़ैसला है जिसका डेवलपर को अनुमान नहीं लगाना पड़ेगा, और एक ऐसा defect जो टेस्टर को बाद में नहीं ढूँढना पड़ेगा।
यह गाइड वह प्रक्रिया देती है जिसे कोई भी टेस्टर किसी भी टीम में चला सकता है, हर मानदंड के लिए पूछे जाने वाले सवालों की checklist, मुसीबत का संकेत देने वाले शब्द, और एक पूरा उदाहरण — एक user story, उस पर आए review comments, और rework के बाद की story। अंत में बताया है कि Mutqan के AI requirement टूल कहाँ फ़िट होते हैं: वे findings का ड्राफ़्ट बनाते हैं; फ़ैसला इंसान करता है।
Requirements review क्या है और यह क्यों फ़ायदेमंद है
ISTQB की शब्दावली में requirements और user stories test basis का हिस्सा हैं — वह सामग्री जिससे टेस्ट निकाले जाते हैं। इनका review स्टैटिक टेस्टिंग है, और CTFL v4.0 requirement defects — inconsistency, अस्पष्टता, विरोधाभास, छूटी बातें, अशुद्धियाँ और दोहराव — को उन defects में गिनता है जिन्हें स्टैटिक टेस्टिंग dynamic टेस्टिंग से ज़्यादा आसानी और कम लागत में पकड़ती है। बच निकला requirement defect कोड बनता है, फिर उसी गलतफ़हमी पर लिखे टेस्ट, और आख़िर में कोई यूज़र उसे पकड़ता है।
Requirements review साझा समझ भी बनाता है, जो कोई डॉक्यूमेंट अकेले नहीं दे सकता। जब product owner, एक डेवलपर और एक टेस्टर एक ही story साथ पढ़ते हैं — जिसे कई agile टीमें "three amigos" कहती हैं — तो हर कोई अलग सवाल लाता है: बिज़नेस को क्या चाहिए, इसे कैसे बनाया जा सकता है, और यह कैसे fail हो सकता है। Review प्रकार आम तौर पर informal या छोटा technical review होता है; नियामक या वित्तीय rules के लिए checklist के साथ inspection उचित है। Review के प्रकार और भूमिकाएँ अपने अलग पेज पर तुलना के साथ हैं।
Requirements review कैसे चलाएँ, कदम दर कदम
- सही समय चुनें। Story को sprint में लेने से पहले review करें (कई टीमें "reviewed" को definition of ready का हिस्सा बनाती हैं), और बदलने पर फिर review करें।
- संदर्भ इकट्ठा करें। Epic, जुड़े business rules, API contract, डिज़ाइन और story से जुड़ा कोई नियम खोलें। कई विरोधाभास डॉक्यूमेंट के बीच होते हैं, एक के अंदर नहीं।
- पहले अकेले पढ़ें। हर reviewer नीचे की checklist के साथ पढ़े और चर्चा से पहले findings लिखे, ताकि पहली कही गई राय बाक़ी सबको न बाँध दे।
- Findings को review comments की तरह लिखें। हर comment में एक finding: कहाँ, क्या गलत है, क्यों मायने रखता है, सुझाया गया बदलाव या सवाल, और किसे फ़ैसला करना है।
- चर्चा करें और तय करें। Refinement या छोटी मीटिंग में author हर finding को स्वीकार, अस्वीकार या बदलता है। खुले सवालों को owner और तारीख़ मिलती है; कुछ भी चुपचाप मान लिया गया नहीं छोड़ा जाता।
- Rework करें और फिर जाँचें। Author story और acceptance criteria अपडेट करता है; एक reviewer पुष्टि करता है कि हर स्वीकार की गई finding हल हुई, तभी story ready मानी जाती है।
- Findings संभालकर रखें। Finding types (अस्पष्टता, छूटा error path, टकराता rule) का log दिखाता है कि आपकी टीम को कौन-से checklist items और template headings सबसे ज़्यादा चाहिए।
आज़माएँ: AI Requirement अस्पष्टता डिटेक्टर आज़माएँ: AI Requirement गैप एनालाइज़र
Requirements review checklist
इन आठ मानदंडों को अपने नोट्स के शीर्षक बनाएँ। हर मानदंड के नीचे के सवाल वही हैं जो सबसे ज़्यादा defects पकड़ते हैं।
- Ambiguity (अस्पष्टता) — क्या दो पाठक इसे अलग-अलग बना या टेस्ट कर सकते हैं? क्या इसमें धुँधले शब्द (तेज़, आसान, उचित), अपरिभाषित शब्द, अस्पष्ट सर्वनाम या "और/या" हैं?
- Completeness (पूर्णता) — क्या error paths, खाली स्थितियाँ, limits, permissions और roles कवर हैं? Timeout, दोहरे submission, cancel या invalid डेटा पर क्या होता है? यह कौन कर सकता है, और कौन नहीं?
- Consistency — क्या यह किसी दूसरी story, business rule, API contract, UI डिज़ाइन या ख़ुद से टकराता है? क्या एक ही चीज़ को हर जगह एक ही नाम से बुलाया गया है?
- Correctness (सही होना) — क्या यह वही है जो बिज़नेस और यूज़र को सच में चाहिए? क्या यह domain, क़ानून और मौजूदा नीति के हिसाब से सही है? क्या संख्याएँ (fees, limits, GST/VAT, तारीख़ें) सही और स्रोत-सहित हैं?
- Testability — क्या हर acceptance criterion ऐसा observable नतीजा बताता है जिसका pass या fail साफ़ हो? क्या आप आज ही इससे किसी test case का expected result लिख सकते हैं?
- Feasibility — क्या उपलब्ध तकनीक, डेटा, third-party services, समय और बजट से इसे बनाया जा सकता है? क्या यह किसी ऐसी चीज़ पर निर्भर है जो टीम के नियंत्रण में नहीं?
- Traceability — क्या इसका unique ID है, इसके epic या बिज़नेस लक्ष्य और जुड़े rules से link है, और क्या test cases इसे reference कर पाएँगे?
- Non-functional ज़रूरतें — क्या performance, security, privacy, accessibility, localisation, reliability और audit की ज़रूरतें मापने योग्य मानदंडों के साथ लिखी हैं, या कम से कम यह चिह्नित है कि वे कहीं और तय हैं?
चेतावनी वाले शब्द और उनकी जगह क्या पूछें
कुछ शब्द लगभग हमेशा किसी अनिर्णीत requirement को छिपाते हैं। गहराई से पढ़ने से पहले टेक्स्ट में इन्हें खोजें; हर शब्द या तो एक finding है या इस बात की तेज़ पुष्टि कि उसका अर्थ कहीं और परिभाषित है।
Requirement में शब्द इसकी जगह पूछें
fast, जल्दी, तुरंत कितने सेकंड या मिनट में, किस percentile पर, किस लोड में?
user-friendly, आसान, intuitive कौन-सा काम, किस यूज़र के लिए, कैसे मापा जाएगा?
उचित, reasonable, पर्याप्त ठीक-ठीक क्या? cases गिनाएँ या संख्या दें
etc., आदि, जैसे पूरी सूची क्या है?
should, may, might अनिवार्य या वैकल्पिक?
सभी, हमेशा, कभी नहीं सच में सभी? अपवाद क्या हैं?
support, handle, process, manage observable व्यवहार क्या है?
and/or दोनों, या कोई एक?
secure, robust, scalable किस ख़तरे, failure या लोड के ख़िलाफ़?पूरा उदाहरण: एक user story और उसके review comments
उदाहरण के लिए, एक काल्पनिक ऑनलाइन स्टोर के backlog में यह story है। टीम के account rules डॉक्यूमेंट में एक business rule BR-4 भी है: unverified accounts sign in नहीं कर सकते।
नीचे के comments उसी तरह लिखे हैं जैसे वे review टूल या ticket पर दिखेंगे: हर comment में एक मुद्दा, उसकी जगह, कारण और सुझाव या सवाल। ध्यान दें कि reviewer वैल्यू सुझाता है पर तय नहीं करता — फ़ैसला product owner का है, और जहाँ security शामिल है वहाँ security का।
Story (US-231, email से password reset) में छह acceptance criteria हैं: email डालकर reset link पाना, “उचित समय” के बाद link का expire होना, “strong” नया password, reset के बाद अपने-आप login, “fast और user-friendly” पेज, और unverified accounts के लिए भी reset। नौ review comments का सार:
- RC-01 (Testability · Major, AC2) — “उचित समय” टेस्ट नहीं हो सकता, दो टेस्टर दो अलग संख्याएँ चुनेंगे। सुझाव: link भेजे जाने के 30 मिनट बाद expire हो; PO से पूछा गया कि क्या 30 मिनट सही है।
- RC-02 (Ambiguity · Major, AC3) — “strong” परिभाषित नहीं। क्या मतलब मौजूदा password policy SEC-12 से है? और क्या नया password मौजूदा password जैसा हो सकता है?
- RC-03 (Completeness · Major, AC1) — unregistered email पर व्यवहार तय नहीं। संदेश अलग हुआ तो form बता देगा कि किन emails के account हैं; सुझाव: दोनों हालात में एक ही संदेश, security की पुष्टि के साथ।
- RC-04 (Completeness · Minor, AC1 और AC2) — क्या link एक ही बार चलेगा? ग्राहक दो links माँगे तो क्या पहला valid रहेगा?
- RC-05 (Consistency · Major, AC4 + AC6) — दोनों मिलकर unverified account को sign in करने देते हैं, जो BR-4 से टकराता है; तीनों में से एक को बदलना होगा।
- RC-06 (Correctness · सवाल, AC4) — क्या reset दूसरे devices के मौजूदा sessions बंद करे? Reset के तुरंत बाद automatic sign-in पर security का फ़ैसला चाहिए।
- RC-07 (Non-functional · Major, AC5) — “fast और user-friendly” दो requirements हैं और कोई भी मापने योग्य नहीं; इन्हें response-time लक्ष्य और टीम की accessibility checklist में बाँटें। साथ ही: email किस भाषा में जाएगा?
- RC-08 (Feasibility · सवाल, AC1) — reset requests की कोई सीमा है? उसके बिना form से किसी ग्राहक का inbox भरा जा सकता है और email provider का ख़र्च बढ़ सकता है।
- RC-09 (Traceability · Minor, story) — story अपने epic, SEC-12 और BR-4 से linked नहीं; links जोड़ें ताकि test cases उन rules तक trace हो सकें जिन्हें वे जाँचते हैं।
US-231 Reset password by email
As a registered customer
I want to reset my password from the login page
so that I can get back into my account when I forget it.
AC1 The customer enters their email and receives a reset link.
AC2 The link expires after a reasonable time.
AC3 The new password must be strong.
AC4 After resetting, the customer is logged in automatically.
AC5 The page should be fast and user-friendly.
AC6 Customers with unverified accounts can also reset their password.
--- Review comments ---
RC-01 [Testability · Major] AC2
"A reasonable time" cannot be tested: two testers will pick two different numbers.
Proposal: "The link expires 30 minutes after it is sent." @PO is 30 minutes right?
RC-02 [Ambiguity · Major] AC3
"Strong" is not defined here. Is this the existing password policy SEC-12?
If so, reference it. Can the new password be the same as the current one?
RC-03 [Completeness · Major] AC1
No behaviour for an email that is not registered. If the message differs, the
form reveals which emails have accounts. Proposal: show the same message in both
cases. @Security please confirm.
RC-04 [Completeness · Minor] AC1, AC2
Is the link single-use? If the customer requests two links, is the first one
still valid?
RC-05 [Consistency · Major] AC4 + AC6
Together they let an unverified account sign in, which contradicts BR-4
("unverified accounts cannot sign in"). One of the three has to change.
RC-06 [Correctness · Question] AC4
Should a password reset sign out existing sessions on other devices? Automatic
sign-in right after a reset needs a security decision.
RC-07 [Non-functional · Major] AC5
"Fast and user-friendly" is two requirements and neither is measurable. Split
into a response-time target and the team accessibility checklist. Also: which
language is the email sent in, Hindi or English?
RC-08 [Feasibility · Question] AC1
Is there a limit on reset requests? Without one, the form can be used to flood
a customer inbox and to run up email-provider costs.
RC-09 [Traceability · Minor] Story
Not linked to its epic or to SEC-12 and BR-4. Add the links so test cases can
trace to the rules they check.आज़माएँ: AI Requirement अस्पष्टता डिटेक्टर आज़माएँ: AI Acceptance Criteria रिव्यूअर
Rework के बाद की story
इस काल्पनिक उदाहरण में product owner और security lead ने सवालों के जवाब दिए, और author ने criteria दोबारा लिखे। संख्याएँ टीम के फ़ैसले हैं, सिफ़ारिशें नहीं। अब हर criterion का observable नतीजा है, और story उन rules से traceable है जिन पर वह निर्भर है।
- AC1 — कोई भी email address भेजने पर एक ही पुष्टि संदेश, चाहे वह registered हो या नहीं।
- AC2 — registered और verified address पर single-use reset link, जो भेजे जाने के 30 मिनट बाद expire होता है; नया request पहले के सभी links रद्द करता है।
- AC3 — नया password SEC-12 पूरा करे और मौजूदा password से अलग हो। AC4 — सफल reset के बाद सभी मौजूदा sessions बंद होते हैं और ग्राहक success संदेश के साथ login पेज पर जाता है।
- AC5 — unverified account को reset link की जगह verification email जाता है (BR-4)। AC6 — प्रति account प्रति घंटे अधिकतम 5 reset requests; उसके बाद वही पुष्टि संदेश, पर कुछ भेजा नहीं जाता।
- NFR1 — reset email account की भाषा (हिंदी या अंग्रेज़ी) में। NFR2 — form टीम की accessibility checklist पास करता है। NFR3 — response time के लिए site-wide लक्ष्य PERF-2 लागू है (PERF-2 में तय reference load पर form submissions के लिए p95 2 s से कम); product owner ने इस story का अलग लक्ष्य तय नहीं किया।
US-231 Reset password by email (v2, after review)
Links: EPIC-AUTH-3 · SEC-12 password policy · BR-4 verified accounts · PERF-2 response time
AC1 Given the "Forgot password" form, when any email address is submitted,
then the same confirmation message is shown whether or not it is registered.
AC2 Given a registered, verified address, a reset link is sent. The link is
single-use and expires 30 minutes after it is sent. A new request
invalidates all earlier links.
AC3 The new password must satisfy SEC-12 and differ from the current password.
AC4 After a successful reset, all existing sessions are signed out and the
customer is taken to the login page with a success message.
AC5 For an unverified account, the verification email is sent instead of a
reset link (BR-4).
AC6 At most 5 reset requests per account per hour. Further requests show the
same confirmation message and send nothing.
NFR1 The reset email is sent in the account language (Hindi or English).
NFR2 The form passes the team accessibility checklist: labelled fields,
announced error messages, full keyboard operation.
NFR3 Response time: the site-wide target PERF-2 applies (p95 under 2 s for form
submissions at the PERF-2 reference load); the product owner set no
story-specific target.आज़माएँ: AI Acceptance Criteria जनरेटर आज़माएँ: एक्सेप्टेंस क्राइटेरिया जनरेटर
Non-functional requirements का review
Non-functional ज़रूरतें story का सबसे ज़्यादा छूटने वाला हिस्सा हैं, क्योंकि story template सिर्फ़ व्यवहार पूछता है। ISO/IEC 25010 प्रोडक्ट क्वालिटी विशेषताएँ बताता है — जिनमें performance efficiency, security, reliability, compatibility और interaction capability (usability) शामिल हैं — और यह एक उपयोगी याद-सूची है: हर विशेषता के लिए पूछें कि क्या story उसे प्रभावित करती है, और अगर हाँ, तो criterion कहाँ लिखा है।
- Performance — एक संख्या, एक percentile और एक लोड: "200 concurrent users पर p95 response 2 s से कम" testable है; "तेज़" नहीं।
- Security और privacy — कौन क्या देख और बदल सकता है, कौन-सा डेटा personal है, कितने समय रखा जाता है, क्या log होता है। OWASP ASVS सत्यापन-योग्य security requirements का एक कैटलॉग है जिससे मदद ली जा सकती है।
- Accessibility — keyboard से चलाना, labels, error announcements और contrast, आम तौर पर टीम की WCAG-आधारित checklist के reference से।
- Localisation — भाषाएँ, right-to-left layout, तारीख़, संख्या और currency फ़ॉर्मैट, और messages व emails किस भाषा में जाते हैं।
- Reliability और operations — किसी dependency के बंद होने पर व्यवहार, retries, time limits, और क्या monitor होता है और किस पर alert आता है।
Mutqan के AI requirement टूल कैसे मदद करते हैं — और कहाँ रुकते हैं
Individual review चरण में AI टूल एक अतिरिक्त, बहुत तेज़ reviewer की तरह उपयोगी हैं। कोई story या requirements का सेट पेस्ट करें और वे सेकंडों में संभावित findings लौटाते हैं; फिर हर सुझाव को ड्राफ़्ट comment मानें जिसे आप स्वीकार करें, दोबारा लिखें या हटा दें। वे ड्राफ़्ट बनाते हैं; फ़ैसला इंसान करता है।
उनकी सीमाएँ वही हैं जो बिना संदर्भ वाले किसी भी reviewer की होती हैं। जब तक आप न दें, वे आपके दूसरे डॉक्यूमेंट, पिछले हफ़्ते की मीटिंग के फ़ैसले, आपके नियम या आपके यूज़र्स नहीं जानते; वे ऐसे gaps उठा सकते हैं जिनका जवाब कहीं और है, या किसी ऐसे rule से विरोधाभास चूक सकते हैं जिसे उन्होंने कभी देखा ही नहीं। बाहरी service से क्या साझा किया जा सकता है, इस पर अपने संगठन की नीति मानें, और उदाहरणों में anonymised या काल्पनिक डेटा इस्तेमाल करें।
- AI Requirement Ambiguity Detector — अस्पष्ट, धुँधले या विरोधाभासी कथन पकड़ता है और स्पष्टता के सवाल सुझाता है; RC-01 और RC-02 जैसी findings के लिए तेज़ पहला दौर।
- AI Requirement Gap Analyzer — छूटी requirements खोजता है, जैसे error handling, permissions, edge conditions और non-functional ज़रूरतें; RC-03, RC-04 और RC-08 जैसी findings।
- AI Acceptance Criteria Reviewer — acceptance criteria को testability, पूर्णता और अस्पष्टता के लिए review करता है और दोबारा लिखे सुझाव देता है जिन्हें आप ढाल सकते हैं।
- AI Acceptance Criteria Generator — user story से Given/When/Then criteria का ड्राफ़्ट बनाता है, तब उपयोगी जब story बिना criteria के आए।
- Requirements → Test Cases और AI Test Coverage Analyzer — पहला numbered requirements को requirement-to-test matrix के साथ traceable test cases में बदलता है; दूसरा requirements की तुलना मौजूदा test cases से करके untested हिस्से खोजता है।
आज़माएँ: AI Requirement अस्पष्टता डिटेक्टर आज़माएँ: AI Requirement गैप एनालाइज़र आज़माएँ: AI Acceptance Criteria रिव्यूअर
Review से test design तक
Review हुई story बेहतर test basis है: हर acceptance criterion एक या अधिक test conditions बनता है, review में जोड़े गए error paths negative test cases बनते हैं, और review में तय संख्याएँ (30 मिनट, प्रति घंटे 5 requests) boundary values बनती हैं। हर टेस्ट से उस criterion तक का link रखें जिसे वह कवर करता है, ताकि बदला criterion ठीक-ठीक बताए कि कौन-से टेस्ट अपडेट करने हैं। Criteria को अच्छी बनावट वाले test cases में बदलना test cases लिखने वाली गाइड में है।
आज़माएँ: Requirements → टेस्ट केस आज़माएँ: AI टेस्ट कवरेज एनालाइज़र आज़माएँ: User Story → टेस्ट सिनेरियो
अक्सर पूछे जाने वाले सवाल
Requirements का review कब करना चाहिए?
उन पर डेवलपमेंट शुरू होने से पहले — आम तौर पर backlog refinement के दौरान, story को sprint में लेने से पहले — और जब भी वे बदलें। शुरुआती ड्राफ़्ट का review पूरी specification के review से सस्ता है, क्योंकि शब्दों पर कम कुछ बना होता है।
Requirements review में किसे शामिल होना चाहिए?
कम से कम author (product owner या business analyst), एक डेवलपर और एक टेस्टर। जब story उनके क्षेत्र को छुए तो security, UX, operations या domain expert जोड़ें। अलग दृष्टिकोण अलग defects पकड़ते हैं।
Requirement को testable कैसे बनाएँ?
हर धुँधले शब्द को observable नतीजे से बदलें, और जहाँ ज़रूरी हो संख्या से: कौन क्या करता है, किस स्थिति में, और सिस्टम दिखाई देने वाला क्या करता है। अगर आप वाक्य से किसी test case का expected result लिख सकते हैं, तो वह testable है।
अगर product owner अभी review के सवाल का जवाब न दे पाए तो?
उसे owner और तारीख़ के साथ खुले सवाल के रूप में दर्ज करें, और जब तक वह किसी criterion को रोक रहा है story को ready न मानें। अगर टीम को आगे बढ़ना ही है, तो assumption को story में साफ़ लिखें ताकि उसे टेस्ट किया और बाद में देखा जा सके।
क्या AI मेरे लिए requirements review कर सकता है?
AI टूल अस्पष्टताओं, gaps और कमज़ोर acceptance criteria की तेज़ पहली सूची बना सकते हैं। पर उनके पास आपके domain का संदर्भ, दूसरे डॉक्यूमेंट और फ़ैसले नहीं होते, इसलिए हर सुझाव पर इंसान को फ़ैसला करना होगा। इन्हें कई reviewers में से एक की तरह इस्तेमाल करें, review की जगह नहीं।
क्या acceptance criteria लिखना और requirements review एक ही है?
नहीं। Acceptance criteria लिखना requirement को जाँचे जा सकने वाले कथनों में बदलता है; review requirement और उसके criteria में defects खोजता है। Review से अक्सर बेहतर criteria निकलते हैं, और नए criteria का भी review होना चाहिए।
संदर्भ
- ISTQB Certified Tester Foundation Level (CTFL) v4.0सॉफ़्टवेयर टेस्टिंग का फ़ाउंडेशन पाठ्यक्रम: टेस्ट स्तर और प्रकार, टेस्ट डिज़ाइन तकनीकें, टेस्ट प्रबंधन और टूल।
- ISO/IEC 20246:2017 — Software and systems engineering — Work product reviewsवर्क प्रोडक्ट की समीक्षा का सामान्य फ़्रेमवर्क — review प्रक्रिया, भूमिकाएँ और review तकनीकें।
- ISO/IEC 25010:2023 — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality modelउत्पाद गुणवत्ता मॉडल: कार्यात्मक उपयुक्तता, प्रदर्शन दक्षता, संगतता, इंटरैक्शन क्षमता, विश्वसनीयता, सुरक्षा, रखरखाव-योग्यता और लचीलापन।
- ISTQB Glossaryटेस्टिंग शब्दों की मानक परिभाषाएँ — टेस्ट केस, रिग्रेशन टेस्टिंग, सेवेरिटी, प्रायोरिटी, बाउंड्री वैल्यू एनालिसिस आदि।
- Agile Testing: A Practical Guide for Testers and Agile Teams (Lisa Crispin, Janet Gregory)एजाइल टेस्टिंग क्वाड्रेंट और टेस्टर डिलीवरी टीम के भीतर कैसे काम करते हैं — "सही परत पर टेस्टिंग" का आधार।
- OWASP Application Security Verification Standard (ASVS)वेब एप्लिकेशन के लिए सत्यापन-योग्य सुरक्षा आवश्यकताओं की चेकलिस्ट, तीन एश्योरेंस स्तरों में।
अभ्यास
अपॉइंटमेंट बुकिंग की user story का review करें
एक काल्पनिक नगर सेवा पोर्टल अपने सर्विस सेंटरों के लिए online appointments जोड़ रहा है। User story US-77 कल backlog refinement में जाएगी, और product owner और एक डेवलपर के साथ "three amigos" review में टेस्टर आप हैं। नीचे story है, approved appointment नीति POL-APPT है जिसका story को पालन करना है, और एक नोट है कि slots का डेटा कहाँ से आता है।
गाइड का individual review चरण करें: किसी भी चर्चा से पहले, आठ मानदंडों वाली checklist के साथ अकेले पढ़ें। गाइड के पूरे उदाहरण (worked example) के फ़ॉर्मैट में कम से कम छह review comments लिखें — ID, मानदंड और severity (Major, Minor या सवाल), जगह, क्या गलत है और क्यों मायने रखता है, सुझाव या सवाल, और किसे फ़ैसला करना है — जो आठ में से कम से कम पाँच मानदंड कवर करें। फिर जिन acceptance criteria पर Major finding आई, उनमें से कम से कम तीन दोबारा लिखें, review में छूटे पाए गए criteria जोड़ें, खुले सवाल owner के साथ लिखें, और review के बाद की संख्याओं से बनने वाली boundary values बताएँ। जहाँ ज़रूरत हो वैल्यू सुझाएँ, पर उन्हें पुष्टि के लिए चिह्नित करें: reviewer सुझाता है, product owner तय करता है।
काग़ज़ और पेन काफ़ी हैं; लगभग 30 मिनट रखें। अगर बाद में दूसरा reviewer चाहिए, तो story और नीति को गाइड की टूल सूची के AI Requirement अस्पष्टता डिटेक्टर में पेस्ट करें (sign-in ज़रूरी है) और हर सुझाव पर ख़ुद फ़ैसला करें — सिर्फ़ अपने दौर के बाद।
काल्पनिक नगर सेवा पोर्टल। निवासी इसे अपने account में sign in करके इस्तेमाल करते हैं।
Available slots का डेटा सर्विस सेंटरों के queue system से आता है, जिसे एक दूसरा
vendor चलाता है; पोर्टल इसे vendor के API से पढ़ता है।
US-77 सर्विस सेंटर पर appointment बुक करना
एक निवासी के रूप में
मैं सर्विस सेंटर पर online appointment बुक करना चाहता हूँ
ताकि मुझे कतार में इंतज़ार न करना पड़े।
AC1 निवासी एक सेवा, एक सेंटर, एक तारीख़ और एक time slot चुनता है और उसे
पुष्टि मिलती है।
AC2 Appointments 60 दिन पहले तक बुक किए जा सकते हैं।
AC3 निवासी appointment को किसी भी समय cancel या reschedule कर सकता है।
AC4 निवासी को appointment से पहले reminder मिलना चाहिए।
AC5 Available slots real time में अपडेट होते हैं।
AC6 निवासी परिवार के सदस्यों आदि के लिए भी बुक कर सकता है।
AC7 Booking पेज का fast होना और बहुत सारे users को handle करना ज़रूरी है।
POL-APPT Appointment नीति (approved; owner: सेंटरों की operations टीम)
R1 Appointments 1 से 30 दिन पहले बुक होते हैं। उसी दिन की booking उपलब्ध नहीं है।
R2 हर व्यक्ति के पास एक सेवा के लिए अधिकतम एक active appointment होता है।
R3 Appointment अपनी शुरुआत से 24 घंटे पहले तक cancel या move किया जा सकता है।
उसके बाद slot बुक रहता है, और न आने पर उसे no-show गिना जाता है।
R4 90 दिनों में तीन no-shows होने पर online booking 30 दिनों के लिए रुक जाती है।- Story में गाइड की तालिका वाले चेतावनी वाले शब्द खोजें और हर एक को चिह्नित करें।
- Story को POL-APPT के R1 से R4 और slot डेटा वाले नोट के साथ मिलाकर पढ़ें। हर विरोधाभास, हर वह rule जिसे story अनदेखा करती है, और हर वह चीज़ जिसके दो नाम हैं, चिह्नित करें।
- Checklist के आठों मानदंडों से एक-एक करके गुज़रें। हर एक के लिए finding लिखें, या छोटा नोट कि आपने जाँचा और कुछ नहीं मिला।
- हर finding को एक review comment के रूप में लिखें: ID, मानदंड और severity, जगह, क्या गलत है और क्यों, सुझाव या सवाल, और कौन तय करेगा।
- जिन acceptance criteria पर Major finding आई, उनमें से कम से कम तीन ऐसे दोबारा लिखें कि हर एक का observable pass या fail नतीजा हो, वे criteria जोड़ें जो नीति माँगती है पर story में नहीं हैं, और खुले सवाल लिखें — हर एक के साथ owner और तारीख़।
- Review के बाद story की संख्याओं से बनने वाली boundary values लिखें — कितने दिन पहले (R1), 24 घंटे की सीमा (R3) और no-show नियम (R4)। हर सीमा के लिए आख़िरी allowed वैल्यू और पहली not-allowed वैल्यू लिखें, हर एक के expected result के साथ। R1 के लिए अपना set बाउंड्री वैल्यू एनालिसिस टूल से जाँच सकते हैं।
मॉडल उत्तर दिखाएँ
चेतावनी वाले शब्द (चरण 1): AC3 का "किसी भी समय" असल में छिपा हुआ "हमेशा" है — अपवाद क्या हैं? R3 एक अपवाद बताता है। AC4 का "चाहिए" (should): अनिवार्य या वैकल्पिक? AC4 का "appointment से पहले" धुँधली मात्रा है: कितना पहले? AC5 का "real time": कितने सेकंड में? AC6 का "आदि": पूरी सूची क्या है? AC7 में "fast" (कितना तेज़, किस percentile पर, किस लोड में?), "handle" (observable व्यवहार क्या है?) और "बहुत सारे users" (कितने?)। इनमें से कोई भी कहीं और परिभाषित नहीं, इसलिए हर एक नीचे की किसी finding तक ले जाता है।
नीचे review comments हैं, हर paragraph में एक। आपके IDs, शब्द और severity अलग हो सकते हैं; इनमें से छह या ज़्यादा, जो कम से कम पाँच मानदंड कवर करें, पूरा जवाब है। RC-01 (Consistency · Major, AC2) — "60 दिन पहले तक" POL-APPT के R1 से टकराता है (1 से 30 दिन पहले, उसी दिन की booking नहीं)। नीति approved है, इसलिए सुझाव है कि AC2 को R1 के मुताबिक़ किया जाए। @PO और नीति के owner (operations): कौन-सा मौजूदा है, और ये calendar days हैं या working days?
RC-02 (Consistency · Major, AC3) — "किसी भी समय" R3 से टकराता है (शुरुआत से सिर्फ़ 24 घंटे पहले तक)। सुझाव: Cancel और Reschedule शुरुआत से 24 घंटे पहले तक उपलब्ध रहें, फिर disable हों और एक संदेश नियम समझाए। @PO
RC-03 (Correctness · सवाल, AC2 + AC3, यानी R1 + R3) — जो निवासी रात 22:00 बजे अगले दिन सुबह 08:00 के slot के लिए बुक करता है, वह booking के पल ही 24 घंटे की सीमा के अंदर है। वह कभी cancel या reschedule नहीं कर सकता, और न आने पर वह no-show R4 की रोक में गिना जाएगा। क्या बिज़नेस यही चाहता है? @PO के लिए विकल्प, उदाहरण के लिए: "1 दिन पहले" को कम से कम 24 घंटे पहले मानें, या booking के बाद थोड़े समय तक cancel करने दें।
RC-04 (Testability · Major, AC4) — "चाहिए" और "appointment से पहले" से pass या fail तय नहीं होता: क्या reminder अनिवार्य है, कितना पहले, किस channel से, और cancel या reschedule के बाद क्या होता है? सुझाव: "शुरुआत से 48 घंटे पहले SMS reminder भेजा जाता है; cancel हुए appointment के लिए नहीं, और reschedule हुए appointment के लिए उसके नए समय के हिसाब से।" 24 नहीं, 48 घंटे इसलिए कि शुरुआत से 24 घंटे पहले भेजा गया reminder ठीक उसी समय पहुँचता है जब R3 के तहत cancel बंद होता है — उस निवासी के लिए बहुत देर, जिसे अभी पता चला कि वह नहीं आ पाएगा। @PO क्या SMS से 48 घंटे पहले सही है?
RC-05 (Feasibility · सवाल, AC5) — slots vendor के queue system से आते हैं, जो टीम के नियंत्रण में नहीं, और "real time" मापने योग्य नहीं। क्या vendor का API तय सेकंडों के भीतर बदलाव बता सकता है, और क्या confirm के पल slot reserve कर सकता है? और जब यह API जवाब न दे, तो निवासी को क्या दिखता है? Story को ready मानने से पहले @Dev lead vendor से पुष्टि करे।
RC-06 (Completeness · Major, AC1, AC3 और AC5) — story नहीं बताती कि क्या होता है जब चुना गया slot चुनने और confirm करने के बीच कोई और ले ले, जब Confirm दो बार दबाया जाए, या क्या reschedule पुराना slot नया confirm होने से पहले छोड़ता है या बाद में। सुझाव: slot सिर्फ़ confirm पर reserve हो; अगर वह जा चुका है, तो निवासी को "यह slot अब उपलब्ध नहीं है" और अपडेट हुई सूची दिखे; एक confirm से ठीक एक appointment बने; और नया slot confirm होने तक पुराना slot बुक रहे। @PO
RC-07 (Ambiguity · Major, AC6) — "परिवार के सदस्यों आदि" से पता नहीं चलता कि कौन-से रिश्ते गिने जाते हैं, रिश्ता कैसे जाँचा जाता है, R2 में किसका appointment गिना जाता है, confirmation और reminder किसे मिलते हैं, और cancel कौन कर सकता है। @PO रिश्तों और नियमों की सूची दें।
RC-08 (Non-functional · Major, AC6) — किसी और के लिए booking का मतलब उस व्यक्ति के personal डेटा को process करना है। उसके appointments और details कौन देख सकता है, और क्या उसकी सहमति चाहिए? Criterion लिखे जाने से पहले @Privacy फ़ैसला करे।
RC-09 (Completeness · Major, story) — R2 और R4 story में नहीं हैं। जिस निवासी के पास उसी सेवा का active appointment पहले से है, या जो तीन no-shows के बाद रुका हुआ है, उसे क्या दिखता है? सुझाव: booking मना हो, और संदेश मौजूदा appointment (R2) या रोक ख़त्म होने की तारीख़ (R4) बताए। यह भी छूटा है: पूरी booking window में कोई slot ख़ाली न हो तो क्या दिखता है, और क्या वे दिन दिखाए जाते हैं जब सेंटर बंद है। @PO
RC-10 (Non-functional · Major, AC7) — "fast" और "बहुत सारे users को handle करना" दो requirements हैं और कोई भी मापने योग्य नहीं। सुझाव: संख्या, percentile और लोड वाला response-time लक्ष्य, जैसे "अपेक्षित peak पर p95 2 s से कम"। @PO और @Ops: अपेक्षित peak कितना है और कब आता है?
RC-11 (Non-functional · Minor, story) — एक सार्वजनिक सेवा, पर localisation या accessibility का कोई criterion नहीं, और न यह लिखा है कि वे कहाँ तय हैं। Confirmation और reminder किस भाषा में जाते हैं (account की भाषा?), तारीख़ और समय कैसे दिखते हैं, और क्या slot picker टीम की accessibility checklist पास करता है (keyboard से चलाना, labelled fields, announced errors)? @PO
RC-12 (Traceability · Minor, story) — story अपने epic से और POL-APPT के R1 से R4 तक linked नहीं। Links जोड़ें ताकि test cases उन rules तक trace हों जिन्हें वे जाँचते हैं, और नीति बदलने पर पता चले कि कौन-सी story और कौन-से टेस्ट अपडेट करने हैं।
RC-13 (Consistency · Minor, AC3 और R3) — story "reschedule" कहती है जहाँ नीति "move" कहती है। एक ही action का story, screens और नीति में एक ही नाम होना चाहिए, वरना test cases और defect reports उसे दो तरह से बताएँगे। सुझाव: "reschedule" इस्तेमाल करें और story में लिखें कि यही R3 का "move" है। @PO, नीति के owner के साथ।
दोबारा लिखे acceptance criteria (चरण 5; इनमें से तीन या ज़्यादा पूरा जवाब है, और "सुझाव" चिह्नित वैल्यू product owner के फ़ैसले का इंतज़ार करती हैं): AC1 — sign in किए निवासी के लिए, जब वह एक सेवा, एक सेंटर, एक तारीख़ और एक ख़ाली slot चुनकर confirm करता है, तो ठीक एक appointment बनता है, और reference number, सेंटर, तारीख़ और समय वाली पुष्टि दिखती है और SMS से भेजी जाती है (channel सुझाव है)। AC2 — सिर्फ़ आज के बाद 1 से 30 calendar days की तारीख़ें दिखती हैं (R1; calendar days सुझाव है); आज की तारीख़ और 30 दिन से आगे की तारीख़ें नहीं दिखतीं। AC3 — Cancel और Reschedule (R3 इसे "move" कहता है) शुरुआत से 24 घंटे पहले तक उपलब्ध हैं; उसके बाद दोनों disable होते हैं और पेज नियम समझाता है। Reschedule वही appointment और उसका reference number रखता है, और पुराना slot तभी छोड़ता है जब नया confirm हो जाए। AC4 — शुरुआत से 48 घंटे पहले, जब R3 के तहत cancel अभी allowed है, account की भाषा में SMS reminder जाता है, और reschedule के बाद नए समय के हिसाब से; 48 घंटे से कम पहले बुक हुए appointment को अलग reminder नहीं जाता, और cancel हुए appointment को कोई reminder नहीं (सुझाव)। AC5 — slot confirm पर reserve होता है; अगर इस बीच कोई और ले गया, तो "यह slot अब उपलब्ध नहीं है" संदेश और अपडेट हुई सूची दिखती है, और कोई appointment नहीं बनता। Queue system का बदलाव सूची में कितनी देर में दिखे, यह वह संख्या है जिसकी vendor पुष्टि करे (RC-05)।
Review से जुड़ने या हटने वाले criteria: AC8 — जिस निवासी के पास उसी सेवा का active appointment है, वह दूसरा बुक नहीं कर सकता; संदेश मौजूदा appointment बताता है और उसे reschedule करने का विकल्प देता है (R2)। AC9 — R4 के तहत रुका निवासी बुक नहीं कर सकता और रोक ख़त्म होने की तारीख़ देखता है। AC10 — queue system जवाब न दे तो पेज बताता है कि booking अभी अस्थायी रूप से उपलब्ध नहीं है, और कोई appointment नहीं बनता (शब्द सुझाव हैं, RC-05 के जवाब के बाद)। AC6 इस story से बाहर जाता है: RC-07 और RC-08 के जवाब मिलने पर परिवार के लिए booking अलग story बनती है, क्योंकि "आदि" टेस्ट नहीं हो सकता। AC7 NFR1 बनता है — product owner और operations की तय की गई संख्याओं वाला response-time लक्ष्य — और NFR2 भाषा (confirmation, reminder, तारीख़ और समय के फ़ॉर्मैट) और टीम की accessibility checklist कवर करता है। RC-12 वाले links भी जोड़ें।
खुले सवाल, हर एक का owner और तारीख़। इस जवाब में हर सवाल की तारीख़ अगले refinement session से पहले की है, सिवाय Q4 के, जिसकी तारीख़ Dev lead vendor के साथ तय करता है, और Q3 के, जो AC6 के साथ परिवार की booking वाली नई story में जाता है। Q1 @PO और operations: 30 या 60 दिन, calendar days या working days (RC-01)। Q2 @PO: 24 घंटे से कम पहले की bookings (RC-03), और क्या शुरुआत से ठीक 24 घंटे पहले cancel करना अब भी allowed है (R3)। Q3 @PO और @Privacy: परिवार के लिए booking (RC-07, RC-08)। Q4 @Dev lead, vendor के साथ: slot डेटा कितना ताज़ा है, confirm पर reservation, और vendor API बंद होने पर व्यवहार (RC-05)। Q5 @Ops: अपेक्षित peak लोड (RC-10)। Q6 @PO: reminder का channel और समय (RC-04)। Q7 @PO और operations: क्या 90 दिन की window और 30 दिन की रोक में पहला और आख़िरी दिन शामिल हैं (R4)? जब तक किसी सवाल का जवाब नहीं आता, उस पर निर्भर criteria "सुझाव" चिह्नित रहते हैं और story ready नहीं मानी जाती; अगर टीम को आगे बढ़ना ही है, तो assumption story में साफ़ लिखी जाती है।
Boundary values (चरण 6): R1 के तहत कितने दिन पहले: निचली सीमा पर 0 (आज, नहीं दिखता) और 1 (दिखता है), ऊपरी सीमा पर 30 (दिखता है) और 31 (नहीं दिखता)। Test design module का बाउंड्री वैल्यू एनालिसिस वाला पाठ इसे एक पूरी technique बनाता है। R3 के तहत शुरुआत से पहले के घंटे, मिनट की सटीकता पर: 24 घंटे 1 मिनट (cancel allowed), 23 घंटे 59 मिनट (मना), और ठीक 24 घंटे 0 मिनट, जिसका expected result Q2 का जवाब है; तीनों वैल्यू टेस्ट करने से Q2 का जवाब आने तक दोनों अर्थ कवर हो जाते हैं। R2 के तहत उसी सेवा के active appointments: 0 (बुक कर सकता है) और 1 (मना); साथ ही किसी दूसरी सेवा का एक active appointment (बुक कर सकता है) भी टेस्ट करें — यह boundary नहीं है, पर R2 की सबसे संभावित गलत समझ यही है। R4 के तहत no-shows: 90 दिनों में 2 (रोक नहीं) और 3 (रोक)। 90 दिन की window के किनारे (सबसे पुराना no-show ठीक 90 दिन पहले) और रोक के किनारे (उसका आख़िरी दिन और उसके बाद का दिन) भी boundaries हैं; उनके expected results Q7 के जवाब का इंतज़ार करते हैं।
अपना काम जाँचें: ज़रूरी यह है कि आपने POL-APPT से दोनों विरोधाभास पकड़े (AC2 बनाम R1 और AC3 बनाम R3) और कम से कम एक ऐसा rule जिसे story अनदेखा करती है (R2 या R4); हर comment में एक finding है, उसकी जगह, कारण, सुझाव या सवाल, और फ़ैसला करने वाला; आपने संख्याएँ सुझाईं पर तय नहीं कीं; और आप आज ही हर दोबारा लिखे criterion से किसी test case का expected result लिख सकते हैं। अगर RC-03 छूट गया, तो R1 और R3 को फिर से साथ पढ़ें: कुछ defects वहीं दिखते हैं जहाँ सही दिखने वाले दो rules मिलते हैं। अगर आपने AI टूल भी इस्तेमाल किया, तो देखें कि क्या उसने नीति से विरोधाभास पकड़े: जब तक आप story के साथ POL-APPT पेस्ट न करें, वह उसे देख ही नहीं सकता।
इस topic में आपकी प्रगति
प्रगति ट्रैक करने के लिए साइन इन करें
Topics पूर्ण चिह्नित करें, जहाँ छोड़ा था वहीं से जारी रखें और specialisation परीक्षाएँ खोलें।
QA रोडमैप का हिस्सा
इस गाइड में बताए गए टूल्स
requirements में अस्पष्ट, धुँधले या परस्पर विरोधी कथन पकड़ें और Mutqan AI से स्पष्टीकरण के सवाल पाएँ।
Mutqan AI से छूटी हुई requirements खोजें — error handling, permissions, edge conditions, non-functional ज़रूरतें।
acceptance criteria की testability, पूर्णता और अस्पष्टता की समीक्षा करें और Mutqan AI से बेहतर लिखे गए सुझाव पाएँ।
Mutqan AI से किसी user story के लिए स्पष्ट Given/When/Then acceptance criteria जनरेट करें।
क्रमांकित आवश्यकताओं की सूची को requirement-to-test मैट्रिक्स के साथ ट्रेस करने योग्य टेस्ट केस में बदलें।
Mutqan AI से requirements या किसी user story की तुलना मौजूदा टेस्ट केस से करके अनटेस्टेड हिस्से खोजें।
किसी user story से Given/When/Then acceptance criteria और definition-of-done चेकलिस्ट जनरेट करें।
OpenAPI contract में डिज़ाइन जोखिम जाँचें: असंगत naming, छूटे error responses, कमज़ोर auth, breaking-change ख़तरे, pagination और validation की कमियाँ।
किसी user story से end-to-end टेस्ट सिनेरियो निकालें, वैकल्पिक और अपवाद flow सहित।