Menu

Kiểm thử biểu mẫu hoá đơn doanh nghiệp: những nhánh cần chạy

Biểu mẫu hoá đơn doanh nghiệp hỏi tên công ty, mã số đăng ký, mã VAT, mã số thuế, địa chỉ và người liên hệ. Bài này gom các nhánh cần chạy, từ có mã VAT tới không có mã, và cách dựng dữ liệu thử rõ ràng là giả.

Đăng ngày

  • hoá đơn
  • biểu mẫu
  • kiểm thử

Kiểm thử biểu mẫu hoá đơn là công việc ít được ưu tiên cho tới khi hoá đơn thật bị trả lại. Biểu mẫu này có một đặc điểm khiến nó khác các biểu mẫu khác: nó vừa phải chấp nhận dữ liệu đúng của nhiều quốc gia, vừa phải từ chối những tổ hợp trường không hợp lệ, mà hai yêu cầu đó thường xung đột nhau nếu bạn chỉ viết một bộ quy tắc chung. Bài này liệt kê các nhánh cần chạy và cách tổ chức chúng.

Biểu mẫu hoá đơn doanh nghiệp cần những trường gì?

Danh sách thay đổi theo quốc gia và theo loại giao dịch, nhưng phần lõi khá ổn định. Bên mua thường phải cung cấp tên pháp định của doanh nghiệp, mã số đăng ký hoặc mã số thuế, mã VAT nếu có, địa chỉ xuất hoá đơn, và một người liên hệ kèm hộp thư công việc để nhận chứng từ.

Điều quan trọng là các trường này không độc lập với nhau. Sự hiện diện của mã VAT làm thay đổi cách xử lý thuế của cả hoá đơn, và địa chỉ xuất hoá đơn quyết định quy tắc nào được áp dụng. Vì vậy không thể kiểm thử từng trường riêng rẽ rồi kết luận biểu mẫu đã đúng; bạn phải kiểm thử theo tổ hợp.

Vì sao bốn nhánh dễ bị bỏ sót nhất?

Vì bốn nhánh đó là bốn tổ hợp mà người viết mã thường không nghĩ tới khi làm giao diện. Nhánh thứ nhất là doanh nghiệp có mã VAT hợp lệ; nhánh thứ hai là doanh nghiệp không có mã VAT, hoặc có nhưng không cung cấp; nhánh thứ ba là giao dịch giữa hai quốc gia khác nhau; nhánh thứ tư là hoá đơn cho cá nhân chứ không phải doanh nghiệp.

Ba nhánh đầu ảnh hưởng tới cách hệ thống xử lý thuế, còn nhánh thứ tư ảnh hưởng tới cả tập trường bắt buộc. Nếu bạn chỉ kiểm thử với một hồ sơ doanh nghiệp đầy đủ ở trong nước, bạn sẽ không bao giờ chạm tới ba nhánh còn lại, và lỗi sẽ xuất hiện đúng ở nhóm khách hàng mà bạn khó hỗ trợ nhất.

Bảng ma trận ca kiểm thử

Bảng dưới đây là một ma trận gợi ý, có thể mở rộng thêm cột cho từng quốc gia trọng điểm.

Ca Loại chủ thể Mã VAT Địa điểm giao dịch Điều cần kiểm chứng
A Doanh nghiệp Có, hợp lệ Trong nước Hoá đơn được tạo, trường thuế được điền đúng
B Doanh nghiệp Không có Trong nước Biểu mẫu không bắt buộc mã VAT, vẫn phát hành được
C Doanh nghiệp Có Khác quốc gia Quy tắc xuyên biên giới được áp, mã được ghi đúng nguyên dạng
D Cá nhân Không áp dụng Trong nước Nhóm trường doanh nghiệp ẩn đi, hoá đơn vẫn hợp lệ
E Doanh nghiệp Có nhưng gõ sai định dạng Trong nước Lỗi được chỉ đúng trường, không chặn cả biểu mẫu
F Doanh nghiệp Có Khác quốc gia Nguồn tra cứu không phản hồi, hệ thống xử lý như trạng thái tạm thời

Một ma trận như vậy giúp bạn nhìn ra ngay những tổ hợp chưa từng được chạy. Với mỗi ca, hãy ghi lại kết quả mong đợi ở mức nghiệp vụ chứ không chỉ ở mức giao diện, vì phần khó nằm ở hành vi của hệ thống chứ không nằm ở màu của thông báo lỗi.

Hoá đơn của cá nhân và của doanh nghiệp khác nhau ở đâu?

Chúng khác nhau ở tập trường bắt buộc và ở cách xử lý thuế. Với cá nhân, hệ thống thường không hỏi mã VAT hay mã số đăng ký, và việc xác định nghĩa vụ thuế dựa trên thông tin khác. Với doanh nghiệp, các mã đó trở thành căn cứ để xác định loại hoá đơn và cách kê khai, nên chúng thường là trường bắt buộc hoặc bắt buộc có điều kiện.

Hệ quả kỹ thuật là biểu mẫu nên có hai đường đi rõ ràng ngay từ đầu, thay vì một biểu mẫu dài rồi ẩn bớt trường. Khi trường bị ẩn nhưng vẫn tham gia kiểm tra hợp lệ, bạn sẽ gặp những lỗi vô lý kiểu “mã VAT không hợp lệ” hiện lên trong luồng dành cho cá nhân. Bài các quy tắc kiểm tra mã số thuế giải thích vì sao trường bị ẩn vẫn hay bị kiểm tra nhầm.

Phần dành cho nhà phát triển

Hãy xây dựng bộ ca kiểm thử trước khi hoàn thiện giao diện, vì chính bộ ca đó sẽ chỉ ra biểu mẫu cần chia nhánh ở đâu. Sau đó kiểm tra bốn nhóm hành vi mà biểu mẫu hoá đơn hay làm sai.

  • Tính duy nhất và tính lặp lại của số hoá đơn. Nếu người dùng bấm gửi hai lần, hệ thống phải tạo ra một hoá đơn, không phải hai. Hãy thiết kế sao cho lần gửi thứ hai nhận lại đúng kết quả của lần thứ nhất.
  • Thứ tự kiểm tra hợp lệ. Hãy kiểm tra theo thứ tự từ trường chắc chắn sai tới trường phụ thuộc, và chỉ báo lỗi đầu tiên của mỗi trường để người dùng không phải sửa từng cái một.
  • Vị trí hiển thị lỗi. Lỗi phải nằm ngay cạnh trường gây ra nó, kể cả khi trường đó nằm trong một nhóm bị thu gọn.
  • Môi trường dữ liệu thử. Dữ liệu dùng để chạy các ca trên phải là dữ liệu tổng hợp, có dấu hiệu nhận biết rõ ràng, và không bao giờ được trộn với hoá đơn thật trong cùng một môi trường.

Khi bạn cần hồ sơ để chạy ma trận trên, trình tạo dữ liệu công ty để thử nghiệm của trang này sinh một bộ dữ liệu công ty tổng hợp theo quốc gia, gồm tên, địa chỉ xuất hoá đơn, mã số đăng ký và mã VAT, kèm khoá danh tính để sinh lại đúng bộ đó. Dữ liệu dùng cho các bài thử phải là dữ liệu tổng hợp; bài này không hướng dẫn và không cho phép dùng thông tin giả cho giao dịch thật.

Bước tiếp theo

Hãy dựng ma trận ca kiểm thử cho đúng những quốc gia mà sản phẩm đang phục vụ, rồi chạy hết sáu ca ở bảng trên trước khi mở rộng thêm. Sau đó đọc bài ranh giới của dữ liệu công ty hư cấu để chắc chắn dữ liệu thử của bạn không bị lẫn ra ngoài môi trường kiểm thử.

Đọc tiếp

Bài viết về Trình tạo dữ liệu công ty để thử nghiệm