Sindh IT Portal — Facilitation DeskSpecification documents
Englishاردوسنڌي
← All documents

ٽيسٽ اسٽريٽيگي

سنڌ آءِ ٽي پورٽل — سهولت ڊيسڪ (SITP) لاءِ ماسٽر ٽيسٽ ۽ تصديق جي اسٽريٽيگي: ٽيسٽنگ پِهرامڊ، اوزار، ڪوريج مَنزلَن، CI/CD گیٽس، ٽيسٽ ڊيٽا اسٽريٽيگي، نمائنده ٽيسٽ ڪيسز (TC-<EPIC>-<nnn>-<nn>)، Gherkin-as-spec، لوڪلائيزيشن/RTL، رسائي، سيڪيورٽي، پرفارمنس/لوڊ، UAT، ريگريشن، خاميءَ جو انتظام، ۽ فنڪشنل ضرورت ← يوزر اسٽوري ← قبوليت جي معيار ← ٽيسٽ ڪيس تائين ٻه طرفو ٽريسيبلٽي.

فيلڊ قدر
دستاويز ID 13
حيثيت مسودو
مالڪ S&ITD / MAAHIR
ٻوليون EN (ماسٽر) · UR · SD
ID اسڪيم TC-<EPIC>-<nnn>-<nn> مطابق _conventions.md §4
سچ جو سرچشمو _context.md · /specs/sd/01-prd/ · /specs/sd/03-non-functional-reqs/
تصديق ڪري ٿو /specs/sd/02-functional-reqs/ · /specs/sd/06-ticket-workflow/ · /specs/sd/11-security-compliance/

1. مقصد ۽ هن دستاويز کي پڙهڻ جو طريقو

هي دستاويز SITP لاءِ مستند تصديقي معاهده آهي. اها انجنيئرنگ، QA، MAAHIR آپريشنز، ۽ S&ITD قبوليت جي اسٽيڪ هولڊرز کي ٻڌائي ٿي ته ڇا ٽيسٽ ڪيو وڃي ٿو، ڪهڙي تہه ۾، ڪهڙي اوزار سان، ڪهڙي مَنزل تائين، ۽ هر ٽيسٽ ڪيس ڪيئن هڪ يوزر اسٽوري، ان جي قبوليت جي معيارن، ۽ پيدا ٿيندڙ فنڪشنل ضرورت سان ڳنڍيل آهي. هي RFP ۽ ٽينڊر لاءِ تيار لکيو ويو آهي، ۽ PPP جي جوابداهي جي معيار کي پورو ڪرڻ لاءِ ته هر شيپ ٿيل صلاحيت واضح طور تصديق ٿيل آهي.

1.1 هڪ ئي تصديق لاءِ پڙهڻ جي ترتيب

فنڪشنل ضرورت (FR-...) → يوزر اسٽوري (US-...) → قبوليت جو معيار (Gherkin Scenario) → ٽيسٽ ڪيس (TC-<EPIC>-<nnn>-<nn>) → ٽيسٽ ليئر (يونٽ / انٽيگريشن / e2e / مينول) → CI گیٽ / NFR مَنزل.

هن دستاويز ۾ درج هر TC /specs/sd/01-prd/ ۾ هڪ يا وڌيڪ Gherkin منظرنامن کي عملي ۽ ورٿ可再生 بنائڻ لاءِ موجود آهي. IDs مستحڪم، ٻولي-غيرجانبدار آهن، ۽ ڪڏهن به ترجمو ناهين ڪيا ويا.

1.2 معيار بار (هڪ لائن بيان)

پورٽل ان وقت شيپ ايبل آهي جڏهن (a) PRD ۾ هر [M] قبوليت جي معيار لاءِ گهٽ ۾ گهٽ هڪ ڪامياب خودڪار ٽيسٽ ڪيس هجي، (b) §5 جون ڪوريج مَنزلون پوريون ٿيون هجن، (c) §6 جو هر CI/CD گیٽ سائو هجي، ۽ (d) §13 جا UAT ايگزٽ معيار پائلٽ محڪمن پاران دستخط ٿيل هجن.

1.3 دائريو

دائريو ۾ دائريي کان ٻاهر (هن دستاويز ۾)
خودڪار يونٽ، انٽيگريشن، اينڊ ٽو اينڊ، ڪنٽريڪٽ، پرفارمنس، سيڪيورٽي، رسائي، i18n ٽيسٽ تفصيلي مينول ٽيسٽ اسڪرپٽس (QA ٽيسٽ مئنيجمينٽ ٽول ۾ رهندا آهن، جهڙوڪ TestRail / Zephyr)
ڪوريج مَنزلون، CI گیٽس، ٽيسٽ ڊيٽا اسٽريٽيگي، نمائنده TC ڪيٽلاگ في ايڊاپٽر موڪ اسپيسيفيڪيشنون (/specs/sd/08-integrations-spec/ ۾ رهندا آهن)
UAT پلان، ريگريشن اسٽريٽيگي، خاميءَ جو انتظام، ٽريسيبلٽي DR مشقيون، ري اسٽور مشقون لاءِ رن بڪس (/specs/sd/15-tech-architecture/ ۾ رهندا آهن)

2. ٽيسٽنگ جا اصول

  1. کاٻي ڏانهن شفٽ ڪريو. يونٽ ليئر تي خاميونون ٽهڪائڻ سڀ کان سستيون آهن. هر PR پنهنجا ٽيسٽ آڻي ٿو؛ ڪجهه به تصديق کان سواءِ main تائين ناهي پهچندو (NFR-MAINT-003).
  2. روين جو ٽيسٽ ڪريو، نه عمل درآمد جو. ٽيسٽ Gherkin منظرنامن کان مشاهدو قابل نتيجا دعويٰ ڪن ٿا؛ اهي پرائيوٽ طريقن جي دستخطن يا DB ڪالمن جي نالن جو دعويٰ ناهين ڪندا. هي ماڊيولر مونوليٿ کي ريفيڪٽر قابل رکي ٿو (NFR-MAINT-001).
  3. Gherkin معاهدو آهي. PRD ۾ هڪ Scenario: سچ جو واحد سرچشمو آهي: اها اسٽيڪ هولڊرز لاءِ ارادي کي دستاويز ڪري ٿي ۽ Cucumber/Playwright اسٽيپ بائنڊنگز ذريعي آٽوميشن هلائي ٿي (§8 ڏسو). ڪا به متوازي، الڳ "ٽيسٽ اسپڪ" ناهي.
  4. گهرائي ۾ دفاع. سيڪيورٽي، پرائيويسي، رسائي، ۽ i18n سنگل گیٽ چيڪس ناهين؛ هر هڪ جي تصديق هڪ خودڪار تہه (CI) پلس هڪ مينول/ماھرانہ تہه (في ريليز آڊٽ) ذريعي ٿيندي آهي. §10–§12 ڏسو.
  5. پهريان تعين. فليڪي ٽيسٽس کي P1 خاميون طور سڀاڻيو وڃي ٿو؛ هڪ ٽيسٽ جيڪو تعين وارو ناهي بنائي سگهجي ان کي قرنطينو ڪيو وڃي ٿو ۽ هڪ اسپرنٽ اندر ٻيهر لکيو وڃي ٿو (QA تي لاڳو NFR-RELY-004 طرزِ خيال).
  6. پروڊڪشن حقيقت پسندي. پرفارمنس، لوڪلائيزيشن، ۽ گريس فل ڊيگريڊيشن ٽيسٽس هڪ اسٽيجنگ ماحول خلاف هلن ٿا جيڪو پروڊڪشن ٽاپالوجي جي عڪاسي ڪري ٿو (NFR-PORT-001، NFR-SCAL-001) حقيقت پسندانه ڪارڊينلٽي تي (§7).

3. ٽيسٽنگ پِهرامڊ

SITP ڪلاسيڪل ٽيسٽنگ پِهرامڊ تي عمل ڪري ٿو: هڪ ويڪرو، تيز يونٽ بنياد؛ هڪ تنگ انٽيگريشن بينڊ؛ هڪ ننڍڙو، سست اینڊ ٽو اینڊ (e2e) چوٽي؛ ۽ هڪ پتلي مينول / UAT تہه جيڪا ايکسپلوريٽري ٽيسٽنگ، رسائي آڊٽ، سيڪيورٽي پين ٽيسٽ، ۽ اسٽيڪ هولڊر قبوليت لاءِ مخصوص آهي. هي شع واضح طور رکيل آهي — دعوائن جي وسيع اڪثريت سڀ کان سستي، تيز ترين تہه تي رهي ٿي.

flowchart TB classDef base fill:#3b3b6d,color:#fff,stroke:#1f1f3d classDef integ fill:#5b2a4a,color:#fff,stroke:#3d1a33 classDef e2e fill:#7a1f2b,color:#fff,stroke:#5a1420 classDef man fill:#1f4d3a,color:#fff,stroke:#143326 U["Unit (~70% of assertions)<br/>Vitest / Jest · pure functions, services, mappers, validators<br/>ms · run every PR"] I["Integration (~20%)<br/>NestJS DI + Testcontainers (MariaDB, Redis, MinIO)<br/>sub-second · run every PR"] E["End-to-end (~7%)<br/>Playwright · critical journeys across portal + API<br/>seconds · nightly + per-release smoke"] M["Manual / UAT (~3%)<br/>Exploratory, a11y screen-reader audit, pen-test, pilot acceptance<br/>per-release + per-phase"] U --> I --> E --> M class U base class I integ class E e2e class M man

تحريري وضاحت. پِهرامڊ کي هيٺان کان مٿان پڙهيو وڃي ٿو: سڀ کان ويڪري تہه (يونٽ) سڀ کان وڌيڪ دعوا رکي ٿي ۽ هر پل رڪوئسٽ تي ملي سيڪنڊن ۾ هلندي آهي. هر ايندڙ تہه گهٽ دعوا رکي ٿي، هلائڻ لاءِ وڌيڪ لاگت اچي ٿي، ۽ گهٽ ڀيرا هلندي آهي. بنياد ان ڳالهه جي تصديق ڪري ٿو ته هر ماڊيول جي خالص منطق — SLA ڪيليوليٽرز، حل جي ثبوت گیٽ، اسڪيليشن ليڊر شيڊولر، PII حذف ۽ ترميم ميپرز، RBAC ريذولوشن، لوڪيل ڪيٽلاگ مڪمليت — الگ الگ صحيح سلوڪ ڪري ٿو. انٽيگريشن بينڊ ان ڳالهه جي تصديق ڪري ٿو ته ماڊيول پنهنجن شايع ٿيل انٽرفيس ذريعي ۽ Testcontainers ذريعي حقيقي MariaDB/Redis/MinIO خلاف تعاون ڪن ٿا. e2e چوٽي انهن چند سفرن کي هلائي ٿي جيڪي صرف ان وقت معنيٰ رکن ٿا جڏهن پورو اسٽيڪ (پورٽل + API + ورڪرز + AI سروس + ايڊاپٽرز) لائيو هجي — ٽڪيٽ داخل ڪريو، ID سان ٽريڪ ڪريو، ثبوت سان حل ڪريو، اسڪيليٽ ڪريو، MoM شايع ڪريو، QR سائن ٿيل خط جي تصديق ڪريو. مينول تہه انهن لاءِ مخصوص آهي جيڪي خودڪار ناهين ٿي سگهندا: ايکسپلوريٽري ٽيسٽنگ، WCAG اسڪرين ريڊر آڊٽ، آزاد پين ٽيسٽ، ۽ پائلٽ محڪمن جو UAT دستخط.

3.1 ليئر بہ ليئر معاهدو

ليئر هي ڇا ثابت ڪري ٿو اوزار تي هلندو آهي مَنزل حصو
يونٽ خالص منطق، سنگل ماڊيول درستگي، ڪا I/O ناهي Vitest / Jest، ts-jest، PyTest (AI سروس) هر PR (CI) ~70% دعوا
انٽيگريشن ماڊيول تعاون، حقيقي انفرا (DB، ڪيش، اسٽوريج، قطار)، ايڊاپٽر موڪ NestJS Test.createTestingModule، Testcontainers، Supertest هر PR (CI) ~20%
ڪنٽريڪٽ API/Webhook ڪنٽريڪٽ ٻنهي طرفن کان پورا OpenAPI schema-diff، Pact (webhooks لاءِ ڪنزيومر ڊرائون) هر PR (CI) انٽيگريشن جو ذيلي سيٽ
اینڊ ٽو اینڊ لائيو اسٽيڪ ذريعي مڪمل اهم سفر Playwright (ويب)، Playwright APIRequestContext راتو رات + ريليز اڳ اسموڪ ~7%
پرفارمنس / لوڊ ٿرو پُٽ، ليٽينسي p95، AI/OCR ٽائم آئوٽ، concurrency k6 (بنيادي) / Artillery (متبادل) ريليز اڳ + ڊيمانڊ تي
سيڪيورٽي OWASP ASVS L2، authz ميٽرڪس، ABAC، پين ٽيسٽ OWASP ZAP، Burp Suite، gitleaks، Trivy، Snyk راتو رات ZAP + في ريليز مينول
رسائي WCAG 2.1 AA خودڪار + مينول اسڪرين ريڊر axe-core، Pa11y، Lighthouse CI، NVDA/VoiceOver هر PR (خودڪار) + في ريليز (مينول)
i18n / l10n ٽي لوڪيل هم آهنگي، RTL مِرنگ، گلاسري تعميل رواجي لوڪيل ڪيٽلاگ ڊف، Playwright بصري (LTR+RTL)، Lighthouse هر PR + ريليز اڳ
مينول / UAT ايکسپلوريٽري، آڊٽ گريڊ a11y، پين ٽيسٽ، پائلٽ قبوليت انساني ٽيسٽرز، اسڪرين ريڊرز، پائلٽ محڪمو عملو في ريليز / في فيز ~3%

4. اوزار ۽ اسٽيڪ

اوزار _context.md §3 ۾ قفل ٿيل ٽيڪنالاجي اسٽيڪ ۽ /specs/sd/03-non-functional-reqs/ §3.9 ۾ برقرار رکڻ جي گیٽس سان ملائڻ لاءِ چونڊيا ويا آهن. ڪو به اوزار متعارف ناهي ڪيو ويو جيڪو هر پل رڪوئسٽ تي CI ۾ نه هلندو هجي.

ڳڻتي بنيادي اوزار متبادل / نوٽ
يونٽ ٽيسٽس (NestJS / TypeScript) Vitest (تيز، ESM نيٽو) Jest قابل قبول آهي جتي هڪ ماڊيول اڳ ۾ ان تي معياري ڪري ٿو
يونٽ ٽيسٽس (FastAPI AI سروس) PyTest + pytest-asyncio + pytest-cov ڪوريج ساڳئي گیٽ کي فيڊ ڪري ٿي جهڙو TS سائيڊ
انٽيگريشن ٽيسٽس (NestJS) NestJS DI (Test.createTestingModule) + Testcontainers (MariaDB 10.11، Redis، MinIO، Keycloak ٽيسٽ ريلم) هر اسپیک کي تازو schema/namespace ملندو آهي؛ ڪا به شيئرڊ مييوٽيبل اسٽيٽ ناهي
HTTP/API دعوا Supertest NestJS ايپ خلاف ڪنزيومر ڊرائون webhook ڪنٽريڪٽس لاءِ Pact
اینڊ ٽو اینڊ (برائوزر) Playwright (Chromium، Firefox، WebKit) هڪ سوٽ، EN/UR/SD ۽ LTR/RTL تي پيراميٽرائزڊ
اینڊ ٽو اینڊ (موبائل) Playwright ڊوائيس ايموليشن (Moto G Power، iPhone SE) React Native (Expo) Detox فيز 4 لاءِ ملتوي
ڪنٽريڪٽ / API ڊف ڪوڊ مان جنريٽ ٿيل OpenAPI 3؛ بريڪنگ تبديلي جي تشخيص لاءِ oasdiff اسپیک ڊف هارڊ گیٽ آهي (NFR-INTER-004)
پرفارمنس / لوڊ k6 (بنيادي) سوڪ/سيناريو اسڪرپٽنگ لاءِ متبادل Artillery
رسائي (خودڪار) axe-core (@axe-core/playwright ذريعي) + Pa11y + Lighthouse CI ٽئي ئي هلن ٿا؛ Pa11y پڻ Docusaurus ڊاڪس سائيٽ کي اسڪين ڪري ٿو
رسائي (مينول) NVDA + Firefox، JAWS + Edge، VoiceOver + Safari/iOS، TalkBack + Android في ريليز اهم سفر تي آڊٽ (NFR-A11Y-002)
سيڪيورٽي (DAST) OWASP ZAP (راتو رات بيس لائن + في ريليز ايڪٽو اسڪين) آزاد پين ٽيسٽ لاءِ Burp Suite Professional
سيڪيورٽي (SAST/SCA/secrets) gitleaks/trufflehog (secrets)، Snyk يا Trivy (SCA)، ESLint سيڪيورٽي پلگ اِن (SAST) NFR-SEC-011 مطابق ڪريٽيڪل CVE گیٽ
i18n / l10n رواجي locale-diff (EN↔UR↔SD پيرٽي)، eslint-plugin-react-intl (ڪا به هارڊ ڪوڊڊ اسٽرنگ ناهي)، Playwright بصري + LTR ۽ RTL ۾ اسڪرين شاٽ ڊف _glossary.md مان گلاسري تعميل چيڪ
بصري ريگريشن Playwright اسڪرين شاٽ ڊف (في صفحو، في لوڪيل، في سمت) بيس لائنز هر ريليز تي ريويو ٿينديون آهن؛ ڊِرِفٽ → مينول منظوري
ٽيسٽ ڊيٽا فيڪٽري فنڪشنز + Faker.js (سنٿيٽڪ)، ماسڪڊ PII ڪارپس (§7 ڏسو) فڪسچرز tests/fixtures/ هيٺ اِن-ريپو ورزند
ٽيسٽ مئنيجمينٽ TestRail (يا Zephyr Scale) مينول/UAT اسڪرپٽس ۽ ٽريسيبلٽي لاءِ هن دستاويز ۾ ٽيسٽ ڪيسز اسپیک آهن؛ اوزار ايگزيڪيوشن ثبوت رکي ٿو
ڪوريج c8 / istanbul (TS)، coverage.py (Py) CI کي رپورٽ ٿيندي آهي؛ رجحان في بلڊ ٽريڪ ٿئي ٿو
مييوٽيشن (اختياري، [C]) Stryker (TS) فيز-2+ ڪريٽيڪل پاٿ سوٽ کي مضبوط ڪرڻ لاءِ

5. ڪوريج مَنزلون

ڪوريج مَنزلون NFR-MAINT-002 سان هم آهنگ آهن ۽ وڌيڪ خطرناڪ فيصلن جي گیٽس لاءِ سخت تر معيار شامل ڪن ٿيون. ڪوريج هڪ فرش آهي، ڇت ناهي؛ اها ضروري آهي پر ڪافي ناهي (اوچو اسڪور پر اَٺَ دعوا هڪ سڃاتل اينٽي پيٽرن آهي، جنهن جو مقابلو §4 ۾ مييوٽيشن ٽيسٽنگ آپشن سان ڪيو وڃي ٿو).

دائرو لائن ڪوريج برانچ ڪوريج گیٽ
NestJS API (مجموعي) 70 % 60 % هارڊ، مطابق NFR-MAINT-002
FastAPI AI سروس (مجموعي) 70 % 60 % هارڊ، مطابق NFR-MAINT-002
ڪريٽيڪل پاٿ ماڊيولز (auth، ٽڪيٽ لائف سائيڪل، آڊٽ، فائلون) 80 % لائن 70 % برانچ هارڊ، مطابق NFR-MAINT-002
سڀ کان وڌيڪ خطرناڪ فيصلن جي گیٽس (§5.1 ڏسو) 100 % لائن ۽ برانچ هارڊ
پبلڪ سائيٽ / Next.js ڪمپوننٽس 60 % لائن 50 % برانچ V1 تي نرم (وارن)؛ فيز 2 ۾ هارڊ ڪريو

هڪ PR جيڪا مجموعي ڪوريج کي فرش کان هيٺ لهائي ٿي اها بلڊ ناڪام ڪندي آهي. ڪوريج گیٽ ڊيلٽا (تبديل ٿيل لائنون) تي هلندي آهي پوري پراجيڪٽ جي ڪل کان علاوه، تنهنڪري ليگيسي ڪوڊ تي جرمانو ناهي پر نئون ڪوڊ معيار جو پابند آهي.

5.1 100 % فيصلن جي گیٽس

اهي تنگ، بلے-ريڊيس ڪوڊ پاٿ آهن جتي ڇڏيل برانچ تعميل يا اعتماد جي ناڪامي آهي. کين واضح طور نامزد ٿيل ٽيسٽ ڪيسز سان 100 % لائن ۽ برانچ ڪوريج تائين پهچڻ گهرجي، ماڊيول-ويڪر فرش کان سواءِ:

فيصلي جو گیٽ 100 % ڇو مالڪي ماڊيول(s)
حل جي ثبوت گیٽResolved کي ثبوت + نوٽ کان سواءِ بلاڪ ڪريو بندش جي سالميت؛ اسڪيليشن ۽ CSAT سان تعلق TKT (FR-TKT-013/014)
آڊٽ ايپينڊ — هر اسٽيٽ تبديلي هڪ غير تبديل ٿيل aud_event کي trace_id سان لکندي آهي حڪومتي جوابداهي (NFR-AUD-001) XCU / سڀ ماڊيولز
اجازت allow/deny — RBAC ٽيمپليٽ + اوورائڊ ريذولوشن ڪراس ٽيننٽ ۽ ڪراس محڪمو آئسوليشن ORG (FR-ORG-005)
ABAC ڪنفيڊنشل/VIP چيڪ — حساس ٽڪيٽن تي ايٽريبيوٽ تي مبني رسائي پرائيويسي + اعتماد ۽ حفاظت (NFR-AUD-004، NFR-PRIV-003) ORG (FR-ORG-010)
ڪلاؤڊ AI کان اڳ PII حذف ۽ ترميم — ڪنهن به ڪلاؤڊ ڪال کان اڳ mask/tokenize ڪريو ڊيٽا ريزائڊنسي + خودمختاري (NFR-PRIV-006) AI (FR-AI-010)
Idempotency-key dedup — ساڳي key + payload ⇒ هڪ write ريٽري سيفٽي (NFR-RELY-004) XCU / سڀ اسٽيٽ تبديل ڪندڙ اينڊ پوائنٽس
Step-up auth چيلنج — پراڻي سيسن ⇒ حساس رستن تي step-up سيسن هاءِ جيڪ بلے-ريڊيس محدود (NFR-SEC-005) ORG / INT
فيچر فليگ فيل سيف ڊيفالٽ — فليگ سروس ناقابل رسائي ⇒ محفوظ ڊيفالٽ آپريشنل سيفٽي (US-FFG-002) FFG

6. CI/CD گیٽس ۽ پائيپ لائن

هيٺ ڏنل هر گیٽ main ۽ پروڊڪشن ڊپلاءِ جي رستي تي هڪ هارڊ بلاڪ آهي، جيڪو برانچ پروٽيڪشن (NFR-MAINT-003) ذريعي لاڳو ڪيو وڃي ٿو. هڪ ڊپلاءِ جيڪو گیٽ کي ڇڏي وڃي اها هڪ واقعو آهي.

flowchart LR classDef ok fill:#1f4d3a,color:#fff,stroke:#143326 classDef gate fill:#3b3b6d,color:#fff,stroke:#1f1f3d classDef sec fill:#7a1f2b,color:#fff,stroke:#5a1420 classDef rel fill:#5b2a4a,color:#fff,stroke:#3d1a33 PR["PR opened"] --> L["Lint<br/>(ESLint, Prettier, Ruff)"] L --> T["Typecheck<br/>(tsc --noEmit, mypy)"] T --> U["Unit tests<br/>+ coverage gate"] U --> I["Integration tests<br/>(Testcontainers)"] I --> CT["Contract<br/>(OpenAPI diff, Pact)"] CT --> B["Build<br/>(containers, bundles)"] B --> SCA["SCA + secrets<br/>(Snyk/Trivy, gitleaks)"] SCA --> A11Y["Accessibility<br/>(axe, Pa11y, Lighthouse)"] A11Y --> I18N["i18n / RTL<br/>(locale parity, visual)"] I18N --> E2E["e2e smoke<br/>(Playwright, top journeys)"] E2E --> SBOM["License + SBOM<br/>(Syft, license-check)"] SBOM --> MR{"Review<br/>approved?"} MR -->|"yes"| MERGE["Merge to main"] MERGE --> FULL["Nightly full suite:<br/>ZAP DAST, k6 load, full e2e, mutation"] FULL --> REL["Release gate:<br/>pen-test, manual a11y audit, UAT sign-off"] REL --> DEPLOY["Deploy (zero-downtime)"] class L,T,U,I,CT,B gate class SCA,SCA sec class A11Y,I18N ok class E2E,SBOM gate class FULL,REL rel

تحريري وضاحت. هڪ پل رڪوئسٽ کاٻي پاسي پائيپ لائن ۾ داخل ٿيندي آهي ۽ مرج ٿيڻ کان اڳ کاٻي کان ساڄي هر گیٽ پاس ڪرڻ گهرجي. لنٽ ۽ ٽائپ چيڪ سڀ کان سستا ڪيچز آهن ۽ پهرين هلن ٿا. ڪوريج گیٽ سان يونٽ ٽيسٽس پوءِ ايندا آهن، پوءِ انٽيگريشن ٽيسٽس جيڪي Testcontainers ذريعي حقيقي MariaDB/Redis/MinIO هلائين ٿا. ڪنٽريڪٽ ٽيسٽس (شايع ٿيل اسپیک خلاف OpenAPI ڊف، webhooks لاءِ Pact) پارٽنرز تائين پهچڻ کان اڳ بريڪنگ تبديلين کي پڪڙين ٿا. بلڊ ڪنٽينرز ۽ بنڊلز تيار ڪري ٿو. SCA + secrets ڊپينڊنسيز ۽ سورس ۾ معلوم کمزورين ۽ ليل ڪريڊينشلز کي اسڪين ڪري ٿو (NFR-SEC-006، NFR-SEC-011). رسائي (axe-core، Pa11y، Lighthouse) ۽ i18n/RTL (لوڪيل پيرٽي، بصري ڊف) پوءِ هلن ٿا. هڪ e2e smoke سوٽ مٿين اهم سفرن کي ڪور ڪري ٿو. License + SBOM جنريشن في PR بلاڪ کي بند ڪري ٿي. انساني ريويو ۽ مرج کان پوءِ، راتو رات مڪمل سوٽ سستا، اونهيرا چيڪ هلائي ٿو — ZAP DAST، k6 لوڊ، ٽنهي لوڪيلز ۾ مڪمل e2e، ۽ (اختياري طور تي) مييوٽيشن ٽيسٽنگ. هڪ ريليز گیٽ هيومن-ان-دي-لوپ چيڪس شامل ڪري ٿو: آزاد پين ٽيسٽ، مينول رسائي آڊٽ، ۽ پائلٽ محڪمو UAT دستخط. تنهن کان پوءِ ئي هڪ زير ڊائون ٽائم ڊپلاءِ اڳتي وڌندو آهي (NFR-AVAIL-006).

6.1 گیٽ ڪيٽلاگ

گیٽ اوزار بلاڪس جڙيل NFR
لنٽ ESLint، Prettier، Ruff PR مرج MAINT-003
ٽائپ چيڪ tsc --noEmit، mypy PR مرج MAINT-003
يونٽ + ڪوريج Vitest/Jest، PyTest + c8/coverage.py PR مرج (ڊيلٽا + ڪل) MAINT-002
انٽيگريشن NestJS DI + Testcontainers PR مرج RELY-004، RELY-005
ڪنٽريڪٽ OpenAPI ڊف، Pact PR مرج INTER-001، INTER-004
بلڊ Docker، Next.js بلڊ PR مرج PORT-001
SCA / secrets Snyk/Trivy، gitleaks PR مرج (ڪريٽيڪل/هاءِ CVE) SEC-006، SEC-011
رسائي (آٽو) axe-core، Pa11y، Lighthouse CI PR مرج (زير ڪريٽيڪل خلاف ورزيون) A11Y-001
i18n / RTL locale-diff، eslint-plugin-react-intl، بصري PR مرج I18N-001، I18N-002، I18N-003
e2e اسموڪ Playwright PR مرج (مٿين سفر، EN)
License / SBOM Syft، license-check PR مرج (پروڊ ڊپس ۾ ڪوپي ليفٽ ناهي) MAINT-001
DAST (مڪمل) OWASP ZAP راتو رات + ريليز اڳ SEC-001، SEC-008
لوڊ (مڪمل) k6 ريليز اڳ + ڊيمانڊ تي PERF-001..011
پين ٽيسٽ Burp Suite (آزاد) go-live اڳ + سالياني SEC-007
مينول a11y آڊٽ NVDA/JAWS/VoiceOver/TalkBack في ريليز A11Y-002، A11Y-003
UAT دستخط پائلٽ محڪما في فيز گیٽ §13 ڏسو

7. ٽيسٽ ڊيٽا اسٽريٽيگي

ٽيسٽ ڊيٽا بذريعه ڊفالٽ سنٿيٽڪ آهي؛ حقيقي PII ڪڏهن به پروڊڪشن کان ناهي نڪرندو، ۽ انهن چند ڪارپسن جيڪي PII جي نقل ڪن ٿا اهي ماسڪڊ ۽ رسائي ڪنٽرولڊ آهن. ڊيٽا اسٽريٽيگي NFR-PRIV-001 (گهٽ ۾ گهٽ) ۽ NFR-PRIV-003 (PII والٽنگ) هيٺ منظم آهي.

7.1 ڊيٽا ذريعا

ذريعو استعمال نوٽس
سنٿيٽڪ فيڪٽريز (Faker.js + رواجي بلڊرز) يونٽ، انٽيگريشن، e2e تعين بيڄ؛ هر اينٽيٽي ٽائپ لاءِ هڪ فيڪٽري
ماسڪڊ PII ڪارپس پرائيويسي حذف ۽ ترميم ٽيسٽس، پين ٽيسٽ حقيقي شڪليون متبدل قدرن سان؛ رسائي محدود
في اينٽيٽي ٽائپ فڪسچرز ڪنٽريڪٽ + e2e tests/fixtures/ ۾ ورزند JSON (ڪمپني، ٽڪيٽ، MoM، خط، user×role)
ملٽي لنگول ڪارپس i18n، OCR، سرچ 3 لوڪيل × نمائندا مواد؛ §7.3 ڏسو
انونيمائزڊ پروڊڪشن نمونو پرفارمنس/لوڊ (اختياري) صرف منظور ٿيل انونيمائزيش پائيپ لائن کان پوءِ؛ فيز-2+

7.2 اينٽيٽي فڪسچر ڪوريج

هر اينٽيٽي ٽائپ لاءِ گهٽ ۾ گهٽ هڪ ڪينونيڪل فڪسچر ۽ هڪ ايڊج ڪيس فڪسچر آهي، تنهنڪrameته شرطي منطق (اینٽيٽي ٽائپ مخصوص رجسٽريشن، ڪيٽگري مخصوص ٽڪيٽ فيلڊز، role-ٽيمپليٽ اوورائڊز) کي هلائجي:

7.3 ملٽي لنگول ڪارپس (3 لوڪيلز)

هر ٽيڪسٽ بيئرنگ فڪسچر EN، UR، ۽ SD ۾ موجود آهي تنهنڪrameته OCR، سرچ، AI ترجمو، اطلاع رينڊرنگ، ۽ RTL لے آئوٽ سڀ حقيقي اسڪرپٽ مواد خلاف هلائجن:

7.4 ڊيٽا حفاظت جا اصول


8. Gherkin منظرناما بطور خودڪار اسپڪس ٻيهر استعمال

/specs/sd/01-prd/ ۾ هڪ Scenario: بلاڪ اهڙي دستاويز ناهي جاڪا پوءِ الڳ ٽيسٽ اسڪرپٽ ۾ ترجمو ٿئي. اها قابلِ عمل اسپيسيفيڪيشن آهي. Gherkin متن ٻن طريقن سان آٽوميشن سان ٻڌل آهي:

  1. Cucumber (PyTest لاءِ Behave / TS لاءِ @cucumber/cucumber) — لفظي Gherkin Given/When/Then اسٽيپس اسٽيپ ڊيفينيشن فنڪشنز سان ٻڌل آهن. منظرنامو جو متن ۽ ٽيسٽ هڪ ئي آرٽيفڪٽ آهن؛ منظرنامو تبديل ڪرڻ سان ٽيسٽ تبديل ٿي وڃي ٿو.
  2. Playwright + data-testid بائنڊنگ — e2e لاءِ، ساڳيو Gherkin منظرنامو مستحڪم data-testid سليڪٽرز سان اينوٽيٽ ٿيل آهي تنهنڪrameته دعوا UI ريفيڪٽرز ۾ پورٽيبل رهي.

ورڪڊ مثال — حل جي ثبوت گیٽ منظرنامو (US-TKT-006) TC-TKT-006-01 بڻجي ٿو:

# Reused verbatim from /specs/sd/01-prd/ (US-TKT-006, Scenario: Resolution requires evidence and a note)
Scenario: Resolution requires evidence and a note
  Given a staff member attempts to move a ticket to "Resolved"
  When no evidence attachment and resolution note are present
  Then the transition is blocked
  And the system states which required items are missing

ٻڌل آٽوميشن (وضاحتي):

// tests/integration/ticket/proof-gate.steps.ts
Given('a staff member attempts to move a ticket to {string}', async (status) => {
  this.ticket = await ticketFactory.create({ status: 'InProgress' });
  this.attempt = () => ticketsApi.transition(this.ticket.id, status);
});

When('no evidence attachment and resolution note are present', async () => {
  // factory created the ticket without attachments and without a note — nothing to do
});

Then('the transition is blocked', async () => {
  await expect(this.attempt()).rejects.toMatchObject({ status: 409, code: 'PROOF_GATE_MISSING' });
});

Then('the system states which required items are missing', async () => {
  const err = await this.attempt().catch(e => e);
  expect(err.details.missing).toEqual(expect.arrayContaining(['evidence_attachment', 'resolution_note']));
});

آرٽنگ رول: جيڪڏهن هڪ ٽيسٽ ڪيس Gherkin منظرنامي تائين ٽريس ناهي ٿي سگهندو، ته يا ته منظرنامو غائب آهي (ان کي PRD ۾ شامل ڪريو) يا ٽيسٽ ڪيس عمل درآمد جي تفصيل جو ٽيسٽ ڪري رهيو آهي (ان کي ريفيڪٽر يا حذف ڪريو). هي رول اسپڪ ۽ سوٽ کي الگ ٿيڻ کان روڪي ٿو.


9. نمونہ ٽيسٽ ڪيسز (TC-<EPIC>-<nnn>-<nn>)

هيٺ ڏنل ٽيبل نمائنده ٽيسٽ ڪيسز جي فهرست ڏئي ٿي جيڪي _context.md §5 ۾ قفل ٿيل روين وارين فيصلن ۽ PRD ۾ [M]/[S] يوزر اسٽوريز کي هلائين ٿيون. هي مڪمل سوٽ ناهي — مڪمل ڪيٽلاگ (E1–E17 ۾ هر قبوليت جي معيار لاءِ هڪ يا وڌيڪ TCs) QA ٽيسٽ مئنيجمينٽ ٽول ۾ رهندو آهي. هتي هر TC پنهنجي اصلي يوزر اسٽوري، اهي فنڪشنل ضرورت(ون) جيڪي اها پوري ڪن ٿيون، بنيادي ٽيسٽ ليئر، ۽ اها ترجيح جاڪا ريگريشن ۾ شموليت جو تعين ڪندي آهي، سان ميپ ٿئي ٿو (§14 ڏسو).

TC ID عنوان (هڪ لائن رويو) ٽريس (US · FR) ليئر ترجيح
TC-PUB-001-01 هر پبلڪ صفحو مڪمل طور EN، UR، ۽ SD ۾ رينڊر ٿئي ٿو، UR/SD لاءِ RTL سان، ۽ ڪا به فال بیک اسٽرنگ ناهي US-PUB-001 · FR-PUB-001/002 e2e + i18n P0
TC-ORG-001-01 شرطي رجسٽريشن فارم صرف چونڊيل اینٽیٹی ٽائپ (5 قسمون) لاءِ فيلڊز/دستاويزون ڏيکاري ٿو US-ORG-001 · FR-ORG-001 انٽيگريشن + e2e P0
TC-ORG-002-01 مڪمل رجسٽريشن فوري عارضي بيچ ڏئي ٿي؛ تصديق متوازي هلڻ دوران ٽڪيٽ داخل ڪرڻ فعال آهي US-ORG-002 · FR-ORG-002/003 انٽيگريشن P0
TC-ORG-003-01 بنيادي مجاز نمائندي جي منتقلي کان پوءِ بالڪل هڪ بنيادي باقي رهي ٿو؛ اڳوڻي جي تنزلي؛ تبديلي آڊٽ لاگڊ US-ORG-003 · FR-ORG-004 انٽيگريشن P0
TC-ORG-004-01 هڪ مسترد گرينولر اوورائڊ نافذ ٿئي ٿو حتيٰ جڏهن role ٽيمپليٽ اجازت ڏيندو هجي US-ORG-004 · FR-ORG-005 يونٽ + انٽيگريشن P0
TC-ORG-005-01 اسڪيليشن ليڊر 2/5/10 ڏينهن تي فائر ٿئي ٿو: 2 ڏينهن تي DG واچر، 7 ڏينهن تي سيڪريٽري، 17 ڏينهن تي SACM شامل؛ اطلاع موڪليا ويا؛ await/ويڪ اينڊ/ڇتي تي SLA روڪي ٿو US-ORG-005 · FR-ORG-006/007 + _context.md §5 يونٽ + انٽيگريشن P0
TC-ORG-007-01 ڪنفيڊنشل/VIP ٽڪيٽ ملندڙ ايٽريبيوٽ کان سواءِ عملي لاءِ (لسٽ + سرچ) اَنڏسڻ وارو آهي؛ رسائي جي ڪوشش لاگڊ US-ORG-007 · FR-ORG-010 انٽيگريشن + e2e P0
TC-TKT-001-01 ٽڪيٽ داخل ڪرڻ جو هيپي پاٿ: مڪمل متحرڪ فارم ⇒ حيثيت "نئون"، ٽريڪنگ ID SITP-YYYY-<DEPT>-<NNNNNN>، نمائندي جي پسنديده ٻولي ۾ تصديق US-TKT-001 · FR-TKT-001/002/004/007 انٽيگريشن + e2e P0
TC-TKT-002-01 AI آٽو روٽ ڪانفڊنس اسڪور سان محڪمو/سیڪشن/فوريت تجويز ڪري ٿو؛ آفيسر قبول/تبديل/مسترد؛ اوورائڊ اصل تجويز سان آڊٽ لاگڊ US-TKT-002 · US-AI-002 · FR-AI-002/003، FR-TKT-005 انٽيگريشن (موڪڊ انجن) P0
TC-TKT-004-01 محفوظ ٿيل مسودو سيسنز/ڊوائيسز ۾ برقرار رهي ٿو ۽ اٽيچمينٽس بحال ڪري ٿو؛ اسمارٽ اسسٽنٽ ملندڙ حل ٿيل ٽڪيٽس ڏيکاري ٿو ۽ ڊسڪارڊ تي انحراف رڪارڊ ڪري ٿو US-TKT-004 · FR-TKT-003، FR-AI-007 انٽيگريشن + e2e P1
TC-TKT-006-01 حل جي ثبوت گیٽ ثبوت اٽيچمينٽ يا حل نوٽ کان سواءِ "Resolved" ۾ منتقلي کي بلاڪ ڪري ٿو؛ ٻڌائي ٿو ته ڇا غائب آهي US-TKT-006 · FR-TKT-013/014 يونٽ + انٽيگريشن P0
TC-TKT-006-02 حل ٿيل ٽڪيٽ CSAT ونڊو ختم ٿيڻ تي ڪمپني جي عمل کان سواءِ آٽو بند ٿي وڃي ٿو؛ بندش ايونٽ/ٽائم اسٽيمپ/ٽرگر رڪارڊ ٿيل US-TKT-006 · FR-TKT-015 انٽيگريشن (ٽائم ٽريول) P0
TC-TKT-006-03 ڪمپني CSAT ونڊو اندر حل مسترد ڪري ٿي ⇒ ٽڪيٽ پڇين ورڪنگ اسٽيٽ تي ٻيهر کُلي ٿو، SLA ٻيهر شروع، عملو/واچرز مطلع؛ بند ٽڪيٽ ⇒ اپيل رڪارڊ ٺهي ٿو ۽ ايندڙ اسڪيليشن ٽائر ڏانهن موڪليو وڃي ٿو US-TKT-006 · FR-TKT-015/016 انٽيگريشن + e2e P0
TC-NOT-003-01 ٻه طرفو آنڌڙ: ٽڪيٽ اطلاع اي ميل جو جواب ڏيڻ باڊي + اٽيچمينٽس کي تبصري طور شامل ڪري ٿو ۽ عملو/واچرز کي مطلع ڪري ٿو؛ غير ملندڙ آنڌڙ ريويو لاءِ روڪيو وڃي ٿو، مسترد ناهي US-NOT-003 · FR-NOT-003 انٽيگريشن P1
TC-AI-001-01 ملٽي لنگول OCR ڪانفڊنس اسڪور سان لاطيني/اردو/سنڌي اسڪرپٽس لاءِ سرچ ايبل ٽيڪسٽ ڪڍي ٿو؛ گهٽ ڪانفڊنس مينول ريويو لاءِ فلگ ڪيو وڃي ٿو US-AI-001 · FR-AI-001 انٽيگريشن (فڪسچر ڪارپس) P1
TC-AI-006-01 MoM اپ لوڊ: OCR + AI اسٽرڪچرڊ ايڪشن آئٽمز (مالڪ + ڊيو تاريخ) + آفيسر جي تصديق لاءِ خلاصو ڪڍن ٿا؛ تصديق تي، هر ايڪشن آئٽم سورس ٽڪيٽ تي ذيلي ٽاسڪ بڻجي ٿو US-AI-006 · US-MTG-003/004 · FR-AI-012، FR-MTG-009/012 انٽيگريشن + e2e P1
TC-MTG-005-01 حساس/VIP MoM شايع ڪرڻ منظوري لاءِ چيئر/DG ڏانهن موڪليو وڃي ٿو ۽ منظوري تائين آٽو شيئر بلاڪ؛ منظوري تي، سڀني شرڪاءِ کي تسليم ٽريڪنگ سان آٽو شيئر US-MTG-005 · FR-MTG-015/018 انٽيگريشن P0
TC-FILE-002-01 ClamAV فلگ ٿيل اپ لوڊ قرنطينو ٿئي ٿي، ڪڏهن به ڊائون لوڊ ناهي ٿي سگهندائي، محفوظ پيغام سان مسترد، ۽ سيڪيورٽي الرٽ + آڊٽ ايونٽ اٿاري ٿي US-FILE-002 · FR-FILE-003، NFR-SEC-012 انٽيگريشن (سيڊڊ EICAR) P0
TC-INT-001-01 NADRA آئوٽيج: ڪنفيگرڊ ناڪامين کان پوءِ سرڪٽ بريڪر کُلي ٿو، رجسٽريشن "verification pending" ڏانهن منتقل، بحالي تي ريٽريز ٻيهر شروع، زير انهينڊلڊ استثنا US-INT-001 · FR-INT-001، NFR-RELY-001/003 انٽيگريشن (فالٽ انجيڪشن) P0
TC-INT-004-01 OIDC SSO عملي جي سائن اِن تي group/role دعويٰ لاڳو ڪري ٿو؛ حساس علائقي رسائي لاءِ step-up 2FA ضروري ۽ سيسن کي step-up authenticated نشاني زد ڪري ٿو US-INT-004 · FR-INT-004، NFR-SEC-005 انٽيگريشن + e2e P0
TC-DOC-003-01 سائن ٿيل خط جي QR تصديق جاري ٿيڻ + ملندڙ فائل هيش جي تصديق ڪري ٿي؛ ٽيمپرڊ هيش يا نامعلوم ڪوڊ ⇒ "تصديق ناهي ٿي سگهي" + لاگڊ ڪوشش US-DOC-003 · FR-DOC-011 انٽيگريشن + e2e P0
TC-TRN-002-01 exam گیٽ غير مصدق آفيسر لاءِ لائيو ٽڪيٽ تفويض کي بلاڪ ڪري ٿو؛ امتحان پاس ڪرڻ سان ايندڙ ڪوشش تي تفويض اَن لاڪ ٿئي ٿي US-TRN-002 · FR-TRN-006، US-ORG-007 انٽيگريشن P1
TC-FFG-001-01 في محڪمو غير فعال فيچر فليگ ان محڪمي لاءِ صلاحيت لڪائي ٿو ۽ ٻيا فعال ڇڏي ٿو؛ فليگ سروس ناقابل رسائي هجڻ تي ڪنفيگرڊ فيل سيف ڊيفالٽ ملندو آهي US-FFG-001/002 · FR-FFG-001/002 انٽيگريشن (فالٽ انجيڪشن) P0

ترجيح ڪلي. P0 — لانچ بلاڪنگ؛ هر CI پائيپ لائن ۽ ريگريشن ۾ هلندو آهي. P1 — V1 ۾ ضروري رويو پر گهٽ بلے ريڊيس؛ CI ۽ ريليز اڳ ريگريشن ۾ هلندو آهي.

سوٽ مڪمل ٿيڻ جو نوٽ. مٿيان 23 ڪيس نمائنده ريڙه جي هڏي آهن. مڪمل ٽيسٽ مئنيجمينٽ ڪيٽلاگ E1–E17 ۾ هر قبوليت جي معيار لاءِ گهٽ ۾ گهٽ هڪ TC-<EPIC>-<nnn>-<nn> اخذ ڪري ٿو (PRD جي في اپڪ AC شمار مطابق)، جنهنڪrameته V1 لانچ تي تخميني 200+ خودڪار ڪيسز ملن ٿا، في فيز وڌندا. [M] ACs جي ڪوريج لانچ ريڊينس ايگزٽ معيار آهي (§1.2).


10. لوڪلائيزيشن ۽ RTL ٽيسٽنگ

لوڪلائيزيشن هڪ فرسٽ ڪلاس ٽيسٽ ڳڻتي آهي، فائنل پاس چيڪ ناهي، ڇوته SITP ٽي قانوني صوبائي ٻوليون سنڀاليندو آهي جن مان ٻه ساڄي کان کاٻيون آهن. هي سيڪشن NFR-I18N-001…006 کي عملي شڪل ڏئي ٿو.

10.1 خودڪار (هر PR)

چيڪ اوزار گیٽ
لوڪيل ڪيٽلاگ key پيرٽي (EN ↔ UR ↔ SD) locale-diff UR يا SD ۾ ڪنهن به غائب key تي بلڊ ناڪام
ڪا به هارڊ ڪوڊڊ يوزر فيسنگ اسٽرنگ ناهي eslint-plugin-react-intl يوزر فيسنگ ڪمپوننٽ ۾ هارڊ ڪوڊڊ اسٽرنگ تي بلڊ ناڪام (NFR-I18N-003)
گلاسري تعميل _glossary.md خلاف رواجي چيڪ وارن → ڊِرِفٽ حل نه ٿيڻ تي مسلسل ٻي ريليز تي ناڪام (NFR-I18N-006)
ٻٽي ڪيلينڊر (گريگورين + هجري) رينڊرنگ تاريخ فارميٽر تي يونٽ ٽيسٽ جيڪڏهن ڪو به تاريخ بيئرنگ اسکرين صرف هڪ ڪيلينڊر رينڊر ڪري ته ناڪام (NFR-I18N-005)

10.2 بصري (في ريليز)

10.3 مينول (في ريليز)


11. رسائي ٽيسٽنگ

رسائي هڪ حڪومتي سروس لاءِ قانوني سان تعلق رکي ٿي ۽ ٽنهي ٻولين ۾ WCAG 2.1 ليول AA تي قفل آهي (_context.md §2). هي سيڪشن NFR-A11Y-001…004 کي عملي شڪل ڏئي ٿو.

11.1 خودڪار (هر PR)

11.2 مينول (في ريليز)

11.3 فيز-2 (ملتوي، ٽريڪڊ)

پاڪستان سائن لينگويج سائن وڊيو گائيڊز (NFR-A11Y-005) ۽ ڊسليڪسيا دوست + وائس نيويگيشن موڊ (NFR-A11Y-006) فيز-2 جا آهن ۽ انهن جو پنهنجو ريليز گیٽ آهي؛ اهي V1 بلاڪرز ناهين.


12. سيڪيورٽي ٽيسٽنگ

سيڪيورٽي ٽيسٽنگ NFR-SEC-001…013 ۽ /specs/sd/11-security-compliance/ ۾ ڪنٽرول ڪيٽلاگ جي تصديق ڪري ٿي. اها مسلسل آٽوميشن کي آزاد ماھرانہ ريويو سان ڳنڍي ٿي.

12.1 مسلسل (CI/راتو رات)

چيڪ اوزار ڪيڊنس گیٽ
SCA (ڊپينڊنسيز، بيس اميجز) Snyk / Trivy هر بلڊ + راتو رات ڪريٽيڪل (CVSS ≥ 9) بلاڪ؛ 30 ڏينهن ۾ هاءِ (NFR-SEC-011)
ريپو/اميجز ۾ secrets gitleaks / trufflehog هر PR ڪا به فائنڊنگ بلاڪ (NFR-SEC-006)
DAST بيس لائن OWASP ZAP راتو رات ڪريٽيڪل/هاءِ فائنڊنگز ريليز بلاڪ (NFR-SEC-001/008)
محفوظ HTTP هيڊرز Mozilla Observatory / هيڊر چيڪ هر ريليز مَنزل گريڊ A (NFR-SEC-010)
TLS ڪنفيگريشن SSL Labs مانيٽر مسلسل A يا A+ (NFR-SEC-002)
اپ لوڊ اينٽي ميلوير ClamAV ورڪر ميٽرڪس؛ سيڊڊ EICAR ٽيسٽ سه ماهي زير انفيڪٽڊ فائلون ريليز (NFR-SEC-012)

12.2 اجازت ميٽرڪس ٽيسٽس (خودڪار)

هڪ پيراميٽرائزڊ ٽيسٽ ميٽرڪس هر role × هر حساس ايڪشن کي هلائي ٿو، اها دعويٰ ڪندي ته allow/deny /specs/sd/04-roles-permissions/ ۾ اجازت ميٽرڪس سان ملي ٿو. roles: ڪمپني بنيادي/ايڊمن/فائلر/ويور/نوٽيفائي؛ حڪومتي سیکشن عملو/آفيسر/محڪمو ايڊمن/DG/سيڪريٽري/سپر ايڊمن؛ پبلڪ وزٽر. ايڪشنز: ٽڪيٽ پڙهو، تبصرو لکو، حيثيت تبديل ڪريو، VIP بند ڪريو، PII ايڪسپورٽ ڪريو، بنيادي نمائندو تبديل ڪريو، فيچر فليگ ٽوگل ڪريو، آڊٽ لاگ پڙهو، وغيرہ. ڪا به بي ميل بلڊ بلاڪ ڪري ٿي.

12.3 ABAC ڪنفيڊنشل/VIP ٽيسٽس (خودڪار، 100 % گیٽ)

ڪنفيڊنشل/VIP رسائي چيڪ (§5.1) هڪ مخصوص ڪيس ميٽرڪس سان هلائي وڃي ٿو: ملندڙ ايٽريبيوٽ سان ۽ سواءِ هر عملي جو role، لسٽ ويو، سرچ نتيجا، براهِ راست URL رسائي، ۽ API ڪال ۾. متوقع نتيجو غير ملندڙ ڪيس لاءِ deny + log آهي؛ مرئيت زير هجڻ گهرجي (شمار، سرچ تجويزون، يا مسترد ڌر جي آڊٽ ريڊز ذريعي ڪا به لیکج ناهي).

12.4 آزاد پين ٽيسٽ (في ريليز گیٽ)

عوامي go-live کان اڳ، ان کان پوءِ سالياني، ۽ ڪنهن به سيڪيورٽي حساس تبديلي کان پوءِ آزاد بيروني نفوذ جانچ (NFR-SEC-007) ضروري آهي. دائرو:

ڪريٽيڪل فائنڊنگز 30 ڏينهن ۾، هاءِ 60 ڏينهن ۾ دور ڪيون وينديون آهن؛ بندش جو ثبوت فيز گیٽ تي ريويو ٿئي ٿو. پين ٽيسٽ رپورٽ ASVS L2 تعميل لاءِ بنيادي ثبوت آهي (NFR-SEC-001).


13. پرفارمنس ۽ لوڊ ٽيسٽنگ

پرفارمنس مَنزلَن NFR-PERF-001…011 ۾ مقدار ۾ بيان ڪيون ويون آهن؛ هي سيڪشن ٻڌائي ٿو ته انهن جي تصديق ڪيئن ٿئي ٿي. سڀئي پرفارمنس ٽيسٽس اسٽيجنگ ماحول خلاف هلن ٿا جيڪو پروڊڪشن ٽاپالوجي (NFR-PORT-001) جي عڪاسي ڪري ٿو حقيقت پسندانه ڪارڊينلٽي تي (§7.4).

13.1 مَنزل خلاصو (دستاويز 03 مان)

ڳڻتي مَنزل NFR
API read p95 ≤ 300 ms PERF-001
API write p95 ≤ 800 ms (async AI/OCR کان سواءِ) PERF-002
LCP (مٿيان 10 صفحا، 4G موبائل) ≤ 2.5 s PERF-003
AI خلاصو p95 ≤ 15 s PERF-004
OCR في صفحو p95 ≤ 30 s ڪلاؤڊ / ≤ 60 s آن پریم PERF-005
چيٽ پيغام e2e p95 ≤ 500 ms سنگل انسٽنس / ≤ 800 ms ڪراس انسٽنس PERF-006
DB query p95 ≤ 100 ms؛ slow-query ٿريشولڊ 500 ms PERF-007
متوازي يوزرز 5,000 authenticated، ≤ 1 % 5xx [TBD/confirm] PERF-008
سرچ p95 (مٿيان 10 شڪليون، 3 اسڪرپٽس) ≤ 250 ms PERF-010
اطلاع fan-out p95 ≤ 30 s فوري / ≤ 5 min ڊائجسٽ PERF-011

13.2 k6 منظرناما

13.3 AI/OCR ٽائم آئوٽ ۽ گريس فل ڊيگريڊيشن


14. ريگريشن اسٽريٽيگي

ريگريشن انهن روين جي حفاظت ڪري ٿي جيڪي اڳ ۾ ڪم ڪن ٿا جڏهن ته نئون ڪوڊ شيپ ٿئي ٿو. SITP ريگريشن رسک ويٽڊ آهي، "هميشہ سڀ ڪجهه هلائو" ناهي.

سوٽ ٽرگر مواد
في PR ريگريشن هر پل رڪوئسٽ يونٽ + انٽيگريشن + e2e اسموڪ (EN، مٿيان سفر) + §9 مان P0 TCs
راتو رات ريگريشن main تي راتو رات ٽنهي لوڪيلز + LTR/RTL ۾ مڪمل e2e، ZAP DAST، ڪنٽريڪٽ ٽيسٽس
ريليز اڳ ريگريشن هر ريليز ڪينڊيڊيٽ راتو رات سوٽ + k6 لوڊ + رسائي آڊٽ + مڪمل §9 ڪيٽلاگ (P0 + P1)
اثر تي مبني ذيلي سيٽ تبديل ٿيل ماڊيول تجزيي سان خودڪار چونڊيل چُٽيل ماڊيول(s) ۽ انهن جي ڊپينڊنٽس لاءِ ٽيگڊ ٽيسٽس پهرين هلن ٿا؛ مڪمل سوٽ بڪ اسٽاپ طور هلندو آهي

ٽيگنگ. هر ٽيسٽ سان ٽيگ ٿيل آهي: ماڊيول ڪوڊ (جهڙوڪ، TKT، ORG)، ترجيح (P0/P1/P2)، لوڪيل (EN/UR/SD)، سمت (LTR/RTL)، ۽ اصلي US-/FR- IDs. هي هاءِ فڪس برانچز تي تيز، مَنزل ريگريشن کي قابل بنائي ٿو.

بائسيڪشن. هڪ ريگريشن جيڪا main ۾ ايندي آهي بائسيڪٽيبل آهي ڇوته راتو رات سوٽ في ڪمٽ گرين/ريڊ سگنل ڏئي ٿي؛ P0 ريگريشنز لاءِ خطاوار ڪمٽ ساڳئي ڪاروباري ڏينهن ۾ ريورٽ ڪيو وڃي ٿو.


15. UAT پلان

يوزر ايڪسپٽنس ٽيسٽنگ اها جاءِ آهي جتي پائلٽ محڪما ۽ IT ڪمپنين جو هڪ گروھ تصديق ڪري ٿو ته سسٽم حقيقي ڪم لاءِ ڪم ڪري ٿو، صرف ٽيسٽ سوٽ لاءِ ناهي. UAT هر فيز جي لائيو ٿيڻ کان اڳ هيومن گیٽ آهي (/specs/sd/14-roadmap-release/ مطابق).

15.1 پائلٽ اسٽرڪچر

پائلٽ شرڪاءِ دائرو مدت ايگزٽ مالڪ
پائلٽ 1 — S&ITD اندروني S&ITD سهولت ڊيسڪ عملو (5–10) صرف اندروني ٽڪيٽن تي ٽڪيٽ لائف سائيڪل اینڊ ٽو اینڊ 2 هفتا S&ITD سيڪريٽري
پائلٽ 2 — سنگل محڪمو هڪ لائن محڪمو (جهڙوڪ، ليبر يا SRB) + 5 IT ڪمپنيون حقيقي محڪمي خلاف حقيقي ڪمپنين جا حقيقي ٽڪيٽ 4 هفتا متعلقہ محڪمو سيڪريٽري + S&ITD
پائلٽ 3 — ملٽي محڪمو 3–5 محڪما + 20 IT ڪمپنيون TRI ميٽنگ + MoM سميت مڪمل ٽن ڌرين وارو فلوف 4 هفتا S&ITD سيڪريٽري
پائلٽ 4 — پبلڪ لانچ ريمپ سڀني رجسٽرڊ ڪمپنين لاءِ اوپن بيٽا حجم، چينل مڪس، حقيقي لوڊ هيٺ AI فيچرز 2 هفتا S&ITD سيڪريٽري + MAAHIR

15.2 UAT اینٽري معيار

15.3 UAT ايگزٽ معيار (دستخط)

15.4 فيڊبیک لوپ

پائلٽ فائنڊنگز uat- ليبل سان نقص ٽريڪر (§16) ۾ وهن ٿيون؛ پیٽرن (جهڙوڪ، ڪنهن فلوف ۾ ورندڙ الجھن) /specs/sd/10-ux-sitemap-flows/ ۽ KB/SOPs (ايپڪ E10) ۾ واپس وهن ٿا.


16. خاميءَ جو انتظام

شدت تعريف مَنزل حل ريليز اثر
P0 — ڪريٽيڪل بنيادي سفر بلاڪ؛ ڊيٽا نقصان؛ سيڪيورٽي/پرائيويسي خلاف ورزي؛ پيسہ/SLA نمائش ساڳئي ڪاروباري ڏينهن؛ هاءِ فڪس ريليز بلاڪ
P1 — هاءِ وڏي فيچر ڪنهن به ورڪ ارائونڊ کان سواءِ ٽُٽي، يا [M] AC تي غلط رويو 1 اسپرنٽ اندر پلان سان قبول نه ٿيڻ تائين ريليز بلاڪ
P2 — ميڊيم فيچر ورڪ ارائونڊ سان ٽُٽي، يا [S]/[C] AC تي غلط رويو 2 اسپرنٽس اندر ليڊ جي صوابدید تي ريليز
P3 — لو ڪاسمیٽڪ، معمولي UX، دستاويزون بیک لاگ ڪا به ريليز اثر ناهي

ورڪ فلوف. هر نقص سان لاگ ڪيو وڃي ٿو: ٻيهر قابل قدما، متوقع بمقابله حقيقي، ماحول، لوڪيل، ناڪام TC- (يا "no TC" → نئون TC متحرڪ ڪري ٿو)، شدت، ۽ اسٽيجنگ/پروڊڪشن لاگ مان trace_id. خاميون جي ٽرایج UAT دوران روزانو ۽ ٻي صورت ۾ هفتيوار ٿيندي آهي. هڪ نقص جنهن لاءِ ڪوڊ تبديلي ضروري هئي ان کي ضرور هڪ ٽيسٽ ڪيس شامل ڪرڻ يا اپ ڊيٽ ڪرڻ گهرجي جيڪو ان کي پڪڙي ها — لوپ بند ڪرڻ ۽ ريگريشن سوٽ وڌائڻ (NFR-RELY-004 طرزِ خيال).

فلیڪينیس پاليسي. هڪ فلیڪي ٽيسٽ هڪ نقص آهي. ان کي هڪ واقعي اندر قرنطينو ڪيو وڃي ٿو ۽ يا ته ٺهڪايو (تعين) يا هڪ اسپرنٽ اندر ٻيهر لکيو وڃي ٿو؛ اها هڪ معلوم غير مستحڪم گیٽ طور ناهي رهندي.


17. ٽريسيبلٽي

ٽريسيبلٽي ٻه طرفو آهي ۽ اها آڊٽ ثبوت آهي ته هر شيپ ٿيل صلاحيت تصديق ٿيل آهي ۽ هر ٽيسٽ ڪنهن دستاويز ٿيل سبب لاءِ موجود آهي. زنجير هي آهي:

FR (FR-<MOD>-<nnn>) → US (US-<EPIC>-<nnn>) → AC (Gherkin Scenario) → TC (TC-<EPIC>-<nnn>-<nn>) → ٽيسٽ ليئر + NFR مَنزل.

17.1 نمائنده ٽريسيبلٽي اقتباس

FR US AC (Scenario) TC ليئر NFR
FR-TKT-001/002/004 US-TKT-001 ڪامياب جمع ڪرائي بامعنيٰ ٽريڪنگ ID جنريٽ ڪري ٿي TC-TKT-001-01 انٽيگريشن + e2e PERF-002
FR-TKT-013/014 US-TKT-006 حل لاءِ ثبوت ۽ نوٽ ضروري TC-TKT-006-01 يونٽ + انٽيگريشن AUD-001
FR-TKT-015 US-TKT-006 CSAT ونڊو کان پوءِ آٽو بند TC-TKT-006-02 انٽيگريشن PERF-011
FR-TKT-015/016 US-TKT-006 ڪمپني مسترد / اپيل TC-TKT-006-03 انٽيگريشن + e2e
FR-ORG-006/007 US-ORG-005 نگراني roles في اسڪيليشن ٽائر مطلع TC-ORG-005-01 يونٽ + انٽيگريشن PERF-011
FR-ORG-010 US-ORG-007 ڪنفيڊنشل/VIP ايٽريبيوٽ تي مبني رسائي نافذ TC-ORG-007-01 انٽيگريشن + e2e AUD-004، PRIV-003
FR-NOT-003 US-NOT-003 اي ميل جواب ٽڪيٽ ۾ شامل TC-NOT-003-01 انٽيگريشن SEC-009
FR-AI-002/003 US-TKT-002/US-AI-002 AI ڪانفڊنس سان روٽنگ تجويز؛ اوورائڊ لاگڊ TC-TKT-002-01 انٽيگريشن OBS-007
FR-AI-001 US-AI-001 OCR هر اسڪرپٽ ۾ ٽيڪسٽ ڪڍي ٿو TC-AI-001-01 انٽيگريشن PERF-005
FR-AI-012 US-AI-006/US-MTG-003/004 MoM اپ لوڊ اسٽرڪچرڊ ايڪشن آئٽمز ڏئي ٿو TC-AI-006-01 انٽيگريشن + e2e PERF-004/005
FR-MTG-015/018 US-MTG-005 حساس MoM لاءِ منظوري ضروري TC-MTG-005-01 انٽيگريشن AUD-004
FR-FILE-003 US-FILE-002 انفيڪٽڊ فائل قرنطينو TC-FILE-002-01 انٽيگريشن SEC-012
FR-INT-001 US-INT-001 NADRA آئوٽيج گريس فللي ڊيگريڊ TC-INT-001-01 انٽيگريشن RELY-001/003
FR-INT-004 US-INT-004 OIDC SSO + step-up 2FA TC-INT-004-01 انٽيگريشن + e2e SEC-004/005
FR-DOC-011 US-DOC-003 QR تصديق ٽيمپرڊ خط مسترد TC-DOC-003-01 انٽيگريشن + e2e
FR-TRN-006 US-TRN-002 exam گیٽ لائيو تفويض بلاڪ TC-TRN-002-01 انٽيگريشن
FR-FFG-001/002 US-FFG-001/002 فليج غير فعال + فيل سيف ڊيفالٽ TC-FFG-001-01 انٽيگريشن AVAIL-003
FR-PUB-001/002 US-PUB-001 سڀئي پبلڪ صفحا 3 لوڪيلز + RTL ۾ TC-PUB-001-01 e2e + i18n I18N-001/002

17.2 قبوليت معيارن جي ڪوريج

لانچ ريڊينس لاءِ ضروري آهي ته /specs/sd/01-prd/ ۾ هر [M] قبوليت جي معيار لاءِ گهٽ ۾ گهٽ هڪ ڪامياب خودڪار ٽيسٽ ڪيس هجي (§1.2). QA ٽيسٽ مئنيجمينٽ ٽول في ريليز ٽريسيبلٽي ميٽرڪس رپورٽ تيار ڪري ٿو جاڪا ڏيکاري ٿي ته، هر اپڪ لاءِ، ڪل ACs جي مقابلي ۾ passing-TCs سان ACs جو تناسب؛ [M] ACs لاءِ 100 % کان گهٽ قدر ريلیز گیٽ بلاڪ ڪري ٿي.

17.3 ڪراس دستاويز حوالا


18. RACI خلاصو

سرگرمي ذمہ وار جوابده مشورو ورتو ويو مطلع ڪيو ويو
يونٽ ۽ انٽيگريشن سوٽس MAAHIR انجنيئرنگ MAAHIR QA ليڊ S&ITD پروڊڪٽ S&ITD سيڪريٽري
e2e + پرفارمنس + a11y آٽوميشن MAAHIR QA MAAHIR QA ليڊ انجنيئرنگ، UX S&ITD
آزاد پين ٽيسٽ بيروني سيڪيورٽي فرم S&ITD سيڪريٽري MAAHIR، Server4Sale CII/CERT-PK رابطو
مينول a11y / اسڪرين ريڊر آڊٽ MAAHIR QA + a11y کنسلٽنٽ MAAHIR QA ليڊ UX S&ITD
لساني ريويو (UR/SD) منظور ٿيل ريويورز S&ITD پروڊڪٽ MAAHIR
UAT ايگزيڪيوشن پائلٽ محڪمو عملو + IT ڪمپنيون پائلٽ محڪمو سيڪريٽري MAAHIR QA S&ITD سيڪريٽري
نقص ٽرایج MAAHIR QA ليڊ MAAHIR ڊيليوري ليڊ انجنيئرنگ S&ITD پروڊڪٽ
ريلیز دستخط MAAHIR ڊيليوري ليڊ S&ITD سيڪريٽري مٿيون سڀ عوام (اسٽيٽس پیج)

19. فيز هم آهنگي

هي اسٽريٽيگي /specs/sd/14-roadmap-release/ ۾ روڊ ميپ مطابق وڌندڙ لاڳو ٿيندي آهي:

فيز ٽيسٽ فوڪس
فيز 0 — دريافت بنيادون وائر ڪريو: يونٽ/انٽيگريشن هارنيس، ڪوريج گیٽ، CI گیٽس، locale-diff، axe/Pa11y، SCA/secrets
فيز 1 — MVP بنياد E1–E4 + E7 لاءِ مڪمل يونٽ + انٽيگريشن + e2e؛ رسائي؛ i18n (EN+UR+SD)؛ سيڪيورٽي آٽوميشن؛ پائلٽ 1–2
فيز 2 — AI + سنڌي + SLA AI/OCR سوٽ، پرفارمنس (PERF-004/005/006)، قابلِ اعتماد/فالٽ انجيڪشن، مييوٽيشن ٽيسٽنگ، پائلٽ 3
فيز 3 — اپيل، انٽيگريشنز، سيڪيورٽي ايڊاپٽر انٽيگريشن ٽيسٽس، مڪمل پين ٽيسٽ، ڪنٽريڪٽ ٽيسٽس، پائلٽ 4 / پبلڪ ريمپ
فيز 4 — موبائل، اعلیٰ PWA آف لائن ٽيسٽس، موبائل ڊوائيس ميٽرڪس، Compose→K8s ٽيبل ٽاپ

20. کُليون شيون [TBD/confirm]

شئي مالڪ فيصلو ضروري بذريعي
ٽيسٽ مئنيجمينٽ ٽول چونڊ (TestRail بمقابله Zephyr Scale) MAAHIR QA ليڊ فيز-0 گیٽ
مييوٽيشن ٽيسٽنگ (Stryker) شموليت دائرو MAAHIR انجنيئرنگ فيز-2 گیٽ
پرفارمنس ٽيسٽس لاءِ انونيمائزڊ پروڊڪشن نمونو پائيپ لائن MAAHIR آپس + S&ITD فيز-2 گیٽ
آزاد پين ٽيسٽ وينڊر چونڊ S&ITD سيڪريٽري فيز-1 گیٽ
UAT پائلٽ محڪمو سڃاڻپون (پائلٽ 2–4) S&ITD پروڊڪٽ فيز-1 گیٽ

انهن شين کي /specs/sd/14-roadmap-release/ ۾ بندش تائين ٽريڪ ڪيو وڃي ٿو ۽ جيئن فيصلا ٿينديا آهن هن دستاويز ۾ واپس ظاهر ڪيا وڃن ٿا.


دستاويز جو خاتمو.