Làm rõ yêu cầu
Mỗi nhu cầu thành một câu chuyện có điều kiện chấp nhận, và có dòng ghi rõ cái gì chưa làm trong đợt này.
Thiết kế theo quy trình và mục tiêu riêng của doanh nghiệp.
ONMATE phát triển website và ứng dụng web theo yêu cầu về tính năng, vai trò người dùng và hệ thống cần kết nối. Hai bên thống nhất phạm vi, bản mẫu và tiêu chí nghiệm thu trước khi lập trình.
Website đi qua nhiều chặng, từ làm rõ yêu cầu tới nghiệm thu. Chọn một chặng để xem việc ở đó.
Mỗi nhu cầu thành một câu chuyện có điều kiện chấp nhận, và có dòng ghi rõ cái gì chưa làm trong đợt này.
Mỗi vai trò chỉ thấy và làm đúng việc của mình. Truy cập trái quyền bị chặn và được ghi lại.
Luồng chạy qua các vai trò và các trạng thái được vẽ ra, cho người dùng xem trên bản mẫu trước khi viết mã.
Sơ đồ quan hệ và quy tắc đặt ngay trong cơ sở dữ liệu. Dữ liệu cũ nhập qua màn hình có kiểm tra.
Kế toán, kho và đại lý nối qua API có tài liệu, khóa riêng và môi trường thử. Lỗi tạm thời được thử lại.
Ca kiểm thử nối về yêu cầu, máy tự chạy sau mỗi thay đổi và người dùng thật nghiệm thu từng chức năng.
Sáu chặng quay quanh một điểm. Chọn một chặng để đọc chi tiết.
Mỗi phần việc có màn hình làm việc, đầu vào và cách đo riêng.
Chạm vào một thẻ để đổi nội dung bên dưới.
Đang xemYêu cầu rõ, nghiệm thu dễBa màn hình: danh sách câu chuyện, một câu chuyện và tài liệu phạm vi. Bấm từng mục để xem.
Đợt 1 có 16 câu chuyện, mỗi dòng ghi mã, mức ưu tiên và số điều kiện đã viết. CDL-104 mới viết 3 trên 5 điều kiện nên chờ duyệt.
Chia ưu tiên giúp đợt đầu gọn lại. Việc Có thể, như tải bảng giá PDF, vẫn nằm trong danh sách nhưng chưa tranh chỗ việc cần ngay.
Hiển thị 5 trong 16 câu chuyện
| Mã | Câu chuyện | Ưu tiên | Điều kiện |
|---|---|---|---|
| CDL-101 | Đặt đơn từ danh mục giá sỉ1 | Phải có | 5/5 |
| CDL-102 | Đặt lại đơn cũ bằng một lần bấm | Phải có | 4/4 |
| CDL-103 | Duyệt hoặc từ chối đơn trong vùng | Phải có | 6/6 |
| CDL-104 | Xem công nợ hiện tại | Nên có | 3/52 |
| CDL-105 | Tải bảng giá dạng PDF | Có thể3 | Chưa viết |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
CDL-102 viết theo mẫu Là đại lý, tôi muốn…, để…. Bốn điều kiện đều đúng hoặc sai khi thử; phần Ngoài phạm vi ghi việc chưa làm đợt này.
Điều kiện như “giá trong giỏ là giá sỉ hiện hành” thử được ngay. Câu như “dễ dùng” thì không, nên đừng dùng làm điều kiện.
Là đại lý, tôi muốn đặt lại một đơn cũ chỉ bằng một lần bấm, để không phải chọn lại từng sản phẩm mỗi tháng.1
Điều kiện chấp nhận2
Ngoài phạm vi3
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu ghi 42 câu chuyện chia ba đợt, 9 việc ngoài phạm vi, các giả định có tên người và hạn xác nhận. Bản 3 duyệt ngày 03/10/2026.
Thêm việc thì ghi vào danh sách thay đổi kèm ảnh hưởng thời gian, rồi mới đổi tài liệu. Có số phiên bản, hai bên cùng biết bản nào.
Phiên bản 3 · Lan Anh duyệt ngày 03/10/2026
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:Atlassian: câu chuyện người dùng ↗Atlassian: điều kiện chấp nhận ↗
Bắt đầu từ cách làm thật. Câu chuyện đủ điều kiện, có người duyệt mới làm.
Tài liệu tham khảo:Atlassian: câu chuyện người dùng ↗Scrum Guide: định nghĩa hoàn thành ↗
Cần quy trình đang chạy và một người đủ quyền nói “đúng” hay “chưa đúng”.
Mỗi dòng một câu chuyện, kèm điều kiện chấp nhận và người duyệt. Điều kiện phải kiểm được bằng thử; “dễ dùng” chưa phải điều kiện.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Mã | Câu chuyện | Điều kiện chấp nhận | Ưu tiên | Người duyệt |
| 2 | CDL-101 | Đại lý đặt đơn từ danh mục giá sỉ | Giỏ đủ dòng đã chọn, giá là giá sỉ hiện hành | Phải có | Lan Anh |
| 3 | CDL-102 | Đại lý đặt lại đơn cũ bằng một lần bấm | Sản phẩm ngừng bán bị bỏ khỏi giỏ và báo tên | Phải có | Lan Anh |
| 4 | CDL-103 | Kinh doanh duyệt hoặc từ chối đơn trong vùng | Từ chối phải có lý do, đại lý nhận được lý do1 | Phải có | Lan Anh |
| 5 | CDL-104 | Đại lý xem công nợ hiện tại | Mới viết 3 trên 5 điều kiện2 | Nên có | Chờ duyệt |
| 6 | CDL-105 | Đại lý tải bảng giá dạng PDF | Chưa viết, để đợt sau3 | Có thể | — |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:Atlassian: câu chuyện người dùng ↗Atlassian: điều kiện chấp nhận ↗
Yêu cầu tốt thể hiện ở số thay đổi giữa dự án. Báo cáo cho biết câu chuyện nào có điều kiện.
Thay đổi dồn vào một tuần thường báo hiệu một nhóm yêu cầu chưa rõ.
Tổng quan1
Thay đổi sau khi chốt, theo tuần2
Thay đổi gần đây
| Mã | Thay đổi | Đề xuất | Ảnh hưởng |
|---|---|---|---|
| CDL-087 | Thêm điều kiện: đơn tối thiểu 12 hộp | Minh Tuấn | +0,5 ngày3 |
| CDL-061 | Đổi người duyệt sang Thanh Bình | Lan Anh | Không đổi |
| CDL-044 | Bỏ trường fax khỏi hồ sơ đại lý | Hà Trang | −0,2 ngày |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
| Chỉ số | Cho biết | Cần xem lại khi |
|---|---|---|
| Câu chuyện có điều kiện chấp nhận | Mọi câu chuyện trong đợt đang làm | Có câu chuyện chưa đủ điều kiện mà đã giao |
| Thay đổi sau khi chốt | Ít, và đều có ảnh hưởng ghi rõ | Tăng đột ngột trong một tuần |
| Việc ngoài phạm vi | Có danh sách và có người xác nhận | Có việc phát sinh mà chưa ghi vào đâu |
| Ảnh hưởng tới thời gian | Hai bên đã đồng ý trước khi làm | Cộng dồn mà chưa ai báo |
Mở Báo cáo yêu cầu, xem bốn con số đầu, rồi biểu đồ theo tuần và bảng thay đổi gần đây để biết thay đổi nào làm đổi thời gian.
Số liệu không cho biết yêu cầu “đúng”; chỉ người làm nghiệp vụ biết.
Số trong hình là số mẫu.
Tài liệu tham khảo:Scrum Guide: định nghĩa hoàn thành ↗Atlassian: điều kiện chấp nhận ↗
Số trong bảng là số mẫu để minh họa cách đọc, không phải kết quả dự kiến.
Bắt đầu từ việc xem người ta đang làm gì, chưa vội viết chức năng.
Giữ lại đặc tả, bổ sung điều kiện cho từng chức năng theo mức ưu tiên.
Dừng lại ghi danh sách thay đổi, rồi tách phần đã chốt với phần chưa chốt.
| Chỉ số | Giá trị |
|---|---|
| Điều kiện đã viết | 3 trên 5 |
| Trạng thái | Chờ duyệt |
| Việc cần làm | Viết đủ điều kiện và duyệt trước khi giao |
Câu chuyện chỉ có tiêu đề, chưa có điều kiện chấp nhận.
Viết điều kiện kiểm được trước khi giao làm.
| Chỉ số | Giá trị |
|---|---|
| Cách viết | Đại lý đặt hàng dễ dùng |
| Kiểm bằng cách | Không có cách nào |
| Việc cần làm | Viết: bấm Đặt lại thì giỏ có đủ dòng của đơn cũ |
Điều kiện viết chung chung như “dễ dùng” nên không kiểm được.
Đổi thành hành động và kết quả cụ thể.
| Chỉ số | Giá trị |
|---|---|
| Thay đổi chưa ghi | Thêm điều kiện đơn tối thiểu 12 hộp |
| Ảnh hưởng | Thêm 0,5 ngày kiểm thử |
| Việc cần làm | Ghi vào danh sách thay đổi và hỏi người duyệt |
Thay đổi nhỏ không được ghi nên không ai tính ảnh hưởng.
Mọi thay đổi đi qua danh sách thay đổi.
Tài liệu tham khảo:Atlassian: điều kiện chấp nhận ↗Scrum Guide: định nghĩa hoàn thành ↗
Đánh dấu từng mục để xem mức sẵn sàng. Trạng thái chỉ lưu trên trình duyệt của bạn.
Tài liệu tham khảo:Atlassian: câu chuyện người dùng ↗Scrum Guide: định nghĩa hoàn thành ↗
Ba màn hình: danh sách vai trò, ma trận quyền và trang không có quyền. Bấm từng mục để xem.
Mỗi thẻ ghi số người, việc làm và mức xem dữ liệu: của mình, theo vùng, theo kho hoặc tất cả. Cổng có 5 vai trò và 23 người dùng.
Số người được ghi để biết vai trò nào đông và cần kiểm chặt. Quản trị chỉ có 1 người vì đây là vai trò mạnh nhất.
Đại lý14 người1
Đặt đơn, xem đơn và công nợ của chính mình.
Xem đượcCủa mình
Kinh doanh4 người2
Nhân viên kinh doanh duyệt hoặc từ chối đơn, xem đại lý trong vùng.
Xem đượcTheo vùng
Thủ kho2 người
Soạn hàng, giao hàng, cập nhật tồn kho.
Xem đượcTheo kho
Kế toán2 người
Xuất hóa đơn, đối chiếu thanh toán.
Xem đượcTất cả
Quản trị1 người3
Quản lý người dùng và cấu hình.
Xem đượcTất cả
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Hàng là chức năng, cột là vai trò. Ô ghi mức được làm, dấu gạch là không có quyền. Ghi chú bên dưới giải thích Mình, Vùng và Kho.
Ma trận là bản gốc. Màn hình, máy chủ và ca kiểm thử đều làm theo bảng này, nên muốn đổi quyền thì sửa bảng trước.
| Chức năng | Đại lý | Kinh doanh | Thủ kho | Kế toán | Quản trị |
|---|---|---|---|---|---|
| Xem đơn hàng | Mình | Vùng | Kho | Tất cả | Tất cả |
| Duyệt đơn | — | Vùng1 | — | — | — |
| Cập nhật tồn kho | — | — | Kho | — | Có |
| Xuất hóa đơn | — | — | — | Có2 | — |
| Quản lý người dùng | — | — | — | — | Có3 |
“—” là không có quyền. Mình: chỉ bản ghi của chính họ. Vùng: đại lý trong vùng phụ trách. Kho: đúng kho được giao. Giới hạn áp dụng cho cả bản ghi được xem, không chỉ chức năng.
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Đại lý mở nhầm đơn người khác thấy thông báo không có quyền. Khung dưới là phản hồi 403: chỉ mã lỗi và câu báo, không có dữ liệu đơn.
Đây là ca kiểm thử bắt buộc: đăng nhập bằng tài khoản đại lý và thử mở đơn của đại lý khác bằng địa chỉ trực tiếp.
Bạn không có quyền xem đơn này1
Đơn thuộc về tài khoản khác. Nếu cần xem, hãy liên hệ nhân viên kinh doanh phụ trách.
Về đơn của tôiMạngYêu cầuTrạng thái
GET /api/v1/orders/DH-2048403 Từ chối2GET /api/v1/orders200 OK{ "error": "forbidden",
"message": "Bạn không có quyền xem đơn này" }3Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:OWASP: phân quyền ↗MDN: mã 403 Forbidden ↗
Nghĩ quyền ngoài đời trước. Máy chủ quyết định, màn hình chỉ phản ánh.
Tài liệu tham khảo:OWASP: phân quyền ↗OWASP: lỗi kiểm soát truy cập ↗
Cần biết ai làm gì ngoài đời trước khi nói quyền trong hệ thống.
Ma trận quyền: hàng là chức năng, cột là vai trò, ô ghi mức được phép. Ghi một lần, màn hình và máy chủ cùng theo.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Chức năng | Đại lý | Kinh doanh | Thủ kho | Kế toán | Quản trị |
| 2 | Xem đơn hàng | Của mình | Theo vùng | Theo kho | Tất cả | Tất cả |
| 3 | Duyệt đơn | Không | Theo vùng1 | Không | Không | Không |
| 4 | Cập nhật tồn kho | Không | Không | Theo kho2 | Không | Có |
| 5 | Xuất hóa đơn | Không | Không | Không | Có | Không |
| 6 | Quản lý người dùng | Không | Không | Không | Không | Có3 |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:OWASP: phân quyền ↗OWASP: lỗi kiểm soát truy cập ↗
Phân quyền đúng thể hiện ở nhật ký: ít yêu cầu bị từ chối, mỗi lần từ chối giải thích được.
Từ chối lặp lại hoặc ngoài giờ làm việc thì cần hỏi lại.
Tổng quan1
Sự kiện gần nhất
| Giờ | Người dùng | Hành động | Kết quả |
|---|---|---|---|
| 09:41 | Hương Sen (đại lý) | Xem đơn DH-2048 | Từ chối 4032 |
| 09:38 | Minh Tuấn (kinh doanh) | Duyệt đơn DH-2047 | Thành công |
| 09:12 | Thanh Bình (thủ kho) | Cập nhật tồn kho NT-GD-180 | Thành công |
| 02:07 | Lan Anh (quản trị) | Đăng nhập từ thiết bị mới | Cần xem3 |
| 08:55 | Hương Sen (đại lý) | Đăng nhập sai mật khẩu | Cảnh báo |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
| Chỉ số | Cho biết | Cần xem lại khi |
|---|---|---|
| Yêu cầu bị từ chối (403) | Ít và rải rác | Một người lặp lại nhiều lần |
| Đăng nhập sai | Vài lần mỗi ngày | Tăng đột ngột trên cùng một tài khoản |
| Quản trị ngoài giờ | Có lý do và người phụ trách biết | Thiết bị mới mà chưa ai xác nhận |
| Quyền đang được cấp | Khớp với ma trận | Có người có quyền mà ma trận không ghi |
Mở Nhật ký truy cập, xem bốn con số đầu rồi đọc từng dòng Từ chối, Cảnh báo hoặc Cần xem.
Hỏi người phụ trách khi chưa giải thích được.
Nhật ký chỉ ghi điều đã xảy ra, không chứng minh không có truy cập trái phép.
Số trong hình là số mẫu.
Tài liệu tham khảo:OWASP: ghi nhật ký ↗OWASP: lỗi kiểm soát truy cập ↗
Số trong bảng là số mẫu để minh họa cách đọc, không phải kết quả dự kiến.
Vẽ ma trận trước khi dựng màn hình.
Tách thành tài khoản riêng theo từng người rồi mới chia quyền.
Bắt đầu từ nhật ký rồi thử lại bằng tài khoản thật.
| Chỉ số | Giá trị |
|---|---|
| Cách kiểm | Chỉ kiểm đã đăng nhập |
| Kết quả khi thử | 200 với đơn của người khác |
| Việc cần làm | Lọc theo đại lý của người đăng nhập, trả 403 nếu không thuộc |
Máy chủ chỉ kiểm đã đăng nhập mà chưa kiểm đơn có thuộc người đó không.
Thêm điều kiện theo bản ghi.
| Chỉ số | Giá trị |
|---|---|
| Nơi chặn | Chỉ ẩn nút ở màn hình |
| Cách thử | Gọi thẳng địa chỉ API |
| Việc cần làm | Kiểm quyền ở máy chủ, rồi viết ca kiểm thử gọi trực tiếp |
Quyền chỉ chặn ở màn hình.
Chuyển việc kiểm sang máy chủ cho từng yêu cầu.
| Chỉ số | Giá trị |
|---|---|
| Bước thu hồi tài khoản | Chưa có trong quy trình |
| Tài khoản còn hoạt động | 1 người đã nghỉ |
| Việc cần làm | Gắn việc thu hồi vào quy trình nghỉ việc |
Quy trình nghỉ việc không có bước thu hồi tài khoản.
Thêm bước này và rà danh sách định kỳ.
Tài liệu tham khảo:OWASP: lỗi kiểm soát truy cập ↗OWASP: hướng dẫn kiểm thử bảo mật web ↗
Đánh dấu từng mục để xem mức sẵn sàng. Trạng thái chỉ lưu trên trình duyệt của bạn.
Tài liệu tham khảo:OWASP: phân quyền ↗OWASP: ghi nhật ký ↗
Ba màn hình: sơ đồ làn, vòng đời của đơn và bản mẫu bấm được. Bấm từng mục để xem.
Mỗi hàng một vai trò, mỗi ô một bước. Đơn đi từ đại lý sang kinh doanh, kho, kế toán. Ô Duyệt đơn có nhánh Từ chối về Nháp.
Đọc sơ đồ cùng từng người trong luồng. Nếu họ nói “chỗ này không có thật” thì sơ đồ sai, không phải người sai.
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Sáu trạng thái nối bằng mũi tên, thêm hai nhánh Từ chối và Đã hủy. Bảng dưới ghi mỗi lần chuyển do ai làm, cần điều kiện gì.
Mỗi dòng của bảng là một nhóm ca kiểm thử: một ca chuyển khi điều kiện đúng và một ca chuyển khi điều kiện sai.
Ai được chuyển trạng thái
| Chuyển | Ai làm | Điều kiện |
|---|---|---|
| Nháp → Chờ duyệt | Đại lý | Có ít nhất một sản phẩm |
| Chờ duyệt → Đã duyệt | Kinh doanh | Đại lý còn hạn mức công nợ3 |
| Đã duyệt → Đang soạn | Thủ kho | Đủ tồn kho cho mọi dòng |
| Đã giao → Đã thanh toán | Kế toán | Có chứng từ thanh toán |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Ba màn hình Giỏ đơn, Xác nhận, Đơn đã gửi nối bằng nút bấm, cộng nhánh lỗi vượt hạn mức. Người nghiệp vụ thử gửi đơn như thật.
Cho người thật thử, ghi chỗ họ ngập ngừng. Một câu “nút này để làm gì” ở bản mẫu rẻ hơn nhiều so với sửa sản phẩm.
1 · Giỏ đơn
Nến gỗ đàn hương 180 g× 24
Nến hoa nhài 180 g× 12
Tạm tính4.200.000 ₫
Gửi đơn12 · Xác nhận
Giao tớiHương Sen · Q.3
Hạn mức còn18.000.000 ₫
Xác nhận3 · Đơn đã gửi
Đơn DH-20513
Trạng tháiChờ duyệt
Theo dõi đơnNhánh lỗi: vượt hạn mức2
Báo rõ số tiền vượt, giữ đơn ở Nháp và gợi ý liên hệ nhân viên phụ trách.
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:Usability.gov: kiểm thử khả dụng ↗W3C WAI: kiểm tra dữ liệu biểu mẫu ↗
Hỏi người đang làm từng bước. Sơ đồ khớp cách làm thật, rồi mới cải tiến.
Tài liệu tham khảo:Usability.gov: kiểm thử khả dụng ↗Atlassian: câu chuyện người dùng ↗
Cần người thật đang làm từng bước, không chỉ người quản lý. Họ biết ngoại lệ.
Bảng chuyển trạng thái là hợp đồng của luồng: từ đâu sang đâu, ai làm, điều kiện gì. Chỗ nào chưa rõ là chỗ có người phải đoán.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Từ | Sang | Ai làm | Điều kiện | Sau đó |
| 2 | Nháp | Chờ duyệt | Đại lý | Có ít nhất một sản phẩm | Báo nhân viên phụ trách |
| 3 | Chờ duyệt | Đã duyệt | Kinh doanh | Đại lý còn hạn mức công nợ1 | Báo thủ kho |
| 4 | Chờ duyệt | Nháp (từ chối) | Kinh doanh | Bắt buộc ghi lý do2 | Báo đại lý kèm lý do |
| 5 | Đã duyệt | Đang soạn | Thủ kho | Đủ tồn kho cho mọi dòng | Báo đại lý đang soạn |
| 6 | Đã giao | Đã thanh toán | Kế toán | Có chứng từ thanh toán3 | Đóng đơn |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:Atlassian: câu chuyện người dùng ↗W3C WAI: kiểm tra dữ liệu biểu mẫu ↗
Luồng tốt thì đơn đi nhanh, ít kẹt. Báo cáo cho biết trạng thái nào lâu nhất, đơn nào quá hạn.
So các trạng thái với nhau trước; chỗ lâu nhất thường không phải chỗ ta đoán.
Từ gửi đơn đến giao hàng1
Thời gian đơn nằm ở từng trạng thái2
Đơn đang nằm lâu
| Đơn | Trạng thái | Người xử lý | Đã chờ |
|---|---|---|---|
| DH-2041 | Chờ duyệt | Minh Tuấn | 3 ngày3 |
| DH-2043 | Đang soạn | Thanh Bình | 2 ngày |
| DH-2046 | Chờ duyệt | Minh Tuấn | 1 ngày |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
| Chỉ số | Cho biết | Cần xem lại khi |
|---|---|---|
| Thời gian trung bình từ gửi đến giao | Ngắn dần sau mỗi đợt cải tiến | Dài ra mà chưa rõ lý do |
| Thời gian ở từng trạng thái | Cân đối giữa các bước | Một bước chiếm phần lớn |
| Đơn quá hạn duyệt | Ít và có người phụ trách | Tăng đều qua các tuần |
| Đơn bị trả lại | Giảm khi lý do được báo rõ | Cao mà lý do không được ghi |
Mở báo cáo Thời gian xử lý, nhìn thanh dài nhất ở phần từng trạng thái, rồi mở danh sách đơn nằm lâu để biết đơn nào, ai đang giữ.
Thời gian ngắn chưa chắc tốt: duyệt vội làm tăng đơn bị trả lại.
Số trong hình là số mẫu.
Tài liệu tham khảo:Atlassian: thời gian chu trình ↗Usability.gov: kiểm thử khả dụng ↗
Số trong bảng là số mẫu để minh họa cách đọc, không phải kết quả dự kiến.
Bắt đầu từ việc ngồi với từng người rồi mới vẽ.
So sơ đồ với cách làm thật ở vài đơn gần đây.
Đo thời gian từng trạng thái để thấy chỗ nghẽn.
| Chỉ số | Giá trị |
|---|---|
| Nhánh từ chối | Không có đích |
| Đại lý nhận được | Không có thông báo |
| Việc cần làm | Quay về Nháp và báo đại lý kèm lý do |
Nhánh từ chối không có nơi quay về và không báo ai.
Cho đơn quay về Nháp và bắt buộc ghi lý do.
| Chỉ số | Giá trị |
|---|---|
| Bước Xuất hóa đơn | Kho và kế toán cùng làm |
| Hậu quả | Có đơn bị xuất hai lần |
| Việc cần làm | Giao cho Kế toán, Kho chỉ báo đã giao |
Sơ đồ không ghi rõ ai chịu trách nhiệm.
Đặt mỗi bước vào đúng một hàng vai trò.
| Chỉ số | Giá trị |
|---|---|
| Màn hình sau khi gửi | Chỉ ghi “Thành công” |
| Câu hỏi của đại lý | Đơn đã tới ai chưa? |
| Việc cần làm | Hiện mã đơn, trạng thái Chờ duyệt và nút Theo dõi đơn |
Màn hình sau khi gửi không cho biết trạng thái và bước kế tiếp.
Thêm trạng thái và nút theo dõi.
Tài liệu tham khảo:Usability.gov: kiểm thử khả dụng ↗Atlassian: thời gian chu trình ↗
Đánh dấu từng mục để xem mức sẵn sàng. Trạng thái chỉ lưu trên trình duyệt của bạn.
Tài liệu tham khảo:Usability.gov: kiểm thử khả dụng ↗Atlassian: điều kiện chấp nhận ↗
Ba màn hình: sơ đồ quan hệ, quy tắc bảng và các bước nhập tệp. Bấm từng mục để xem.
Năm bảng với bốn quan hệ một nhiều. Mỗi đơn thuộc một đại lý, mỗi dòng đơn thuộc một đơn và một sản phẩm. Khóa ngoại được đánh dấu FK.
Đơn giá được lưu ngay trong dòng đơn, nên đổi bảng giá sau này không làm đổi đơn cũ và hóa đơn cũ vẫn đúng.
dai_ly
idPK
tentext
ma_so_thuetext
vungenum
han_mucsố
don_hang
idPK
dai_ly_idFK1
trang_thaienum
tong_tiensố
dong_don
idPK
don_hang_idFK
san_pham_idFK
so_luongsố
don_giasố2
san_pham
idPK
matext
tentext
gia_sisố
ton_khosố
nguoi_dung
idPK
dai_ly_idFK3
emailtext
vai_troenum
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Bảng dai_ly liệt kê cột, kiểu, quy tắc: bắt buộc, duy nhất, thuộc danh sách hay từ 0. Ghi chú nhắc quy tắc nằm ở cơ sở dữ liệu.
Nhờ vậy nhập tay, nhập tệp hay gọi API đều bị kiểm tra như nhau, không có đường nào lọt dữ liệu sai.
Cột và quy tắc
| Cột | Kiểu | Quy tắc |
|---|---|---|
id | uuid | Tự sinh, không đổi |
ten | text | Bắt buộc, tối đa 120 ký tự |
ma_so_thue | text | Duy nhất, 10 hoặc 13 số1 |
vung | enum | Một trong 6 vùng đã khai2 |
han_muc | số | Từ 0, đơn vị đồng3 |
email | text | Duy nhất, đúng định dạng |
Quy tắc nằm ở cơ sở dữ liệu, không chỉ ở màn hình nhập: nhập tay, nhập tệp hay gọi API đều bị kiểm tra như nhau.
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Chọn tệp, ghép cột trong tệp với trường của hệ thống rồi kiểm tra. Bước kiểm tra chưa lưu gì, người dùng thấy kết quả trước khi quyết định nhập.
Lưu tệp CSV bằng UTF-8 để giữ dấu tiếng Việt. Dòng đầu mỗi cột được hiện ra để ghép đúng, nhất là khi tên cột khác tên trường.
dai-ly-thang-10.csv412 dòng · UTF-81
Ghép cột trong tệp với trường của hệ thống
| Cột trong tệp | Dòng đầu | Trường |
|---|---|---|
| Tên cửa hàng | Hương Sen | ten |
| MST | 0312345678 | ma_so_thue2 |
| Khu vực | Hồ Chí Minh | vung |
| Hạn mức | 20.000.000 | han_muc |
| Ghi chú | Khách cũ | Bỏ qua |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:PostgreSQL: ràng buộc dữ liệu ↗RFC 4180: định dạng tệp CSV ↗
Quyết định dữ liệu gồm gì và nối ra sao trước khi dựng màn hình.
Tài liệu tham khảo:PostgreSQL: ràng buộc dữ liệu ↗OWASP: kiểm tra dữ liệu đầu vào ↗
Cần bảng tính thật đang dùng, kể cả bản lộn xộn nhất.
Từ điển ghi mỗi trường một dòng: kiểu, bắt buộc hay không, quy tắc, ví dụ. Màn hình, tệp nhập và API cùng đọc một từ điển.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Trường | Kiểu | Bắt buộc | Quy tắc | Ví dụ |
| 2 | dai_ly.ten | Chữ | Có | Tối đa 120 ký tự | Hương Sen |
| 3 | dai_ly.ma_so_thue | Chữ | Có | Duy nhất, 10 hoặc 13 số1 | 0312345678 |
| 4 | dai_ly.vung | Danh sách | Có | Một trong 6 vùng2 | Hồ Chí Minh |
| 5 | dai_ly.han_muc | Số | Có | Từ 0, đơn vị đồng3 | 20000000 |
| 6 | don_hang.trang_thai | Danh sách | Có | Một trong 6 trạng thái đã vẽ | cho_duyet |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:PostgreSQL: ràng buộc dữ liệu ↗W3C: chọn bảng mã ký tự ↗
Dữ liệu tốt thể hiện ở kết quả kiểm tra: bao nhiêu dòng hợp lệ, lỗi tập trung ở loại nào.
Sửa loại lỗi nhiều nhất trước, rồi sửa quy tắc để lỗi không quay lại.
Tổng quan1
Lỗi theo loại2
Dòng lỗi
| Dòng | Cột | Lỗi | Gợi ý |
|---|---|---|---|
| 58 | ma_so_thue | Để trống | Điền mã số thuế |
| 131 | email | Trùng với dòng 27 | Giữ một dòng |
| 307 | vung | Không có trong danh sách | Chọn “Hồ Chí Minh”3 |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
| Chỉ số | Cho biết | Cần xem lại khi |
|---|---|---|
| Dòng hợp lệ | Chiếm gần hết tệp | Giảm đi ở lần nhập sau |
| Thiếu trường bắt buộc | Ít và có gợi ý sửa | Dồn vào một cột |
| Dòng trùng lặp | Được gộp hoặc giữ một dòng | Cùng một người xuất hiện nhiều lần |
| Giá trị ngoài danh sách | Có gợi ý giá trị đúng | Nhiều cách viết cho cùng một thứ |
Mở kết quả kiểm tra của tệp, xem tổng số dòng hợp lệ và có lỗi, rồi đọc lỗi theo loại và từng dòng lỗi kèm gợi ý.
Hợp lệ chưa chắc đúng: mã số thuế đúng định dạng vẫn có thể gắn nhầm đại lý.
Số trong hình là số mẫu.
Tài liệu tham khảo:OWASP: kiểm tra dữ liệu đầu vào ↗PostgreSQL: ràng buộc dữ liệu ↗
Số trong bảng là số mẫu để minh họa cách đọc, không phải kết quả dự kiến.
Gom và chuẩn hóa trước khi thiết kế bảng.
Thêm quy tắc ở cơ sở dữ liệu rồi dọn dữ liệu cũ.
Làm màn hình nhập có kiểm tra và thử bằng tệp nhỏ trước.
| Chỉ số | Giá trị |
|---|---|
| Cách nhập vùng | Gõ tự do |
| Giá trị trong dữ liệu | HCM, Hồ Chí Minh, Hồ Chi Minh |
| Việc cần làm | Dùng danh sách 6 vùng và đổi dữ liệu cũ về đúng giá trị |
Vùng được gõ tự do nên một nơi có nhiều cách viết.
Đổi thành danh sách đóng.
| Chỉ số | Giá trị |
|---|---|
| Nơi kiểm trùng | Chỉ ở màn hình nhập tay |
| Đường lọt qua | Nhập tệp và gọi API |
| Việc cần làm | Thêm ràng buộc duy nhất rồi gộp các dòng trùng cũ |
Chỉ kiểm trùng ở màn hình, không có ràng buộc duy nhất ở cơ sở dữ liệu.
Thêm ràng buộc.
| Chỉ số | Giá trị |
|---|---|
| Bảng mã của tệp | Không phải UTF-8 |
| Biểu hiện | Dấu bị thay bằng ký tự lạ |
| Việc cần làm | Lưu lại bằng UTF-8 và hiện bảng mã ở bước chọn tệp |
Tệp được lưu bằng bảng mã khác UTF-8.
Lưu lại bằng UTF-8 và hiện bảng mã ở bước chọn tệp.
Tài liệu tham khảo:RFC 4180: định dạng tệp CSV ↗W3C: chọn bảng mã ký tự ↗
Đánh dấu từng mục để xem mức sẵn sàng. Trạng thái chỉ lưu trên trình duyệt của bạn.
Tài liệu tham khảo:PostgreSQL: ràng buộc dữ liệu ↗OWASP: kiểm tra dữ liệu đầu vào ↗
Ba màn hình: tài liệu một điểm cuối, thử gọi và nhật ký đồng bộ. Bấm từng mục để xem.
Trang ghi phương thức và đường dẫn, tham số, cách gửi khóa API và ví dụ phản hồi. Người làm bên kế toán đọc trang này là tự nối được.
Ví dụ phản hồi nên được sinh từ chính hệ thống, không viết tay, để tên trường và kiểu dữ liệu luôn khớp.
/api/v1/orders/{id}1Trả về một đơn và các dòng sản phẩm. Chỉ đọc được đơn thuộc phạm vi của khóa API.
Tham số
| Tên | Vị trí | Mô tả |
|---|---|---|
Authorization | Header | Bearer và khóa API của hệ thống kế toán2 |
id | Đường dẫn | Mã đơn, ví dụ DH-2051 |
Phản hồi 200application/json
{ "id": "DH-2051",
"status": "cho_duyet",
"total": 4200000,
"lines": [ { "sku": "NT-GD-180", "qty": 24 } ] }3Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Gửi POST tạo đơn kèm Idempotency-Key và nội dung mẫu, nhận phản hồi 201 cùng mã đơn. Dòng đầu ghi rõ môi trường thử, không ảnh hưởng đơn thật.
Gửi lại cùng Idempotency-Key khi mạng đứt thì hệ thống trả lại kết quả cũ thay vì tạo đơn thứ hai.
daily.nhathom.example/api/v1/orders1GửiHeader
Authorization: Bearer •••••••• Content-Type: application/json Idempotency-Key: 7f3a9c1e-20512
Nội dung gửi
{ "dealer_id": "DL-0147",
"lines": [ { "sku": "NT-GD-180", "qty": 24 },
{ "sku": "NT-HN-180", "qty": 12 } ] }201 Tạo mới184 ms · 96 byte3
{ "id": "DH-2051", "status": "cho_duyet" }Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Mỗi lượt gửi đơn sang kế toán hay kho có một dòng: giờ, đơn, nơi nhận, kết quả, lần thử. Lỗi 503 tự thử lại tối đa 3 lần.
Sau 3 lần vẫn lỗi thì đơn chuyển vào hàng chờ xử lý tay có người nhận việc, nên đơn không bị mất.
Tổng quan1
Lượt gần nhất
| Giờ | Đơn | Nơi nhận | Kết quả | Lần thử |
|---|---|---|---|---|
| 10:42 | DH-2051 | Kế toán | Thành công | 1 |
| 10:40 | DH-2050 | Kế toán | Lỗi 5032 | 2/3 |
| 10:31 | DH-2049 | Kế toán | Thành công | 1 |
| 09:58 | DH-2044 | Kế toán | Thất bại3 | 3/3 |
| 09:41 | DH-2043 | Kho | Thành công | 1 |
Đơn thất bại sau 3 lần thử chuyển vào hàng chờ xử lý tay, không bị mất.
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:MDN: phương thức HTTP ↗OpenAPI: đặc tả mô tả API ↗
Hỏi bên kia trước. Mỗi điểm cuối có hợp đồng, mỗi hệ thống một khóa.
Tài liệu tham khảo:OpenAPI: đặc tả mô tả API ↗OWASP: bảo mật REST ↗
Cần biết hệ thống bên kia cho nối bằng cách nào; cần người xác nhận sớm.
Hợp đồng API: mỗi dòng một điểm cuối, kèm đường dẫn, phương thức, ai gọi, giới hạn, lỗi. Hai bên đọc cùng bảng nên không phải đoán.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Điểm cuối | Phương thức | Ai gọi | Giới hạn | Lỗi có thể gặp |
| 2 | /orders | GET | Kế toán, kho | 60 lượt mỗi phút | 401, 403, 429 |
| 3 | /orders/{id} | GET | Kế toán, kho | 60 lượt mỗi phút | 401, 403, 404, 429 |
| 4 | /orders | POST | Hệ thống của đại lý | 20 lượt mỗi phút1 | 400, 401, 409, 4292 |
| 5 | /dealers | GET | Kế toán | 30 lượt mỗi phút | 401, 403, 429 |
| 6 | /stock | PUT | Kho3 | 30 lượt mỗi phút | 400, 401, 403, 409, 429 |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:MDN: phương thức HTTP ↗MDN: idempotent ↗
API khỏe thể hiện ở tỷ lệ thành công, lượt bị từ chối và thời gian trả lời. Theo dõi hằng ngày.
Đọc p95 thay vì trung bình, và đọc mã lỗi theo từng loại.
Tổng quan1
Theo mã trạng thái2
Điểm cuối
| Điểm cuối | Lượt | TB | p95 |
|---|---|---|---|
GET /orders | 8.246 | 142 ms | 310 ms |
GET /orders/{id} | 3.571 | 96 ms | 180 ms |
POST /orders | 63 | 402 ms | 780 ms3 |
| Còn lại | 600 | 88 ms | 170 ms |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
| Chỉ số | Cho biết | Cần xem lại khi |
|---|---|---|
| Tỷ lệ thành công | Gần như toàn bộ lượt gọi | Tụt đột ngột trong ngày |
| 401 và 403 | Vài chục lượt mỗi ngày | Tăng vọt hoặc dồn vào một khóa |
| 429 quá nhiều lượt | Hiếm | Lặp lại ở cùng một hệ thống |
| p95 của điểm cuối ghi dữ liệu | Ổn định | Tăng dần qua các tuần |
Mở Sức khỏe API, đọc bốn con số đầu và bảng theo mã trạng thái, rồi đọc bảng điểm cuối với cột TB và p95.
Thành công cao chưa nói dữ liệu đúng: một lượt gọi vẫn có thể gửi sai nội dung.
Số trong hình là số mẫu.
Tài liệu tham khảo:MDN: mã 429 Too Many Requests ↗OWASP: ghi nhật ký ↗
Số trong bảng là số mẫu để minh họa cách đọc, không phải kết quả dự kiến.
Xác nhận cách nối trước rồi mới viết hợp đồng.
Cấp khóa riêng và dựng tài liệu để họ tự nối.
Bắt đầu từ nhật ký đồng bộ rồi phân loại lỗi.
| Chỉ số | Giá trị |
|---|---|
| Khóa chống trùng | Chưa có |
| Biểu hiện | Cùng một đơn xuất hiện hai lần |
| Việc cần làm | Gửi kèm Idempotency-Key, gửi lại cùng khóa thì trả kết quả cũ |
Hệ thống gửi lại mà không có khóa chống trùng.
Thêm Idempotency-Key cho thao tác tạo.
| Chỉ số | Giá trị |
|---|---|
| Sau lỗi 503 | Bỏ qua |
| Số đơn thất bại | 3 trong 24 giờ |
| Việc cần làm | Thử lại tối đa 3 lần rồi chuyển vào hàng chờ có người nhận |
Lỗi tạm thời không được thử lại và không có hàng chờ.
Thêm thử lại và hàng chờ xử lý tay.
| Chỉ số | Giá trị |
|---|---|
| Nơi lưu khóa | Trong tệp mã nguồn |
| Rủi ro | Ai thấy tệp đều gọi được API |
| Việc cần làm | Thu hồi, cấp khóa mới và lưu ở nơi quản lý riêng |
Khóa bị chép vào mã nguồn hoặc đường dẫn nên ai thấy tệp cũng gọi được.
Thu hồi và cấp khóa mới.
Tài liệu tham khảo:MDN: mã trạng thái HTTP ↗OWASP: quản lý khóa và bí mật ↗
Đánh dấu từng mục để xem mức sẵn sàng. Trạng thái chỉ lưu trên trình duyệt của bạn.
Tài liệu tham khảo:OWASP: API Security Top 10 ↗RFC 9110: ngữ nghĩa HTTP ↗
Ba màn hình: ca kiểm thử, lần chạy tự động và biên bản nghiệm thu. Bấm từng mục để xem.
Mỗi ca ghi mã, tên, câu chuyện CDL được kiểm và kết quả. Phần đầu cho biết đợt 1 có 86 ca: 71 đạt, 6 không đạt, 9 chưa chạy.
Ca không nối được về câu chuyện nào là ca thừa hoặc dấu hiệu yêu cầu còn thiếu. Cả hai đều cần hỏi lại.
Tổng quan1
Ca gần đây
| Mã | Ca kiểm thử | Yêu cầu | Kết quả |
|---|---|---|---|
| TC-014 | Đại lý đặt lại đơn cũ | CDL-102 | Đạt |
| TC-015 | Sản phẩm ngừng bán bị bỏ khỏi giỏ | CDL-102 | Đạt |
| TC-031 | Đại lý xem đơn của đại lý khác | CDL-110 | Đạt |
| TC-052 | Duyệt đơn vượt hạn mức | CDL-1032 | Không đạt3 |
| TC-066 | Nhập tệp có dòng lỗi | CDL-130 | Chưa chạy |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Lần chạy #318 qua Dựng, Đơn vị, Tích hợp, Triển khai thử. Tích hợp có 2 ca lỗi nên chặng cuối bị bỏ qua; dòng lỗi chỉ tệp cần sửa.
Máy chạy lại toàn bộ sau mỗi thay đổi nên lỗi do sửa chỗ này làm hỏng chỗ khác được thấy trong vài phút.
✕ POST /orders: vượt hạn mức (TC-052) mong đợi: 409 nhận được: 201 tests/orders.int.test.js:882
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Mỗi chức năng có người xem, ngày xem và kết quả Được duyệt hoặc Cần sửa. Ý kiến ghi ngay bên cạnh để thành điều kiện hoặc lỗi.
Người nghiệm thu nên là người sẽ dùng hệ thống hằng ngày, không phải người đã viết đặc tả. Họ thấy những chỗ mà bản vẽ không cho thấy được.
Tổng quan1
Người dùng thật xem từng chức năng
| Chức năng | Người xem | Ngày | Kết quả |
|---|---|---|---|
| Đặt đơn từ danh mục | Hà Trang | 04/10 | Được duyệt |
| Đặt lại đơn cũ | Hà Trang | 04/10 | Được duyệt |
| Duyệt đơn trong vùng | Minh Tuấn | 05/10 | Cần sửa2 |
| Soạn và giao hàng | Thanh Bình | 06/10 | Được duyệt |
Minh Tuấn05/10/2026 · Duyệt đơn trong vùng
Khi từ chối đơn cần bắt buộc ghi lý do, để đại lý biết phải sửa gì.3
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:Martin Fowler: kim tự tháp kiểm thử ↗Atlassian: điều kiện chấp nhận ↗
Xuất phát từ điều kiện chấp nhận. Máy chạy lặp, người thật thử phần còn lại.
Tài liệu tham khảo:Martin Fowler: tích hợp liên tục ↗Martin Fowler: kim tự tháp kiểm thử ↗
Cần điều kiện chấp nhận đã duyệt và người thật để nghiệm thu.
Kế hoạch chia ca theo nhóm chức năng: số ca, đạt, không đạt, chưa chạy, người phụ trách. Nhóm phân quyền chạy đầu và phải đạt hết.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Nhóm | Số ca | Đạt | Không đạt | Chưa chạy | Phụ trách |
| 2 | Đặt hàng | 22 | 20 | 1 | 1 | Hà Trang |
| 3 | Duyệt đơn | 18 | 14 | 31 | 1 | Minh Tuấn |
| 4 | Kho và giao hàng | 16 | 13 | 1 | 2 | Thanh Bình |
| 5 | Phân quyền | 14 | 142 | 0 | 0 | Lan Anh |
| 6 | Nhập tệp | 10 | 6 | 1 | 33 | Hà Trang |
| 7 | Hóa đơn | 6 | 4 | 0 | 2 | Lan Anh |
| 8 | Tổng cộng | 86 | 71 | 6 | 9 | — |
Giao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
Tài liệu tham khảo:Martin Fowler: kim tự tháp kiểm thử ↗OWASP: hướng dẫn kiểm thử bảo mật web ↗
Bảng lỗi cho biết lỗi nào đang mở, mức nào, chờ ai. Số lỗi mở giảm đều qua các đợt là tốt.
Lỗi mức Cao nằm ở cột Mới quá lâu là chỗ cần hỏi.
Mới21
Lý do từ chối không hiện cho đại lý
BUG-041CaoNgày giao lệch một ngày ở Safari
BUG-042ThấpĐang sửa22
Tồn kho âm khi hai người soạn cùng lúc
BUG-037CaoXuất hóa đơn chậm khi đơn trên 50 dòng
BUG-039VừaChờ kiểm lại23
Đặt lại đơn bỏ sót sản phẩm mới
BUG-033VừaSai chính tả nút Từ chối
BUG-035ThấpGiao diện và số liệu minh họa cho thương hiệu giả định Nhà Thơm; không phải kết quả của khách hàng.
| Chỉ số | Cho biết | Cần xem lại khi |
|---|---|---|
| Lỗi mức Cao đang mở | Không còn khi phát hành | Nằm ở cột Mới nhiều ngày |
| Lỗi ở cột Đang sửa | Ít và có người nhận | Một người phụ trách nhiều lỗi |
| Lỗi chờ kiểm lại | Người báo xác nhận trong vài ngày | Nằm lâu vì người báo chưa xem |
| Lỗi lặp lại | Hiếm | Cùng một chức năng nhiều lần |
Mở Bảng lỗi, nhìn số lỗi ở từng cột rồi đọc mức độ của từng thẻ.
Mở các lỗi mức Cao trước.
Ít lỗi có thể do chưa kiểm hết.
Đọc cùng số ca chưa chạy. Số trong hình là số mẫu.
Tài liệu tham khảo:Martin Fowler: tích hợp liên tục ↗Scrum Guide: định nghĩa hoàn thành ↗
Số trong bảng là số mẫu để minh họa cách đọc, không phải kết quả dự kiến.
Viết ca kiểm thử song song với việc làm, không chờ làm xong.
Thêm ca kiểm thử cho phần hay hỏng trước rồi mở rộng dần.
Xếp ca theo mức quan trọng và chạy các ca quan trọng trước.
| Chỉ số | Giá trị |
|---|---|
| Ca chạy tự động | Chưa có |
| Cách phát hiện lỗi | Khi người dùng báo |
| Việc cần làm | Viết ca cho phần hay vỡ và chạy sau mỗi thay đổi |
Chưa có ca kiểm thử tự chạy nên không ai biết ngay.
Thêm ca cho phần dễ vỡ và cho máy chạy sau mỗi thay đổi.
| Chỉ số | Giá trị |
|---|---|
| Người nghiệm thu | Người viết đặc tả |
| Người dùng thật | Chưa được thử |
| Việc cần làm | Mỗi vai trò có người thử chức năng của mình |
Người xem thử không phải người dùng hằng ngày.
Cho người của từng vai trò thử đúng chức năng của họ.
| Chỉ số | Giá trị |
|---|---|
| Nơi ghi lỗi | Tin nhắn riêng lẻ |
| Lỗi chưa có người nhận | Không ai đếm |
| Việc cần làm | Ghi mọi lỗi vào một bảng, mỗi lỗi có người nhận và mức độ |
Lỗi không có chỗ theo dõi nên không ai nhận.
Dùng một bảng lỗi có người nhận và mức độ.
Tài liệu tham khảo:Martin Fowler: tích hợp liên tục ↗OWASP: hướng dẫn kiểm thử bảo mật web ↗
Đánh dấu từng mục để xem mức sẵn sàng. Trạng thái chỉ lưu trên trình duyệt của bạn.
Tài liệu tham khảo:OWASP: hướng dẫn kiểm thử bảo mật web ↗Scrum Guide: định nghĩa hoàn thành ↗
Chọn một ô để quay lại đúng phần nội dung ở trên.
Mỗi bước kết thúc bằng một thứ xem được. Bấm một bước để xem việc làm và thứ được bàn giao.
Vai trò, quy trình, dữ liệu, hệ thống.
Bàn giaoBáo cáo khảo sátCâu chuyện, module, quyền, ngoài phạm vi.
Bàn giaoTài liệu đặc tảLuồng chính và trạng thái.
Bàn giaoBản mẫu bấm đượcMỗi đợt vài module.
Bàn giaoBản thử nghiệmTheo điều kiện đã chốt.
Bàn giaoBiên bảnGhi chú phát hành, tài liệu.
Bàn giaoHệ thống, tài liệuTài liệu tham khảo:OWASP: API Security Top 10 ↗W3C WAI: hướng dẫn biểu mẫu ↗
Chọn một chủ đề. Câu trả lời nói rõ cả điều làm được lẫn điều không ai bảo đảm được.
Sau khi có đặc tả: dựa trên nghiệp vụ, hệ thống cần nối, đội vận hành và ngân sách duy trì.
Theo số module, vai trò, kết nối và độ phức tạp; báo giá sau khi có đặc tả, không theo số trang.
Nên làm dần: đợt đầu các module quan trọng nhất, dùng thật rồi mới làm tiếp.
Có. Thay đổi đi qua môi trường thử nghiệm, có ghi chú phát hành.
Thỏa thuận trong hợp đồng; ONMATE khuyến nghị bàn giao mã nguồn và tài liệu cho doanh nghiệp.
Chỉ thu dữ liệu cần dùng, phân quyền xem; yêu cầu pháp lý cụ thể nên hỏi ý kiến pháp chế của doanh nghiệp.
Tài liệu tham khảo:OWASP: API Security Top 10 ↗
Chỉ cần họ tên và số điện thoại. Các mục còn lại bỏ trống cũng được.
Yêu cầu chưa được gửi. Bạn có thể sao chép nội dung và gửi qua Messenger hoặc kênh liên hệ bên dưới để bắt đầu trao đổi.