Kế hoạch Kiểm thử (Test Plan) Website Thương mại Điện tử — Công ty Máy tính TechVN Thông tin tài liệu Mã tài liệu TP-TECHVN-ECOM-2026-001 Phiên bản 1.0 Ngày tạo 10/05/2026 Ngày cập nhật 10/05/2026 Tác giả Võ Thanh Tùng — QA Lead Đồng tác giả Lê Thị Hồng — Senior QA Engineer Người phê duyệt Lê Văn Cường — CTO Trạng thái Đã phê duyệt (Approved) Mức độ bảo mật Nội bộ (Internal) SRS tham chiếu SRS-TECHVN-ECOM-2026-001 v1.0 UCS tham chiếu UCS-TECHVN-ECOM-2026-001 v1.0
Lịch sử thay đổi Phiên bản Ngày Người thay đổi Mô tả 0.1 01/05/2026 Võ Thanh Tùng Khởi tạo, phạm vi và chiến lược 0.5 05/05/2026 Lê Thị Hồng Bổ sung tiêu chí, lịch trình, rủi ro 1.0 10/05/2026 Võ Thanh Tùng Hoàn thiện sau phê duyệt
Mục lục Giới thiệu Phạm vi kiểm thử Chiến lược kiểm thử Môi trường kiểm thử Lịch trình kiểm thử Nguồn lực Tiêu chí kiểm thử Quản lý lỗi (Defect Management) Rủi ro kiểm thử Deliverables Phụ lục 1. Giới thiệu 1.1 Mục đích Tài liệu này mô tả kế hoạch kiểm thử tổng thể cho dự án Website TMĐT TechVN, bao gồm chiến lược, phạm vi, nguồn lực, lịch trình, tiêu chí chấp nhận và quy trình quản lý lỗi. Tài liệu phục vụ làm kim chỉ nam cho toàn bộ hoạt động QA trong dự án.
1.2 Đối tượng sử dụng Đối tượng Mục đích QA Team Thực hiện kiểm thử theo kế hoạch Development Team Hiểu tiêu chuẩn chất lượng, phối hợp fix bug Product Owner Phê duyệt tiêu chí chấp nhận, ưu tiên bug CTO / Tech Lead Review chiến lược, phân bổ nguồn lực Project Manager Theo dõi tiến độ, quản lý rủi ro
1.3 Tài liệu tham chiếu Mã Tên tài liệu SRS-TECHVN-ECOM-2026-001 Đặc tả Yêu cầu Phần mềm UCS-TECHVN-ECOM-2026-001 Đặc tả Use Case US-TECHVN-ECOM-2026-001 User Stories & Acceptance Criteria SA-TECHVN-2026-001 Solution Architecture Document PRD-TECHVN-2026-001 Product Requirements Document IEEE 829-2008 Standard for Software Test Documentation
2. Phạm vi kiểm thử 2.1 Trong phạm vi # Module Mô tả Mức ưu tiên 1 Quản lý tài khoản Đăng ký, đăng nhập, quên mật khẩu, OAuth, quản lý hồ sơ P1 2 Catalog sản phẩm Danh mục, chi tiết SP, tìm kiếm, lọc, so sánh P1 3 Giỏ hàng Thêm, sửa, xóa SP, merge giỏ guest/member P1 4 Checkout & Đặt hàng Quy trình 3 bước, validate, tạo đơn P1 5 Thanh toán COD, VNPAY, MoMo, Chuyển khoản, Trả góp P1 6 Vận chuyển Tính phí, tạo vận đơn, tracking P1 7 Đơn hàng (Khách) Theo dõi, hủy, yêu cầu hoàn trả P1 8 Đánh giá sản phẩm Viết, duyệt, hiển thị review P2 9 Khuyến mãi Mã giảm giá, flash sale P2 10 Thông báo Email, SMS, Push notification P2 11 Admin — Quản lý SP CRUD, import, SEO P1 12 Admin — Quản lý ĐH Xác nhận, vận chuyển, hoàn tiền P1 13 Admin — Dashboard Báo cáo, thống kê P2 14 Admin — Phân quyền RBAC, quản lý user admin P1 15 SEO & Performance Core Web Vitals, structured data P2 16 Bảo mật OWASP Top 10, authentication, authorization P1
2.2 Ngoài phạm vi # Hạng mục Lý do 1 Mobile App native Chưa phát triển trong giai đoạn này 2 Hệ thống ERP nội bộ (SAP B1) Chỉ test tích hợp API, không test SAP 3 Hạ tầng AWS (network, hardware) Trách nhiệm của AWS managed services 4 Nội dung sản phẩm (văn bản, hình ảnh) Trách nhiệm của Content Team
3. Chiến lược kiểm thử 3.1 Các cấp độ kiểm thử ┌──────────────────────────────────────────────────────────┐
│ THÁP KIỂM THỬ │
│ │
│ /\ │
│ / \ Manual │
│ / E2E\ Exploratory │
│ / Tests \ UAT │
│ /──────────\ │
│ / Integration\ API Tests │
│ / Tests \ Contract Tests │
│ /────────────────\ │
│ / Unit Tests \ Component Tests │
│ /____________________\ │
│ │
│ Tỷ lệ mục tiêu: │
│ Unit: 70% | Integration: 20% | E2E: 10% │
└──────────────────────────────────────────────────────────┘ Cấp độ Mô tả Công cụ Trách nhiệm Coverage Target Unit Test Kiểm thử từng hàm, method, component riêng lẻ Jest, React Testing Library Developer ≥ 80% (business logic) Integration Test Kiểm thử tương tác giữa các module, API endpoints Jest + Supertest, TestContainers Developer + QA ≥ 70% (API endpoints) E2E Test Kiểm thử luồng nghiệp vụ hoàn chỉnh trên browser Playwright QA 100% critical paths Manual Test Kiểm thử thủ công các kịch bản phức tạp, UX N/A QA Theo test case Exploratory Test Kiểm thử khám phá, tìm bug ngoài kịch bản N/A QA Senior Mỗi sprint 4 giờ
3.2 Các loại kiểm thử Loại Mô tả Thời điểm Công cụ Trách nhiệm Functional Testing Kiểm thử chức năng theo SRS và Use Case Mỗi Sprint Manual + Playwright QA Team Regression Testing Kiểm thử hồi quy — đảm bảo code mới không phá code cũ Mỗi Sprint (sau fix bug) Playwright (automated) QA + CI/CD Smoke Testing Kiểm thử nhanh các chức năng chính sau deploy Sau mỗi deployment Playwright (suite nhỏ) QA / CI/CD API Testing Kiểm thử REST API: request/response, status code, validation Song song với dev Supertest, Postman QA UI/UX Testing Kiểm thử giao diện, responsive, cross-browser Sau complete UI Manual, BrowserStack QA Performance Testing Kiểm thử tải, stress, endurance Trước UAT k6, Lighthouse QA + DevOps Security Testing Kiểm thử bảo mật: OWASP, penetration test Trước Go-live OWASP ZAP, manual pentest Security Team Compatibility Testing Kiểm thử đa trình duyệt, thiết bị Trước UAT BrowserStack, thiết bị thật QA Accessibility Testing Kiểm thử khả năng tiếp cận (WCAG 2.1 AA) Trước Go-live axe-core, Lighthouse QA UAT (User Acceptance) Kiểm thử chấp nhận bởi người dùng nghiệp vụ Trước Go-live Manual PO + Business Users Load Testing Kiểm thử khả năng chịu tải đồng thời Trước Go-live k6 QA + DevOps
3.3 Chiến lược kiểm thử theo Release Release Loại test Phạm vi Automation R1 — MVP Functional, API, UI, Smoke, Regression UC-01→06, UC-07→08, UC-12, UC-14 (COD), UC-18→19, UC-23, UC-25 Unit + Integration (CI) R2 — Payment Functional, API, Integration (sandbox), Security UC-15→17, UC-16, tích hợp VNPAY/MoMo/GHTK/GHN + E2E critical paths R3 — Growth Functional, API, UI, Performance, Regression UC-09→11, UC-13, UC-20, UC-22, UC-27 + E2E regression suite Pre-Go-live Full Regression, Performance, Security, Compatibility, Accessibility, UAT Toàn bộ hệ thống Full automated suite
3.4 Phương pháp thiết kế Test Case Kỹ thuật Áp dụng cho Ví dụ Equivalence Partitioning Input validation (giá, SĐT, email, mật khẩu) Giá: <0, 0, 1-999999999, >999999999 Boundary Value Analysis Giới hạn số lượng, ký tự, phân trang Mật khẩu: 7 ký tự (fail), 8 ký tự (pass) Decision Table Logic phức tạp nhiều điều kiện Áp dụng mã giảm giá (loại + điều kiện + đối tượng) State Transition Luồng trạng thái Trạng thái đơn hàng: 11 trạng thái, N chuyển tiếp Use Case Based Luồng nghiệp vụ E2E Đăng ký → Duyệt SP → Mua → Thanh toán → Nhận hàng Error Guessing Dựa trên kinh nghiệm Unicode trong tên, SQL injection trong search Pairwise Testing Kết hợp nhiều tham số Browser × OS × Device × Resolution
4. Môi trường kiểm thử 4.1 Ma trận môi trường Môi trường URL Mục đích Dữ liệu Deploy Development dev.techvn.vn Dev testing, unit/integration test Seed data (fake) Auto (push to develop) Staging staging.techvn.vn QA testing, regression, UAT Clone từ prod (anonymized) Auto (merge to main) Pre-production preprod.techvn.vn Performance test, security test, final check Clone từ prod (anonymized) Manual trigger Production techvn.vn Live Real data Manual approval
4.2 Cấu hình môi trường Staging Component Cấu hình Frontend Next.js trên ECS Fargate (1 task, 0.5 vCPU, 1GB) Backend NestJS trên ECS Fargate (1 task, 1 vCPU, 2GB) Database PostgreSQL RDS (db.t3.medium, single-AZ) Cache Redis ElastiCache (cache.t3.small) Search OpenSearch (t3.small.search, 1 node) Thanh toán VNPAY Sandbox, MoMo Sandbox Vận chuyển GHTK Sandbox, GHN Sandbox Email AWS SES (sandbox — chỉ gửi đến verified email) SMS SpeedSMS sandbox (không gửi thật)
4.3 Thiết bị và Trình duyệt kiểm thử Desktop:
Trình duyệt Phiên bản Hệ điều hành Ưu tiên Google Chrome Latest, Latest-1 Windows 11, macOS 14 P1 Mozilla Firefox Latest, Latest-1 Windows 11 P2 Microsoft Edge Latest Windows 11 P2 Safari Latest macOS 14 P2
Mobile / Tablet:
Thiết bị Trình duyệt Độ phân giải Ưu tiên iPhone 15 Pro Safari 393 × 852 P1 iPhone 13 Safari 390 × 844 P2 Samsung Galaxy S24 Chrome 360 × 780 P1 Samsung Galaxy A54 Chrome 360 × 800 P2 iPad Air (10.9") Safari 820 × 1180 P2 Xiaomi Redmi Note 13 Chrome 393 × 873 P3
4.4 Test Data Loại dữ liệu Nguồn Số lượng Ghi chú Sản phẩm Seed script + Excel import 500 SKU (đại diện tất cả danh mục) Bao gồm SP có/không variant, hết hàng, khuyến mãi Khách hàng Seed script 100 tài khoản test Bao gồm: mới, VIP, bị khóa, chưa verify Đơn hàng Seed script 200 đơn (đủ 11 trạng thái) Bao gồm: COD, VNPAY, trả góp Mã giảm giá Seed script 20 mã (đủ các loại) Bao gồm: %, cố định, freeship, hết hạn, hết lượt Admin accounts Seed script 5 (đủ 5 roles) Super Admin, QL SP, QL ĐH, CSKH, Marketing Địa chỉ API tỉnh/huyện/xã thật 63 tỉnh, ~700 huyện, ~11.000 xã Import từ API danhmuchanhchinh.gso.gov.vn
5. Lịch trình kiểm thử 5.1 Timeline theo Release 2026
May Jun Jul Aug Sep Oct Nov Dec
├───────┼────────┼────────┼────────┼────────┼────────┼────────┤
│ │ R1 - MVP Testing │ R2 Testing │ R3 Test │
│ │ │ │ │
│ Test │ Sprint │ Sprint │ Sprint │ Sprint │Sprint │Sprint │
│ Plan │ 1 QA │ 2 QA │ 3 QA │ 4 QA │5 QA │6 QA │
│ │ │ │ │ │ │ │
│ │ │ │ UAT R1 │ │UAT R2 │ Perf │
│ │ │ │ │ │ │ Sec │
│ │ │ │ │ │ │ UAT R3 │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │GO-LIVE │
└───────┴────────┴────────┴─────────┴────────┴───────┴────────┘
▲
01/11/2026 5.2 Hoạt động QA trong mỗi Sprint (2 tuần) Ngày Hoạt động Output Ngày 1-2 Review user stories, viết test case cho sprint hiện tại Test cases mới Ngày 3-8 Test các feature đã hoàn thành (dev deploy lên staging) Bug reports Ngày 9 Regression test (chạy automated suite) Regression report Ngày 10 Bug verification, update test results, Sprint QA report Sprint QA Report
5.3 Lịch trình kiểm thử đặc biệt Hoạt động Thời gian Thời lượng Phụ trách Performance Testing (R1) 25-29/08/2026 5 ngày QA + DevOps Security Testing (R1) 01-05/09/2026 5 ngày Security Team UAT (R1) 08-19/09/2026 10 ngày PO + Business Users Compatibility Testing 22-26/09/2026 5 ngày QA Performance Testing (Full) 20-24/10/2026 5 ngày QA + DevOps Security Pentest (Full) 20-24/10/2026 5 ngày Security Team (bên ngoài) UAT Final 27-31/10/2026 5 ngày PO + Stakeholders Go-live Smoke Test 01/11/2026 4 giờ QA Lead
6. Nguồn lực 6.1 Đội ngũ QA Vai trò Số lượng Trách nhiệm QA Lead 1 Lập kế hoạch, phân công, review, báo cáo, phối hợp stakeholder Senior QA Engineer 1 Thiết kế test case phức tạp, automation framework, performance test QA Engineer 2 Thực hiện test manual, viết test case, log bug QA Automation 1 (part-time / shared) Phát triển và bảo trì E2E automation suite
6.2 Công cụ Công cụ Mục đích License Jira Quản lý test case, bug tracking Cloud (đã có) Confluence Tài liệu test, báo cáo Cloud (đã có) Jest Unit + Integration test MIT (miễn phí) Playwright E2E automation Apache 2.0 (miễn phí) Postman API testing manual Free tier k6 Performance / Load testing Open source Lighthouse Performance, SEO, Accessibility audit Chrome built-in OWASP ZAP Security scanning Open source BrowserStack Cross-browser testing $29/tháng axe-core Accessibility testing MPL 2.0 (miễn phí) GitHub Actions CI/CD — chạy automated tests Đã có
7. Tiêu chí kiểm thử 7.1 Tiêu chí bắt đầu (Entry Criteria) # Tiêu chí Xác minh bởi 1 SRS / User Stories đã được phê duyệt cho sprint hiện tại PO sign-off 2 Môi trường Staging sẵn sàng và ổn định DevOps confirmation 3 Build đã pass CI pipeline (unit + integration tests) CI report 4 Test data đã được chuẩn bị QA confirmation 5 Feature đã được dev deploy lên Staging Dev confirmation
7.2 Tiêu chí dừng (Suspension Criteria) # Tiêu chí Hành động 1 Môi trường Staging sập > 4 giờ Báo DevOps, chuyển sang viết test case / review 2 Bug blocker chặn toàn bộ luồng test Báo Dev, đợi fix, test exploratory khu vực khác 3 > 50% test cases bị block do dependency Họp với Dev Lead đánh giá lại sprint scope
7.3 Tiêu chí kết thúc (Exit Criteria) Cho mỗi Sprint:
# Tiêu chí Target 1 Test case execution rate ≥ 95% 2 Test case pass rate ≥ 90% 3 Không có bug Severity 1 (Blocker) chưa fix 0 open 4 Bug Severity 2 (Critical) chưa fix ≤ 2 open (có workaround) 5 Regression suite pass 100%
Cho Go-live:
# Tiêu chí Target 1 Tất cả test case P1, P2 đã executed 100% 2 Test case pass rate tổng thể ≥ 95% 3 Bug Severity 1 (Blocker) open 0 4 Bug Severity 2 (Critical) open 0 5 Bug Severity 3 (Major) open ≤ 5 (có plan fix trong sprint sau go-live) 6 Performance test pass LCP ≤ 2.5s, API P95 ≤ 500ms, 5K CCU 7 Security test pass Không có vulnerability Critical / High 8 UAT sign-off PO + Business stakeholders ký 9 Cross-browser pass Chrome, Firefox, Safari, Edge (latest) 10 Lighthouse score Performance ≥ 90, SEO ≥ 90, Accessibility ≥ 85
8. Quản lý lỗi 8.1 Phân loại Severity Severity Tên Mô tả Ví dụ SLA Fix S1 Blocker Hệ thống không hoạt động, không có workaround, ảnh hưởng toàn bộ người dùng Website sập, không thể đặt hàng, mất dữ liệu 4 giờ S2 Critical Chức năng chính bị lỗi nghiêm trọng, có workaround phức tạp Thanh toán VNPAY lỗi (có thể dùng COD), tìm kiếm trả kết quả sai 1 ngày làm việc S3 Major Chức năng phụ bị lỗi hoặc chức năng chính bị lỗi nhỏ Bộ lọc không reset khi đổi danh mục, email xác nhận thiếu thông tin 3 ngày làm việc S4 Minor Lỗi giao diện, UX không tối ưu, không ảnh hưởng chức năng Typo, alignment sai 2px, tooltip bị cắt 1 sprint S5 Trivial Cải thiện nhỏ, cosmetic Font size chưa đúng design, khoảng cách padding Backlog
8.2 Phân loại Priority Priority Tên Mô tả P1 Urgent Fix ngay lập tức, block release P2 High Fix trong sprint hiện tại P3 Medium Fix trong sprint tiếp theo P4 Low Fix khi có bandwidth, đưa vào backlog
8.3 Bug Lifecycle ┌─────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌────────┐
│ New │───>│ Open │───>│ In │───>│ Ready │───>│Verified│
│ │ │ (Assigned│ │ Progress │ │ for Test │ │ │
└─────────┘ │ to Dev) │ │ (Dev fix) │ │ │ └───┬────┘
└────┬─────┘ └───────────┘ └──────────┘ │
│ │
│ Không tái hiện / Duplicate / By Design │
│ │
▼ ┌─────▼────┐
┌──────────┐ │ Closed │
│ Rejected │ │ │
└──────────┘ └──────────┘
▲
│
┌──────────┐ Verify fail → Reopen │
│ Reopened │──── (back to In Progress) ─────────────┘
└──────────┘ 8.4 Bug Report Template [BUG-XXXX] Tiêu đề ngắn gọn mô tả lỗi
Severity: S2 - Critical
Priority: P1 - Urgent
Module: Checkout
Environment: Staging (staging.techvn.vn)
Browser: Chrome 125 / Windows 11
Assigned to: [Developer Name]
Reporter: [QA Name]
Sprint: Sprint 3
--- MÔ TẢ ---
Mô tả chi tiết lỗi gặp phải.
--- CÁC BƯỚC TÁI HIỆN ---
1. Đăng nhập bằng tài khoản [email protected]
2. Thêm sản phẩm "ASUS ROG Strix G16" vào giỏ hàng
3. Vào trang Checkout, chọn địa chỉ TP.HCM
4. Chọn thanh toán VNPAY
5. Nhấn "Đặt hàng"
--- KẾT QUẢ THỰC TẾ ---
Hiển thị lỗi "Internal Server Error 500" thay vì redirect đến VNPAY.
--- KẾT QUẢ MONG ĐỢI ---
Hệ thống tạo đơn hàng và redirect đến cổng VNPAY sandbox.
--- BẰNG CHỨNG ---
- Screenshot: [đính kèm]
- Console log: [đính kèm]
- API response: [đính kèm]
- Video: [link nếu có]
--- GHI CHÚ ---
- Lỗi chỉ xảy ra khi giỏ hàng có ≥ 2 sản phẩm.
- Thanh toán COD hoạt động bình thường.
- Error log: "TypeError: Cannot read property 'items' of undefined" 9. Rủi ro kiểm thử # Rủi ro Xác suất Tác động Biện pháp giảm thiểu R1 Thiếu nhân lực QA khi sprint dồn feature Trung bình Cao Ưu tiên test P1, tăng automation, tuyển thêm QA nếu cần R2 Sandbox thanh toán VNPAY/MoMo không ổn định Trung bình Trung bình Sử dụng mock service cho integration test, test sandbox khi ổn định R3 Môi trường Staging thường xuyên bất ổn Thấp Cao DevOps monitoring staging, có SLA staging uptime R4 Yêu cầu thay đổi liên tục → test case bị outdated Trung bình Trung bình Review test case mỗi sprint, automation giảm effort regression R5 Performance test cho thấy hệ thống không đạt target Thấp Cao Test sớm từ R1, fix performance issues liên tục R6 Không đủ thiết bị mobile để test Thấp Thấp Sử dụng BrowserStack, mua/mượn thiết bị phổ biến R7 Bug rate quá cao dẫn đến trễ release Trung bình Cao Code review chặt, dev viết unit test, definition of done bao gồm QA
10. Deliverables # Deliverable Thời điểm Người nhận 1 Test Plan (tài liệu này) Trước khi bắt đầu test Tất cả stakeholders 2 Test Case Specification Mỗi Sprint (incremental) QA Team, Dev Team 3 Sprint QA Report Cuối mỗi Sprint PO, PM, Tech Lead 4 Bug Reports Liên tục (Jira) Dev Team 5 Regression Test Report Mỗi Sprint + Pre-release PM, Tech Lead 6 Performance Test Report Trước UAT, trước Go-live CTO, DevOps 7 Security Test Report Trước Go-live CTO, Security Lead 8 UAT Report & Sign-off Trước Go-live PO, CEO 9 Go-live Readiness Report 1 ngày trước Go-live Tất cả stakeholders 10 Test Summary Report Sau Go-live Tất cả stakeholders
11. Phụ lục 11.1 Template Sprint QA Report # Sprint QA Report — Sprint [X]
Ngày: [DD/MM/YYYY]
QA Lead: [Tên]
## Tóm tắt
- Test cases tổng: XX
- Executed: XX (XX%)
- Pass: XX (XX%)
- Fail: XX (XX%)
- Blocked: XX (XX%)
- Not Run: XX (XX%)
## Bugs
- Mới phát hiện: XX
- Đã fix & verify: XX
- Còn mở: XX (S1: X, S2: X, S3: X, S4: X)
## Đánh giá chất lượng
[Tốt / Trung bình / Cần cải thiện] — lý do.
## Rủi ro / Blocker
- [Mô tả rủi ro và đề xuất]
## Đề xuất cho Sprint tiếp theo
- [Đề xuất cụ thể] 11.2 Checklist Go-live Readiness [ ] Tất cả test case P1 pass (0 fail) [ ] Tất cả bug S1, S2 đã closed [ ] Regression suite pass 100% [ ] Performance test đạt target (5K CCU, LCP ≤ 2.5s) [ ] Security pentest pass (0 Critical/High) [ ] UAT signed off bởi PO [ ] Cross-browser testing pass [ ] Lighthouse ≥ 90 (Performance, SEO) [ ] SSL certificate valid [ ] DNS configured correctly [ ] CDN cache warming completed [ ] Monitoring & alerting configured [ ] Rollback plan documented & tested [ ] Support team trained [ ] Legal: Đăng ký Bộ Công Thương completed Ghi chú: Test Plan là tài liệu sống, được cập nhật khi có thay đổi về phạm vi, nguồn lực hoặc chiến lược. Mọi thay đổi cần được QA Lead và CTO phê duyệt.