Nghiệm thu & kiểm thử
Quy trình nghiệm thu với founder/product owner và testers: 12 kịch bản AC-01..AC-12 với thủ tục kiểm thử, điều kiện mở pilot, biểu mẫu ghi kết quả và phê duyệt baseline.
1. Vai trò trong nghiệm thu
| Vai trò | Trách nhiệm trong quá trình này |
|---|---|
| Founder / Product owner | Phê duyệt baseline FR/NFR/BR/AC; chốt D-xx chặn mở bán; ký điều kiện mở pilot |
| Tester / QA | Chạy AC-01..AC-12 và gợi ý kiểm thử từng FR/NFR; ghi kết quả kèm bằng chứng |
| Kế toán / đối soát | Xác nhận nghiệp vụ tiền, hoàn tiền, hóa đơn, hoa hồng đúng như đã chốt |
| Vận hành | Xác nhận hàng đợi, cảnh báo, quy trình ngoại lệ dùng được trong thực tế |
| Hotprint | Xác nhận tiếp nhận phiếu sản xuất, kênh và SLA theo D-07 |
2. Quy trình đề xuất
- Chốt điều kiện tiên quyết: các D-xx chặn mở bán được phê duyệt và ghi biên bản.
- Chạy kịch bản: tester chạy từng AC bên dưới theo thủ tục; mỗi lần chạy ghi người kiểm, ngày, kết quả, bằng chứng.
- Ghi nhận lỗi: mỗi lỗi gắn mã yêu cầu (FR/NFR/BR) và kịch bản; lỗi sai tiền, sai file sản xuất, lộ dữ liệu, mất đơn là lỗi chặn pilot.
- Rà soát cùng founder/PO: đi qua kết quả, điều chỉnh yêu cầu nếu nghiệp vụ thay đổi, cập nhật trạng thái trong
data/. - Phê duyệt: điền biểu mẫu phê duyệt baseline (mục 5) — sau đó bộ yêu cầu trở thành cơ sở nghiệm thu chính thức.
3. Kịch bản nghiệm thu đợt thử nghiệm (AC-01..AC-12)
AC-01..AC-12 là kịch bản nghiệm thu đợt thử nghiệm lấy nguyên văn từ brief mục 13. Thủ tục kiểm thử bên dưới là đề xuất chi tiết hóa để tester chạy được; không thay đổi phạm vi yêu cầu. Các bước phụ thuộc D-xx chỉ nghiệm thu "chốt" được khi quyết định tương ứng đã được phê duyệt.
AC-01 — Đơn hợp lệ trọn vẹn
Kịch bản: Đơn hợp lệ từ cấu hình đến giao, hóa đơn và hoa hồng.
Kết quả đạt
Tất cả bước truy vết được; số tiền, file, thông số và người nhận khớp.
Thủ tục kiểm thử (đề xuất)
- Chọn sản phẩm đang mở bán, chọn cấu hình hợp lệ (FR-01..FR-03).
- Gắn link thiết kế đúng dòng hàng (FR-07) và hoàn tất thông tin đặt hàng (FR-12) với bản tóm tắt khớp (FR-13).
- Đặt cọc đúng số tiền/nội dung qua QR (FR-17); giao dịch SePay được ghi nhận đúng một lần (FR-18, FR-19).
- Kiểm file và duyệt (FR-08..FR-11); chốt sản xuất tạo phiếu đủ thông tin (FR-24).
- Hotprint tiếp nhận, sản xuất, cập nhật tiến độ (FR-25, FR-26); giao hàng có bằng chứng (FR-27).
- Hoàn thành theo định nghĩa đã chốt (FR-28, BR-04); phát hành hóa đơn theo BR-05 (FR-30..FR-32); hoa hồng được duyệt theo BR-06 nếu có attribution (FR-35).
- Mỗi bước truy vết được người thực hiện, thời điểm, bằng chứng (NFR-12, FR-39).
AC-02 — Đơn nhiều dòng
Kịch bản: Đơn nhiều dòng, khác cấu hình và file.
Kết quả đạt
Không nhầm file/số lượng; tổng tiền khớp từng dòng.
Thủ tục kiểm thử (đề xuất)
- Tạo đơn ít nhất hai dòng hàng khác cấu hình, mỗi dòng một link riêng (FR-07).
- Kiểm tra bản tóm tắt và phiếu sản xuất: từng dòng đúng file, đúng số lượng.
- Đối chiếu tổng tiền bằng tổng thành tiền từng dòng (NFR-06).
AC-03 — Đổi bảng giá khi còn ở checkout
Kịch bản: Đổi bảng giá khi khách còn ở checkout.
Kết quả đạt
Yêu cầu xác nhận giá mới trước khi thu; không sửa đơn đã chốt.
Thủ tục kiểm thử (đề xuất)
- Khách mở checkout với một cấu hình (FR-04).
- Phát hành phiên bản bảng giá mới phía quản trị (NFR-14).
- Khách hoàn tất: hệ thống yêu cầu xác nhận giá mới trước khi tạo yêu cầu thu tiền.
- Đơn đã chốt trước đó giữ nguyên giá cũ (FR-05); tổ hợp chưa có giá không thu cọc (FR-06).
AC-04 — Link bị khóa và đổi thiết kế sau duyệt
Kịch bản: Link bị khóa và đổi thiết kế sau duyệt.
Kết quả đạt
Chặn sản xuất khi thiếu điều kiện; phiên bản mới phải duyệt lại.
Thủ tục kiểm thử (đề xuất)
- Gắn link bị khóa/không cấp quyền: trạng thái kiểm truy cập là "bị chặn" (FR-08); đơn không đủ điều kiện tạo phiếu sản xuất (BR-02).
- Duyệt file, sau đó khách đổi thiết kế tại link nguồn: bản đã duyệt không đổi âm thầm (FR-10).
- Khách gửi phiên bản mới: quay về chờ kiểm, phải duyệt lại (FR-11); lệnh sản xuất (nếu đã tạo) tham chiếu đúng phiên bản đã duyệt.
AC-05 — Giao dịch lặp, thiếu/thừa, tiền về muộn
Kịch bản: Giao dịch lặp/đồng thời, thiếu/thừa, tiền về muộn.
Kết quả đạt
Không cộng trùng, không mất giao dịch; ngoại lệ nằm đúng hàng đợi.
Thủ tục kiểm thử (đề xuất)
- Replay cùng một sự kiện SePay nhiều lần: số tiền đã nhận chỉ tăng một lần (FR-19).
- Mô phỏng hai giao dịch ghi nhận đồng thời: không mất giao dịch, không cộng trùng (FR-19, NFR-06).
- Chuyển thiếu và chuyển thừa: giao dịch lưu riêng, đơn vào trạng thái cần đối soát (FR-20, FR-21).
- QR hết hạn rồi tiền về sau: ghi nhận tiền đến muộn, kiểm tra đơn/báo giá trước khi tiếp tục; ngoại lệ có người xử lý (FR-23, FR-38).
AC-06 — Hủy trước và sau khi đã sản xuất
Kịch bản: Hủy trước và sau khi đã sản xuất.
Kết quả đạt
Áp dụng đúng policy; số tiền hoàn và hoa hồng điều chỉnh có chứng cứ.
Thủ tục kiểm thử (đề xuất)
- Tạo yêu cầu hủy trước sản xuất và sau khi đã sản xuất: hệ thống phân biệt xử lý theo giai đoạn (FR-16).
- Áp dụng đúng chính sách hủy/chi phí in lại đã chốt tại D-08.
- Hoàn tiền: đúng số tiền có thể hoàn, có người duyệt và chứng cứ (FR-22).
- Hoa hồng affiliate: bị giữ/đảo/điều chỉnh có lý do và dấu vết, kể cả đã chi trả (FR-36).
AC-07 — Hotprint chậm, từ chối hoặc giao thất bại
Kịch bản: Hotprint chưa nhận, chậm tiến độ hoặc giao thất bại.
Kết quả đạt
Không báo bước đã hoàn thành; có người xử lý và thông báo khách.
Thủ tục kiểm thử (đề xuất)
- Gửi phiếu sản xuất nhưng Hotprint chưa xác nhận: trạng thái giữ "chờ Hotprint nhận", vận hành có cảnh báo (FR-25, FR-38).
- Mô phỏng chậm tiến độ: cập nhật có lý do, khách nhận thông báo (FR-26, FR-40).
- Mô phỏng giao thất bại: ghi lý do, phương án giao lại; đơn không được đánh dấu hoàn thành (FR-27, BR-04).
AC-08 — Hóa đơn lỗi hoặc cần điều chỉnh
Kịch bản: Hóa đơn lỗi hoặc cần điều chỉnh.
Kết quả đạt
Khách không thấy trạng thái thành công giả; chứng từ gốc còn truy vết.
Thủ tục kiểm thử (đề xuất)
- Mô phỏng phát hành lỗi: trạng thái là lỗi/chờ xử lý, có người phụ trách; khách không thấy "đã phát hành" (FR-31).
- Yêu cầu điều chỉnh chạy theo quy trình kế toán; chứng từ gốc còn liên kết truy vết (FR-32).
AC-09 — Attribution nhiều nguồn và hoàn một phần
Kịch bản: Hai nguồn affiliate, tự giới thiệu và hoàn một phần.
Kết quả đạt
Attribution quyết định được; tính và điều chỉnh hoa hồng theo policy.
Thủ tục kiểm thử (đề xuất)
- Đơn tiếp xúc hai nguồn affiliate: kết quả attribution xác định theo quy tắc đã công bố (FR-34, D-12).
- Thử tự giới thiệu: không được ghi nhận theo policy (FR-33).
- Hoàn một phần: hoa hồng được tính lại/điều chỉnh, không trả hai lần (FR-35, FR-36).
AC-10 — Truy cập ngoài quyền
Kịch bản: Người khác xem đơn/file/hoa hồng ngoài quyền.
Kết quả đạt
Bị từ chối; không rò dữ liệu qua màn hình, tìm kiếm hoặc tải xuống.
Thủ tục kiểm thử (đề xuất)
- Tài khoản khách A truy cập đơn của khách B qua URL/API: bị từ chối (FR-15, NFR-07).
- Tài khoản Hotprint chỉ thấy dữ liệu các đơn được giao (roles, NFR-08).
- Tài khoản affiliate không xem được file thiết kế hoặc thông tin liên hệ đầy đủ của khách (roles, FR-37).
- Thử qua tìm kiếm và tải xuống: không rò dữ liệu; nhật ký không chứa dữ liệu nhạy cảm (FR-39, NFR-08).
AC-11 — Mất mạng, mở lại, gửi lại
Kịch bản: Mất mạng, mở lại, gửi lại yêu cầu.
Kết quả đạt
Không tạo đơn/thu tiền/chi hoa hồng trùng.
Thủ tục kiểm thử (đề xuất)
- Ngắt mạng khi gửi đơn, sau đó gửi lại: chỉ một đơn và một yêu cầu thu tiền được tạo (FR-14, NFR-13).
- Mở lại ứng dụng: trạng thái hiển thị khớp trạng thái thực đã xác nhận; chưa xác nhận thì không báo thành công (NFR-13).
- Lặp tương tự với giao dịch thanh toán: không cộng trùng (FR-19).
AC-12 — Khôi phục và đối soát sau gián đoạn
Kịch bản: Khôi phục và đối soát sau gián đoạn.
Kết quả đạt
Đạt mục tiêu phục hồi đã chốt; xác định và đối soát phần giao dịch có thể thiếu.
Thủ tục kiểm thử (đề xuất)
- Diễn tập khôi phục dữ liệu và phiên bản file đã chốt: đạt RPO/RTO mục tiêu (NFR-10).
- Sau khôi phục: chạy đối soát từ nguồn SePay cho khoảng giao dịch có nguy cơ mất (FR-23).
- Lập danh sách giao dịch/đơn bị ảnh hưởng và xử lý tới khi khép sổ; lỗi nhận tiền được phát hiện theo NFR-11.
4. Điều kiện mở pilot (từ brief mục 13)
Đề xuất chỉ mở bán khi đồng thời thỏa:
- Các D-xx chặn mở bán đã được chốt và ghi biên bản.
- Tất cả kịch bản P0 (AC-01..AC-12) đạt.
- Không còn lỗi làm sai tiền, sai file sản xuất, lộ dữ liệu hoặc mất đơn.
- Có người trực vận hành.
- Hotprint xác nhận khả năng tiếp nhận.
Ngưỡng thảo luận từ kế hoạch thử nghiệm: ít nhất 3/10 khách tiềm năng đồng ý đặt thử ở mức giá công bố là tín hiệu để tiếp tục pilot (chưa chứng minh nhu cầu thị trường); với 10 đơn đầu, mục tiêu ít nhất 9 đơn đúng hẹn, không sai tiền/sai file, lãi đóng góp dương và ghi nhận nguyên nhân mọi lần làm lại.
5. Biểu mẫu phê duyệt baseline
Điền một dòng cho mỗi bộ yêu cầu sau buổi rà soát với founder/product owner:
| Bộ yêu cầu | Phiên bản | Người duyệt | Vai trò | Ngày | Kết luận (Phê duyệt / Sửa rồi duyệt / Không duyệt) | Ghi chú |
|---|---|---|---|---|---|---|
| FR-01..FR-41 | 0.1 | |||||
| NFR-01..NFR-16 | 0.1 | |||||
| BR-01..BR-07 | 0.1 | |||||
| AC-01..AC-12 | 0.1 | |||||
| Phạm vi P0 | 0.1 |
6. Biểu mẫu ghi kết quả chạy kịch bản
Mỗi kịch bản có thể chạy nhiều lần; ghi mỗi lần chạy một dòng:
| Kịch bản | Lần | Ngày | Người kiểm | Môi trường/dữ liệu | Kết quả (Đạt/Không đạt) | Bằng chứng (link/ảnh) | Lỗi liên quan | Ghi chú |
|---|---|---|---|---|---|---|---|---|
| AC-01 | 1 |
Mẹo in ấn: mỗi trang có CSS in riêng — mở trang cần mang vào buổi nghiệm thu và in trực tiếp từ trình duyệt.