Khi xây dựng dự án test automation, làm thế nào để bạn có thể báo cáo nhanh cho manager hoặc các bên liên quan về kết quả của tất cả các test case, cũng như có một báo cáo chi tiết dành cho developer sau khi các test case được thực thi. Đó chính là nhờ vào test report.
Vậy test report là gì? Tầm quan trọng cũng như những giá trị của test report mang lại như thế nào, chúng ta cùng tham khảo chi tiết bên dưới.
Test Report là gì
Test report có thể hiểu đơn giản là sau khi chạy tất cả các test cases trong hệ thống test automation, ta sẽ có một bản tóm tắt tường minh, dễ hiểu. Bản tóm tắt này có thể là text thông thường, cũng có thể là hình ảnh, v.v.. miễn là nó thể hiện được các thông tin cần thiết như:
- Tổng số test suites, test cases đã được thực thi
- Số lượng test case PASSED, số lượng test case FAILED
- Tổng thời gian thực thi
- Trong trường hợp test case FAILED, thì chỉ rõ lỗi là gì, ở dòng code nào, có thể có thêm hình ảnh, video để dễ xác định lỗi.
Dưới đây là một số hình ảnh ví dụ về test report
Hình 1.0: Test Report được tạo từ Allure Test Report
Hình 2.0: Test Report được tạo từ Spec Reporter
Tầm quan trọng của Test Report
Mục đích chính của test report là giúp những bộ phận liên quan như dev, tester, manager, v.v… đánh giá được chất lượng sản phẩm cũng như kiểm tra nhanh kết quả của các test case sau khi được thực thi, và hơn thế nữa nó còn giúp cho developer có thể debug dễ dàng khi có lỗi xảy ra.
Từ những mục đích trên, nó đem tới một số giá trị nhất định cho dự án test automation như sau:
-
Đối với manager: có thêm cơ sở để đánh giá chất lượng sản phẩm trước khi release.
-
Đối với tester: có cái nhìn tổng quát hơn về toàn bộ các test cases. Bao nhiêu test case đã được automation? Bao nhiêu test case cần thực hiện manual? Dựa vào test report, tester dễ dàng trả lời được những câu hỏi này.
-
Đối với developer: có thêm một công cụ hỗ trợ đắc lực nhằm đảm bảo khi thêm tính năng mới cũng như refactor code sẽ không ảnh hưởng tới các chức năng cũ một cách nhanh nhất mà không cần nhờ tới tester.
-
Đối với chính các member tham gia dự án test automation:
- Có cái nhìn tổng thể về toàn bộ các test case đã được implement.
- Thông qua test report, có thể nắm được “tình hình sức khỏe” của toàn bộ hệ thống test automation, bao gồm như: môi trường, network, độ ổn định của các test cases, …
- Một công cụ dùng để debug, truy vết lỗi một cách dễ dàng và thuận tiện, từ đó phát hiện ra đó là bug của test scripts hay là bug của sản phẩm.
Test report là một phần không thể thiếu trong hầu hết các dự án test automation, nó góp phần làm nâng cao hơn nữa giá trị của test automation.
Các tiêu chí để lựa chọn report tool
Hiện nay, đa phần các test automation frameworks đều có hỗ trợ built-in report. Tuy nhiên, một số trường hợp built-in report không đáp ứng được các nhu cầu của dự án cụ thể như: xuất file report bằng HTML, PDF; gửi report qua email; hay kết hợp trên CI/CD, … thì chúng ta có thể kết hợp sử dụng chung với các third-party report tool để giải quyết.
Bên dưới là một số các tiêu chí thường được hướng tới của report tool như sau:
- Đảm bảo các thông số quan trọng được hiển thị: tổng số test case (PASS/FAILED), thời gian thực thi, …
- Báo cáo chi tiết cho các trường hợp test case bị failed
- Có thể tạo test report với nhiều định dạng khác nhau: HTML, PDF, …
- Test report có thể được hiện thị bằng văn bản hoặc đồ họa.
- Có thể tích hợp với các hệ thống CI/CD như Jenkins, CircleCI, …
- Có biểu đồ về thời gian thực thi của các test case nhằm đánh giá tốc độ giữa các lần chạy khác nhau
- Có thể recording lại các test case khi đang được thực thi.
- Có thể gởi các test report thông qua email.
- …
Do đó, dựa vào mong muốn của từng dự án mà bạn có thể kết hợp một hoặc nhiều report tools trong cùng dự án.
Một số report tools tiêu biểu dành cho các dự án test automation như: Allure Test Report, Extent Reports, JUnit Plugin + Jenkins, …
Lời kết
Test report là một phần quan trọng của bất kỳ test automation framework nào, nó là một công cụ đắc lực để nâng cao hơn nữa giá trị của dự án test automation. Tuy nhiên, bạn cần phải xem xét kỹ lưỡng trước khi thêm bất report tool nào vào dự án:
- Khai thác triệt để các tính năng đã được hỗ trợ trong built-in report của test automation framework đang sử dụng.
- Sự tương thích với test automation framework cũng như performance của third-party report tool.
- Sử dụng report tool đáng tin cậy (cộng đồng lớn, tần suất update/release phiên bản mới, …)