یک Prompt کاربردی برای تبدیل مشخصات Feature به Test Plan واقعی

Why this prompt matters
Teams often ship features with happy-path coverage but miss edge cases around validation, state, permissions, retries, and billing or data integrity. A structured prompt like this shortens QA planning time and catches expensive bugs before they reach customers.
What we use it for
Use this when a team has finished a feature spec or a pull request is nearly ready, and you need a strong first-pass test plan before QA, code review, or release sign-off.
Prompt
Role: Act as a senior software test engineer and QA architect. Context: I will give you a feature description, user story, acceptance criteria, technical notes, and optionally code snippets or API contracts. Your job is to turn that into a practical test plan that a development team can use immediately. Task: Generate a comprehensive test package for this feature. Include functional test scenarios, edge cases, negative tests, validation rules, API-level checks if relevant, state transition checks, permission and authentication checks if relevant, regression risks, and a prioritized list of tests to automate first. Constraints: - Do not repeat the input back to me. - Be specific and concrete. - Flag missing requirements or ambiguities before listing tests. - Separate tests by level: unit, integration, end-to-end, and exploratory. - For each important test, include: purpose, preconditions, steps, expected result, and priority. - Include boundary conditions, invalid inputs, empty states, loading states, partial failure cases, concurrency/race-condition risks, and rollback or retry behavior where relevant. - If the feature touches data, include data integrity checks. - If the feature touches APIs, include status code and error response coverage. - If the feature touches UI, include validation, accessibility, and cross-device considerations. - Keep the output actionable for a real engineering team. Output Format: 1. Feature Summary (2-3 bullets) 2. Missing Requirements / Ambiguities 3. Key Risks 4. Test Matrix Table with columns: Test Level | Scenario | What to Verify | Priority 5. Detailed High-Priority Test Cases 6. Automation Recommendations 7. Regression Checklist Feature to analyze: [PASTE FEATURE DESCRIPTION HERE] Acceptance criteria: [PASTE ACCEPTANCE CRITERIA HERE] Technical notes / code / API contract: [PASTE TECHNICAL DETAILS HERE]
Result
Feature Summary - Users can schedule a subscription pause from the account billing page for 1 to 12 weeks. - The system must stop future charges during the pause window without canceling the subscription. - Users should see the pause dates immediately in the UI and receive a confirmation email.
Missing Requirements / Ambiguities - It is unclear whether a user can edit an existing pause window after saving it. - The spec does not say what happens if the next billing date falls on the same day the pause starts. - There is no explicit rule for overlapping pause requests made from mobile and web at nearly the same time.
Key Risks - Billing logic may continue charging active invoices already queued before the pause job runs. - UI state may show the pause as saved before the billing service confirms it. - Time-zone conversion could shift the effective pause start date for users outside UTC.
Test Matrix Unit | Validate pause duration boundaries | 1 week and 12 weeks accepted, 0 and 13 rejected | High Unit | Date normalization | Stored pause dates remain correct across time zones | High Integration | Billing service sync | Scheduled charges are skipped inside pause window | High Integration | Email confirmation | Confirmation email is triggered once after successful save | Medium End-to-end | Create pause from billing page | User can save pause dates and see updated status immediately | High End-to-end | Invalid overlapping request | Second overlapping pause request returns clear validation error | High Exploratory | Refresh and resume flows | UI remains consistent after page refresh, logout, and relogin | Medium
Detailed High-Priority Test Case Test: Prevent invalid pause durations Purpose: Ensure business rules reject unsupported pause lengths. Preconditions: User has an active monthly subscription and access to billing settings. Steps: Open the pause modal, select a 0-week duration, submit, then try 13 weeks, then try 1 week and 12 weeks. Expected result: 0 and 13 weeks are blocked with a validation message; 1 and 12 weeks save successfully. Priority: High
Automation Recommendations - Automate billing skip logic first because it has direct revenue impact. - Add API contract tests for pause creation, overlap rejection, and idempotent retries. - Add one cross-time-zone end-to-end test covering UTC and a non-UTC locale.
Regression Checklist - Subscription resume date is correct after the pause ends. - Existing invoices are not duplicated or silently canceled. - Account status, email notifications, and billing history remain consistent across web and mobile surfaces.
Generated Image

تیمهای خوب معمولاً happy path را از قلم نمیاندازند. مشکل اصلی بخشهای سختتر مثل validation، retry، تغییر state، permission و failureهای ناقص است. باگها معمولاً از همین نقاط وارد production میشوند، مخصوصاً وقتی یک Feature با سرعت از مرحله specification به اجرا میرسد.
این Prompt دقیقاً برای همین فاصله طراحی شده است. بهجای اینکه از مدل AI فقط بخواهید "چند test بنویس", نقش را شبیه یک QA engineer ارشد تعریف میکند. این ساختار مدل را مجبور میکند اول کمبودها و ابهامهای requirement را مشخص کند و بعد coverage را بین unit، integration، end-to-end و exploratory جدا کند تا خروجی برای developer و tester واقعاً کاربردی باشد.
مهمترین انتخاب در طراحی این Prompt، مشخصبودن جزئیات است. هر Test Case مهم باید purpose، preconditions، steps، expected result و priority داشته باشد. همین باعث میشود خروجی به کاری نزدیک شود که یک تیم واقعی بتواند آن را automate، review و track کند. همچنین جلوی مشکل رایج خروجیهای کلی و ظاهراً خوب را میگیرد که در عمل روی codebase واقعی دوام نمیآورند.
این Prompt بهخصوص برای Featureهایی مفید است که با پول، permission کاربر، API یا UI state سروکار دارند. در چنین مواردی یک boundary check جاافتاده یا bug در retry بیصدا میتواند خیلی سریع به مشکل پشتیبانی تبدیل شود. وقتی Prompt بهصورت صریح invalid input، empty state، ریسک concurrency و رفتار rollback را میخواهد، مدل بهجای خلاصهسازی سطحی به سمت تحلیل failure حرکت میکند.
نتیجه، جایگزین قضاوت QA نیست. اما یک راه سریع برای ساختن پیشنویس دقیق، آشکارکردن ابهامهای specification و تصمیمگیری درباره testهایی است که باید قبل از release automate شوند.