Bỏ qua đến nội dung chính
Clinford Jordano Valencia
Tất cả dự án
Nền tảng

Công cụ chèn trạng thái cho kiểm thử

Chèn trạng thái từ phía máy chủ, cho phép QA và tự động hóa nhảy thẳng tới bất kỳ bước nào của một luồng dài, rút thời gian chuẩn bị hồi quy từ nhiều phút xuống dưới một phút.

Công nghệ
TypeScript · Playwright · BFF · Test database

Vấn đề

Để kiểm tra một lỗi ở bước 5 của một luồng dài, trước hết bạn phải làm thủ công các bước 1 đến 4: thông tin hợp lệ, tải lên, kiểm tra. Lần nào cũng vậy, với mỗi pull request và mỗi lần chạy tự động.

Cách tiếp cận

Công cụ cho phép người kiểm thử hoặc một script mở ứng dụng ngay ở trạng thái họ cần.

  1. Một script Playwright hoặc một kỹ sư QA tải trang với một token kiểm thử an toàn, ví dụ ?state=step_4_ready.
  2. Frontend thấy token khi hydration và chuyển tiếp nó trong header tới BFF.
  3. BFF kiểm tra môi trường nghiêm ngặt không phải production, rồi khởi tạo phiên của người dùng trong cơ sở dữ liệu kiểm thử: các bước trước đã hoàn tất, con trỏ hiện tại ở bước 4.
  4. BFF trả về một token phiên thật và giao diện hiển thị ngay bước 4.

Tôi chọn chèn trạng thái từ phía máy chủ thay vì giả lập localStorage ở phía client. Các ứng dụng hiện đại xác thực phiên ở backend, nên mock chỉ ở client sẽ dần lệch khỏi thực tế và tạo ra các bài kiểm thử qua được ở đây nhưng hỏng trên production.

Kết quả

Thời gian chuẩn bị hồi quy giảm từ 10–20 phút mỗi vòng xuống dưới một phút. Với nhiều lượt chạy pull request và bộ tự động hóa mỗi tuần, điều đó trả lại hàng trăm giờ kỹ thuật mỗi quý.