Một trong những yếu tố then chốt để ứng dụng kiểm thử tự động (Automation test) vào trong quy trình làm việc của QA là hiểu rõ những loại hình kiểm thử tự động. Việc này còn giúp bạn đưa ra những lựa chọn sáng suốt để tạo ra kết quả tốt nhất cho dự án/doanh nghiệp của bạn.
Có rất nhiều loại hình kiểm thử tự động khác nhau. Dưới đây là 7 loại hình phổ biến nhất trong hệ thống kiểm thử tự động:
1. Kiểm thử đơn vị – Unit Testing
Unit Test là một phương pháp kiểm thử phần mềm trong đó các đơn vị hoặc thành phần chương trình riêng lẻ được kiểm tra để xác minh rằng chúng hoạt động theo đúng kế hoạch. Phương pháp này được thực hiện bởi các nhà phát triển trong suốt quá trình phát triển (code phase) của một ứng dụng. Cách thức kiểm thử là cô lập một đoạn mã cụ thể và kiểm tra chất lượng của nó.
Một hàm, phương thức (method), thủ tục (procedure), mô-đun (module) hoặc đối tượng đơn lẻ (object) có thể được coi là một đơn vị.
Các bài kiểm thử đơn vị đơn vị đặc biệt hữu ích vì chúng giúp phát hiện sớm các lỗi trong quá trình phát triển, giảm chi phí sửa chữa. Chức năng của từng đơn vị trong chương trình có thể được các nhà phát triển hiểu rõ hơn với sự trợ giúp của unit test, điều này cũng giúp các đoạn code được sử dụng lại dễ dàng hơn.
Tuy nhiên, loại hình này không phải lúc nào chúng cũng phát hiện ra lỗi đơn lẻ trong ứng dụng và tính ứng dụng của nó lại chỉ giới hạn ở phạm vi nhỏ hơn các đơn vị.
Unit Test có thể phân loại thành ba nhóm:
- Black box testing: Kiểm thử input và output ngoài giao diện người dùng.
- White box testing: Đánh giá chức năng của ứng dụng.
- Testing gray boxes: Thực thi các test case, test suite và tiến hành phân tích rủi ro.
2. Kiểm thử tích hợp – Integration Testing
Kiểm thử tích hợp đòi hỏi phải kiểm tra toàn bộ các yếu tố của ứng dụng. Nó tập trung vào việc xác định xem toàn bộ hệ thống có đáp ứng các yêu cầu chức năng hay không.
Integration Testing hoạt động bằng cách xem cách một số mô-đun tương tác với nhau khi chúng được kết hợp.
Sau kiểm thử đơn vị, kiểm thử tích hợp giúp đảm bảo sự tương tác liền mạch giữa các chức năng khác nhau để tạo điều kiện cho một phần mềm chạy tốt về tổng thể.
Một số các kỹ thuật để kiểm thử tích hợp có thể kể đến gồm:
The Big Bang Approach, the Top-Down Approach, The Bottom-Up Approach, và The Sandwich Approach
3. Kiểm thử chức năng – Functional Testing
Kiểm thử chức năng so sánh chương trình/phần mềm với các yêu cầu,thông số kỹ thuật chức năng đã được xác định trước đó. Nó tập trung vào chức năng của chương trình/phần và chủ yếu sử dụng kiểm thử hộp đen (black box testing)
Kiểm thử hộp đen, thường được gọi là kiểm thử hành vi, liên quan đến việc đánh giá hoạt động của một phần tử mà không tìm hiểu thêm về cách hoạt động bên trong của nó. Điều này chỉ ra rằng người thử nghiệm không có kiến thức về cấu trúc hoặc bố cục của thứ đang được kiểm tra
Kiểm tra chức năng chủ yếu liên quan đến việc đánh giá các tính năng cốt lõi của hệ thống, cùng với khả năng tiếp cận người dùng và các yếu tố khác. Kiểm thử chức năng bao gồm các hoạt động như kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử khói và kiểm thử mức độ chấp nhận của người dùng.
4. Kiểm tra dựa trên từ khóa – Keyword-Driven Testing
Thử nghiệm theo hướng từ khóa sử dụng các tệp dữ liệu chứa các từ khóa được liên kết với ứng dụng đang được đánh giá. Mỗi từ khóa biểu thị một nhóm các bước phải được hoàn thành.
Trong thử nghiệm theo hướng từ khóa, một số từ khóa nhất định được tìm thấy và liên kết với các hành động cụ thể. Do đó, bất cứ khi nào từ khóa được sử dụng, hành động liên quan sẽ được thực hiện tự động.
Vì phương pháp ngắn gọn, có thể thích ứng, có thể tái sử dụng và đơn giản để duy trì, thử nghiệm dựa trên từ khóa là một lựa chọn ưa thích của nhiều công ty. Người kiểm tra chức năng có thể lập kế hoạch kiểm tra ngay cả trước khi ứng dụng được xây dựng vì phương pháp này thiếu kiến thức lập trình và khả năng tương thích với mọi công cụ tự động hóa thực tế trên thị trường.
5. Kiểm thử hồi quy – Regression Testing
Kiểm thử hồi quy là một dạng kiểm thử bảo trì. Kiểm thử hồi quy yêu cầu chạy lại các kiểm thử chức năng và phi chức năng để xem sau khi có sự thay đổi về code liệu phần mềm có hoạt động giống như trước không. Nếu hiệu suất giảm sau khi kiểm thử hồi quy, vậy chất lượng phần mềm đã bị ảnh hưởng
Nhiệm vụ chính của kiểm thử hồi quy là kiểm tra rằng mọi sửa đổi từ code không ảnh hưởng xấu đến bất kỳ chức năng hiện tại nào.
6. Kiểm thử dựa trên dữ liệu – Data-Driven Testing
Data-Driven Testing yêu cầu phải mở rộng các trường hợp thử nghiệm tự động của bạn bằng cách sử dụng dữ liệu từ bên ngoài hệ thống. Dữ liệu thường được nhập vào các trường hợp thử nghiệm và được lưu riêng ở định dạng bảng hoặc bảng tính.
Mất nhiều thời gian và tiền bạc mỗi lần tạo ra một lần kiểm thử mới các bộ dữ liệu, điều này khiến kiểm thử dựa trên dữ liệu (Data-Driven Testing ) hiệu quả vì sử dụng nhiều bộ dữ liệu trong suốt quá trình thử nghiệm.
Các thử nghiệm dựa trên dữ liệu giúp tái sử dụng mã, có thể được thực hiện ở bất kỳ giai đoạn nào của quy trình phát triển phần mềm và các sửa đổi đối với tập lệnh không ảnh hưởng đến kết quả thử nghiệm.
7. Kiểm thử hộp đen – Black Box Testing
Kiểm thử hộp đen là một kỹ thuật để kiểm tra các chức năng của ứng dụng phần mềm mà không cần truy cập vào cấu trúc mã cơ bản, chi tiết triển khai cụ thể. Kiểm thử hộp đen hoàn toàn dựa trên các yêu cầu và tiêu chuẩn phần mềm và chủ yếu tập trung vào đầu vào và đầu ra của các chương trình phần mềm. Còn được gọi là thử nghiệm hành vi (behavioral testing).
Bạn có thể kiểm tra bất kỳ hệ thống phần mềm nào bằng “Hộp đen” ví dụ như một hệ điều hành như Windows, một trang web như Google, cơ sở dữ liệu Oracle hoặc thậm chí ứng dụng độc đáo của riêng bạn. Kiểm thử hộp đen cho phép bạn kiểm tra các chương trình này mà không cần biết mã bên trong của chúng được triển khai như thế nào bằng cách chỉ tập trung vào đầu vào (input) và đầu ra(output).
Nguồn: viblo.asia