KEYWORD-DRIVEN TESTING

Các phương pháp kiểm thử nâng cao

Các phương pháp kiểm thử nâng cao

Kiểm thử hướng dữ liệu (Data-Driven testing) là một phương pháp kiểm thử phần mềm nâng cao. Kiểm thử hướng dữ liệu hướng tới mục tiêu là sinh bộ dữ liệu kiểm thử (Test data) tự động từ phân tích các dữ liệu lưu trữ hoặc đặc tả yêu cầu phần mềm liên quan tới dữ liệu vào ra dựa trên các kỹ thuật kiểm thử hộp đen: Phân lớp tương đương; Phân tích giá trị biên; Bảng quyết định; Đoán lỗi. Phương pháp tiếp cận này là rất cần thiết vì kiểm thử viên thường có nhiều tập dữ liệu cho một kịch bản kiểm thử duy nhất và việc tạo các kịch bản kiểm thử riêng lẻ cho từng tập dữ liệu sẽ gây tốn nhiều thời gian.

Ví dụ: Thực hiện kiểm tra hệ thống đăng nhập với 1000 bộ dữ liệu khác nhau.

Chức năng đăng nhập

Để kiểm thử tự động với yêu cầu này sẽ có các cách tiếp cận khác nhau sau như:

Cách tiếp cận 1) Tạo 1000 tập lệnh một cho mỗi tập dữ liệu và chạy từng bài kiểm tra riêng rẽ.

Cách tiếp cận 2) Thay đổi thủ công giá trị trong tập lệnh thử nghiệm và chạy nó nhiều lần.

Cách tiếp cận 3) Gợi ý cách tiếp cận nhập dữ liệu từ trang tính Excel. Tìm nạp dữ liệu kiểm thử theo từng hàng một và thực thi tập lệnh.

Trong ba cách tiếp cận vừa nêu trên, hai kịch bản đầu tiên là tốn nhiều công sức và thời gian. Do đó, lý tưởng nhất là làm theo cách tiếp cận thứ ba và nó còn được gọi là cách tiếp cận hướng dữ liệu (Data-Driven testing). Tuy nhiên, mặt hạn chế của phương pháp này là nó phụ thuộc vào kỹ năng tự động hóa của kiểm thử viên, nó yêu cầu cần có hiểu biết về ngôn ngữ lập trình.

Kiểm thử hướng hành vi (Behavior-Driven testing) còn được gọi là kiểm thử tuần tự, là thực kiểm thử mà hành động kiểm thử được diễn ra một cách tuần tự. . Kịch bản (mã nguồn) kiểm thử có thể được tạo ra bằng cách sử dụng phương pháp phân tích hành vi trên mô hình đặc tả hoặc sử dụng các công cụ Record and Playback hỗ trợ ghi lại các hành động của kiểm thử viên trên giao diện tương tác và lưu chúng lại dưới dạng kịch bản kiểm thử và có thể sử dụng chính kịch bản này để kiểm thử hồi quy. Do đó, kiểm thử hướng hành vi hướng tới việc sinh các kịch bản kiểm thử (Test scenario) có khả năng thực thi tự động dựa trên phương pháp kiểm thử hộp đen: Đặc tả hành vi của các chức năng trên phần mềm Kiểm thử hướng hành vi hướng tới mục tiêu tới các trường hợp sử dụng hoặc chức năng cụ thể dựa trên mô hình cho nên nhược điểm lớn nhất của kiểm thử hướng hành vi đó là việc tái sử dụng các kịch bản kiểm thử.

Kiểm thử hướng từ khóa (Keyword-Driven testing) là tạo các kịch bản kiểm thử tự động (Test script) từ tập từ khóa. Kiểm thủ hướng từ khóa hướng tới tạo bộ ca kiểm thử có khả năng thực thi bao gồm: Kịch bản kiểm thử được tạo ra theo cách tiếp cận tương tự như Behavior-Driven testing sử dụng kỹ thuật Record and Playback hoặc phương pháp kiểm thử dựa trên mô hình cùng với bộ dữ liệu kiểm thử được sinh ra từ phân tích dữ liệu lưu trữ hoặc đặc tả dữ liệu vào ra.

Phương pháp kiểm thử hướng từ khóa

Kiểm thử hướng từ khóa (Keyword-Driven Testing) tạo testscript tự động từ tập từ khóa. Từ khóa mô tả hoạt động tương ứng với các hành động. Mỗi hoạt động quy định cụ thể hành động được mô phỏng các hành động của người dùng trên ứng dụng được kiểm tra. Các từ khóa này xác định tiến trình của trường hợp thử nghiệm.

Ví dụ về trường hợp kiểm thử

Ví dụ: bên dưới cho thấy từ khóa tạo mới như thế nào.

Tạo từ khóa Create user

Từ khóa Create user được mô tả bởi một tập hợp các hành động: 1, 2, 3, 4, 5, các hành động này được định nghĩa từ 1 hoặc nhiều từ khóa cấp thấp.  Từ cách làm như vậy, ta có thể xây dựng được các từ khóa mức cao cho các bước thực hiện kiểm thử bài kiểm thử.

So sánh

So với kiểm thử hướng hành vi (Behavior-Driven Testing): Kỹ thuật kiểm thử hướng từ khóa có thể khắc phục được nhược điểm lớn nhất của kiểm thử hướng hành vi đó là việc tái sử dụng các kịch bản kiểm thử do các kịch bản kiểm thử hướng hành vi được tạo ra từ record/playback nhắm mục tiêu tới các trường hợp sử dụng hoặc chức năng cụ thể.

So với kiểm thử hướng dữ liệu (Data-Driven Testing): Kỹ thuật kiểm thử hướng từ khóa không đòi hỏi kỹ năng lập trình cao. Nó như một giải pháp cho những giới hạn của phương pháp hướng dữ liệu như đã nêu trên. Không chỉ dữ liệu kiểm thử mà những chỉ đạo về việc xử lý dữ liệu kiểm thử cũng được tách khỏi mã nguồn và đưa vào các tệp tin bên ngoài. Những chỉ đạo này được gọi là keyword (từ khóa) được các kiểm thử viên sử dụng để xây dựng ca kiểm thử một cách dễ dàng.

Kết luận

Có thể thấy rằng kiểm thử hướng từ khóa (Keyword-Driven testing) là một giải pháp tốt trong việc nâng cao năng suất chất lượng của kiểm thử. Tuy nhiên, trong một dự án lớn, có thể có rất nhiều từ khóa cấn phải nhớ và tổ chức sao cho hợp lý. Việc này có thể sẽ làm một công việc khó khăn cho quá trình phát triển kiềm thử tự động.