AllianceProject Handbook
← Knowledge

Kiểm soát chất lượng

PM cần gì để quyết định automation test

Ba artifact hay được liệt kê chỉ trả lời nửa câu hỏi. Nửa còn lại — số lần kiểm lại, trọng số nghiệp vụ, dữ liệu test — chỉ chủ sản phẩm có, và đó mới là nửa quyết định được.

Cập nhật 14/09/2026chất lượngtestautomationyêu cầuưu tiên

2 nửa

hồ sơ quyết định — khả thiđáng giá

6 câu

chỉ chủ sản phẩm trả lời được

+2 mục

thêm vào Definition of Ready đã có

1 bảng

thứ duy nhất phải ép có cho mỗi kịch bản

Câu hỏi thật sự đang được quyết

Không phải "có làm automation không". Câu đó ai cũng trả lời có, rồi không đổi được gì.

Ba câu dưới mới là câu phải quyết, và cả ba đều cần dữ liệu khác nhau:

  1. Luồng nào trước

    cần trọng số nghiệp vụ và lượt dùng

  2. Automation ở tầng nào

    cần bản đồ hành động sang API

  3. Đổi lại cắt việc tay nào

    cần cam kết, không cần dữ liệu

Câu thứ ba hay bị bỏ. Thêm automation mà không bớt regression tay thì chi phí chỉ tăng — nguyên tắc thêm vào thì phải lấy raưu tiên công việc áp dụng nguyên vẹn cho automation.

Hồ sơ quyết định có hai nửa

  • Hồ sơ quyết định automation

    • Nửa KHẢ THI

      trả lời "làm được tới đâu, giá bao nhiêu" — đội kỹ thuật tự làm ra được

      • Acceptance criteria kiểm chứng được bằng số

      • Chuỗi hành động người dùng, mỗi bước gọi API nào

      • Danh sách API kèm contract — mã lỗi, quyền, idempotency, phân trang

    • Nửa ĐÁNG GIÁ

      trả lời "có đáng bỏ tiền không" — chỉ chủ sản phẩm có dữ liệu

      • Luồng này bị kiểm lại bao nhiêu lần mỗi năm

      • Trọng số nghiệp vụ — tiền, quyền, mất dữ liệu, lượt dùng

      • Độ biến động ba sprint qua, và kế hoạch đổi sắp tới

      • Dữ liệu test tạo và dọn được không

      • Ai sửa khi test đỏ

      • Việc tay nào được cắt khi automation xong

Ba gạch đầu dòng ở nhánh trên là ba thứ hay được liệt kê khi bàn automation. Chúng cần, nhưng chúng là phần đội kỹ thuật tự lo được. Đóng góp không thay thế được của chủ sản phẩm nằm ở nhánh dưới — vì nó ở roadmap, ở số người dùng, ở tiền.

Đi đòi mỗi nhánh trên là đang làm hộ việc của chủ kỹ thuật, mà vẫn không quyết được gì.

Ba artifact quen thuộc — và chỗ hụt của từng cái

Chỗ hụt
Phải nâng thành gì
User story
Story mô tả mong muốn, không mô tả thứ phải đúng. Không có gì để máy so sánh
Acceptance criteria dạng số. Không phải "giá hiển thị đúng" mà "đơn 1.234.567đ, giảm hai mức chồng nhau, thu về 1.098.765đ". Cách viết ở yêu cầu và acceptance criteria
Chuỗi action và API được gọi
Đúng trọng tâm nhất, nhưng thường chỉ dừng ở sơ đồ gọi — biết gọi gì, không biết phải đúng gì
Thêm hai cột: quy tắc phải đúng ở mỗi bước, và tầng kiểm được. Hai cột đó biến sơ đồ thành kế hoạch test
API list và mô tả
"Có tài liệu" khác "có contract". Tài liệu thiếu mã lỗi, quy tắc quyền, idempotency, ngữ nghĩa phân trang thì chỉ viết nổi happy path
Mỗi endpoint khai đủ bốn thứ đó. Bảy nhóm cần test ở API liệt kê tại phạm vi automation

Happy path gần như không bắt được bug nào. Bug nằm ở nhánh lỗi, nhánh thiếu quyền, nhánh gửi lại — đúng những nhánh mà tài liệu sơ sài không mô tả.

Sáu câu chỉ chủ sản phẩm trả lời được

Mở khoá quyết định gì
Thiếu thì hỏng ở đâu
Luồng này bị kiểm lại bao nhiêu lần một năm
Mẫu số của ROI — nhịp release nhân số release luồng còn sống
Không tính được điểm hoà vốn, cả đội cãi nhau bằng cảm giác
Chạm tiền, quyền hay mất dữ liệu không, bao nhiêu lượt dùng
Thứ tự ưu tiên — automation cái nào trước
Automation cái dễ viết thay vì cái đắt khi hỏng
Ba sprint qua đổi mấy lần, sắp tới có đổi giao diện không
Được phép automation ở tầng giao diện hay phải dồn xuống API
Viết xong sprint sau vứt, rồi cả đội kết luận "automation không hiệu quả"
Dữ liệu cho kịch bản này tạo và dọn bằng cách nào
Khả thi thật sự, trước cả chuyện tiền
Thứ giết nhiều kế hoạch automation nhất. Kịch bản cần giao dịch ngân hàng thật hay SMS nhà mạng thật thì không automation nổi dù hồ sơ hoàn hảo
Ai sửa khi test này đỏ, tên cụ thể
Bộ test còn sống sau hai quý hay không
Đỏ, không ai nhận, bị tắt, rồi chết. Duyệt cũng bằng thừa
Automation xong thì cắt việc tay nào
ROI có về hay không
Chi phí tăng, không ai tiết kiệm được gì, lần sau xin ngân sách automation sẽ bị từ chối

Câu thứ tư và câu thứ sáu là hai câu bị bỏ qua nhiều nhất, và cũng là hai câu rẻ nhất để hỏi.

Bảng kịch bản — artifact duy nhất phải ép có

Ba artifact ở trên hội tụ thành đúng một bảng, làm một lần cho mỗi kịch bản trọng yếu:

Kịch bản: Tạo đơn -> thanh toán -> xem lịch sử
Trọng số : chạm tiền CÓ | ~40k lượt/ngày | kiểm lại ~24 lần/năm
Biến động: đổi lần cuối 4 tháng trước | sắp đổi giao diện: không

  # | Hành động người dùng  | API được gọi         | Quy tắc phải đúng           | Tầng
----+-----------------------+----------------------+-----------------------------+------
  1 | Chọn sản phẩm         | GET  /products       | Giá hiện = giá server       | API
  2 | Bấm đặt hàng          | POST /orders + key   | Gửi lại 5 lần vẫn 1 đơn     | API
  3 | Chọn thanh toán       | POST /payments       | Tổng khớp bảng ca biên      | API
  4 | Xem lịch sử           | GET  /orders         | Đúng 1 đơn, đúng thứ tự     | API
  - | Rút mạng ở bước 3     | (không gọi được)     | Không mất, không nhân đôi   | E2E

Dữ liệu test: seed bằng script, dọn được     Chủ sở hữu khi đỏ: <tên người>

Có bảng này rồi thì quyết định tự rơi ra, không cần họp:

Đếm số dòng ghi API

Đó là phần rẻ — vài giây một case. Làm hết, không cần bàn.

Đếm số dòng ghi E2E

Đó là toàn bộ ngân sách đắt — vài phút một case. Chỗ duy nhất phải cân nhắc cắt.

Dòng dữ liệu test còn trống

Chưa quyết được. Đây là việc hạ tầng phải làm trước, không phải việc của người viết test.

Dòng "sắp đổi giao diện: có"

Cấm automation tầng giao diện cho kịch bản này. Dồn xuống API, đợi thiết kế chốt.

Cột Tầng do chủ kỹ thuật điền, không phải chủ sản phẩm. Việc của chủ sản phẩm là ép cho bảng tồn tại và ép ba dòng đầu có số.

Thêm hai mục vào Definition of Ready

Yêu cầu và acceptance criteria đã có Definition of Ready bảy mục. Bảy mục đó đủ để dev làm được hạng mục. Chưa đủ để quyết được automation. Thiếu đúng hai:

Có bảng kịch bản cho luồng bị chạm

Hành động, API, quy tắc phải đúng. Cột tầng để trống cũng được — chủ kỹ thuật điền trong buổi chuẩn bị.

Nêu được cách tạo và dọn dữ liệu test

Kể cả khi câu trả lời là "chưa có cách". Biết sớm thì mở phiếu hạ tầng, không phải phát hiện lúc sắp release.

Thêm hai dòng vào checklist có sẵn, không dựng checklist mới. Và giữ nguyên luật cũ: dev được quyền từ chối nhận việc chưa đạt Định nghĩa Sẵn sàng.

Quy trình quyết định bốn bước

  1. Kiểm đủ hồ sơ chưa

    Thiếu acceptance criteria dạng số, thiếu bảng kịch bản, thiếu contract — thì kết luận là "chưa quyết được", trả về chặng làm rõ. Đây không phải từ chối automation.

  2. Xếp hạng

    Chạm tiền hay quyền hay dữ liệu, nhân lượt dùng, nhân số lần kiểm lại mỗi năm, chia cho độ biến động. Xếp xong mới bàn tới tầng.

  3. Chọn tầng

    Mặc định là API. Chỉ leo lên E2E khi API không chứng minh nổi — mất mạng, hệ điều hành kill app, nâng cấp mang dữ liệu cũ, deep link. Danh sách đầy đủ ở phạm vi automation.

  4. Chốt đánh đổi

    Ghi thẳng vào quyết định: được bao nhiêu giờ viết automation, đổi lại cắt bỏ việc regression tay nào. Không có vế sau thì không duyệt.

Ba lằn ranh nên nói thẳng "chưa quyết được"

Hỏi sai và hỏi đúng

Hỏi ở cấp từng feature

  • "Feature này có automation không?" — hỏi lại từ đầu mỗi sprint
  • Automation luôn thua feature khi deadline gần
  • Quyết định không tích luỹ, không thành bộ test
  • Mỗi lần quyết lại tốn một buổi họp
  • Ai giọng to hơn thì thắng, không ai có số để cãi

Hỏi ở cấp quy trình

  • Biến ba artifact thành Definition of Ready, quyết một lần
  • Hạng mục thiếu bảng kịch bản thì chưa được vào sprint
  • Ở từng feature chỉ còn đúng một câu: tầng nào?
  • Câu đó chủ kỹ thuật trả lời trong năm phút bằng chính cái bảng
  • Tranh luận chuyển từ ý kiến sang số liệu

Sáu việc phải chốt trước khi coi là quyết xong

Ai chốt

Chủ sản phẩm chốt trọng số và thứ tự ưu tiên. Chủ kỹ thuật chốt tầng và ước lượng. Hai người không đổi vai cho nhau.

Chặn ở chặng nào

Buổi chuẩn bị hạng mục, trước khi vào sprint. Chặn ở đây rẻ hơn chặn lúc sắp release vài chục lần — xem shift left.

Người quyết cái gì

Chủ sản phẩm không chọn tầng automation. Chủ sản phẩm chỉ ép cho đủ dữ liệu để người khác chọn được.

Đo bằng số nào

Tỷ lệ kịch bản trọng yếu đã có bảng đầy đủ. Dưới 100% thì phần thiếu chính là phần đang quyết định mù.

Bằng chứng ở đâu

Bảng kịch bản nằm ngay trong hạng mục, cùng chỗ với acceptance criteria. Không nằm ở file riêng, không nằm trong trí nhớ ai.

Hết giờ cắt gì

Cắt dòng E2E trước, cắt từ luồng ít lượt dùng nhất. Không bao giờ cắt cái bảng — bảng rẻ, và không có nó thì lần sau lại quyết mù.