Một số kỹ thuật thiết kế test case (P1)
Theo suy nghĩ của nhiều người để tìm lỗi thì quá trình kiểm tra sẽ diễn ra trong giai đoạn phát triển và tổng quan lại mã code. Vì thế hoạt động kiểm tra từ các đối tượng khác có thể không cần thiết và không quan trọng nữa.
Albert Einstein đã từng nói “Một người thông minh giải quyết vấn đề, người khôn ngoan thì tránh nó”.
Chắc chắn ai cũng muốn mình là người thông minh. Và các nhà lãnh đạo cũng không nằm ngoài phạm vi đó. Họ lựa chọn những đối tượng độc lập với phần mềm để thực hiện kiểm tra chúng. Đó chính là Tester.
Thế nhưng người lãnh đạo luôn mong muốn Tester sẽ thực hiện việc kiểm tra phần mềm với thời gian ngắn nhất mà vẫn đạt chất lượng cao nhất. Để làm được điều đó Tester không chỉ phải hiểu sâu về nghiệp vụ của phần mềm mà còn cần linh hoạt trong việc thiết kế test case.
Hôm nay, tôi sẽ giới thiệu một số kỹ thuật thiết kế test case khá phổ biến trong phương pháp kiểm thử hộp đen. Nếu biết cách vận dụng những kỹ thuật này một cách linh hoạt thì sẽ giảm thiểu rất nhiều số lượng case thừa, tiết kiệm thời gian kiểm thử mà vẫn đảm bảo chất lượng phần mềm:
1. Kỹ thuật phân vùng tương đương (Equivalence Partitioning)
1.1. Ý tưởng:
Phân vùng tương đương là phương pháp chia các điều kiện đầu vào thành những vùng tương đương nhau. Tất cả các giá trị trong một vùng tương đương sẽ cho một kết quả đầu ra giống nhau. Vì vậy chúng ta có thể test một giá trị đại diện trong vùng tương đương.
Thiết kế test case bằng kỹ thuật phân vùng tương đương tiến hành theo 2 bước:
(1) Xác định các lớp tương đương
(2) Xác định các ca kiểm thử
1.2. Ví dụ:
(*) Form login bao gồm:
User: Text-box
PassWord: Text-box
Yêu cầu:
Thiết kế test case sao cho người dùng nhập vào ô text-box user chỉ cho nhập ký tự chữ với độ dài trong khoảng [6-20]
Nếu nhập giá trị với số ký tự không nằm trong khoảng [6-20] => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”
Nếu để trống ô hoặc nhập ký tự khác ký tự chữ => hiển thị lỗi “Tên người dùng chưa hợp lệ! Vui lòng nhập ký tự chữ”
(*) Dựa vào yêu cầu bài toán ta có thể có các lớp tương đương(phân vùng) sau:
+ Phân vùng 1: Nhập giá trị hợp lệ từ 6 => 20
+ Phân vùng 2: Nhập giá trị không hợp lệ < 6 ký tự
+ Phân vùng 3: Nhập giá trị không hợp lệ > 20 ký tự
+ Phân vùng 4: Trường hợp để trống không nhập gì hay nhập ký tự không phải dạng chữ
Sau khi áp dụng phân vùng tương đương có thể chọn được các ca kiểm thử (test case) sau:
+ Case 1: Nhập giá trị từ 6 => 20 => pass
+ Case 2: Nhập giá trị < 6 ký tự (có thể chọn nhập 1, 2, 3, 4 hoặc 5 ký tự) => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”
+ Case 3: Nhập giá trị > 20 ký tự (có thể chọn nhập 21, 22, 23,… ký tự) => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”
+ Case 4: Để trống không nhập gì hay nhập ký tự không phải dạng chữ => hiển thị lỗi “Tên người dùng chưa hợp lệ! Vui lòng nhập ký tự chữ”
1.3. Ưu/ nhược điểm:
(*) Ưu điểm:
Vì mỗi vùng tương đương ta chỉ cần test trên các phần tử đại diện nên số lượng test case được giảm đi khá nhiều nhờ đó mà thời gian thực hiện test cũng giảm đáng kể.
(*) Nhược điểm:
Không phải với bất kỳ bài toán nào đều có thể áp dụng kỹ thuật này. Có thể bị lack lỗi ở biên nếu chỉ chọn giá trị ở khoảng giữa của miền tương đương.
Vì vậy việc kết hợp linh hoạt giữa kỹ thuật phân vùng tương đương và phân tích giá trị biên dưới đây sẽ mang lại hiệu quả cao hơn để vừa tối ưu số lượng test case và vẫn đảm bảo đươc chất lượng phần mềm.
» Tin mới nhất:
» Các tin khác: