Như các bạn đã biết, thiết kế Test Case là một công việc không thể thiếu trong quá trình làm Test và nó sẽ đi theo bạn suốt cả cuộc đời. Vậy làm sao để bạn viết Test Case hiệu quả và cover nhiều case nhất có thể? Và câu trả lời sẽ được giới thiệu ngay dưới đây.
Kỹ thuật kiểm thử phần mềm là phương pháp được áp dụng để đánh giá một hệ thống với mục đích nó có thỏa mãn các yêu cầu nhất định hay không. Các kỹ thuật này giúp đảm bảo chất lượng tổng thể của sản phẩm hoặc phần mềm: tính ứng dụng, hiệu suất, bảo mật, trải nghiệm của khách hàng..

Các kỹ thuật kiểm thử phần mềm

Black-box testing bao gồm 5 kỹ thuật kiểm thử phần mềm(như hình dưới đây).

Black-box testing

Bài biết này, chúng ta cùng đi phân tích chi tiết về kỹ thuật phân lớp tương đường. Cùng đón đọc các bài viết tiếp theo ở những phần sau bạn nhé.

Equivalence Partitioning – Kỹ thuật phân lớp tương đương

Phân lớp 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. Các lớp tương đương được xác định bằng bằng cách lấy mỗi trạng thái đầu vào (thường là 1 câu hay 1 cụm từ trong đặc tả) và phân chia nó thành 2 hay nhiều nhóm.

Nguyên tắc để xác định lớp tương đương

  • Xác định 1 lớp tương đương hợp lệ.
  • Xác định 2 lớp tương đương không hợp lệ

Ví dụ: “Giá trị x chỉ có thể dao động từ 0 đến 10”.

  • Lớp tương đương hợp lệ: 0 <=x <= 10
  • 2 lớp tương đương không hợp lệ: x < 0 và x > 10

Tại sao cần kiểm thử giá trị biên và phân vùng tương đương?

  1. Hai kỹ thuật này được sử dụng để giảm số lượng lớn các test cases. Các khối test cases đã được phần chia có thể quản lý được.
  2. Hướng dẫn rất rõ ràng về việc xác định các test cases mà không ảnh hưởng đến hiệu quả của kiểm thử.
  3. Thích hợp cho các ứng dụng chuyên về tính toán với số lượng lớn biến, đầu vào.

Ví dụ:

  • Bạn có 1 ô mật khẩu và chỉ chấp nhận tối thiểu 6 ký tự và tối đa 10 ký tự.

Điều đó có nghĩa là kết quả cho các giá trị trong các phân vùng 0-5, 6-10, 11-14 phải tương đương

Mô tảKết quả dự kiến
Nhập 0 đến 5 ký tự vào trường mật khẩuHệ thống không chấp nhận
Nhập 6 đến 10 ký tự vào trường mật khẩuHệ thống chấp nhận
Nhập 11 đến 14 ký tự vào trường mật khẩuHệ thống không chấp nhận
  • Thiết kế test case sao cho người dùng nhập vào ô text-box Salary chỉ cho nhập ký tự là số với độ dài trong khoảng [0-10]

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ừ 0=> 10 ký tự
  • Phân vùng 2: Nhập giá trị không hợp lệ < 0 ký tự
  • Phân vùng 3: Nhập giá trị không hợp lệ > 10 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 số

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ừ 0 => 10 (có thể chỉ nhập số 5)=> pass
  • Case 2: Nhập giá trị < 0 (có thể chỉ nhập số -5) => hiển thị lỗi
  • Case 3: Nhập giá trị > 10 => hiển thị lỗi
  • Case 4: Để trống không nhập gì hay nhập ký tự không phải dạng số => hiển thị lỗi

Thông qua 2 ví dụ trên chắc các bạn cũng đã phần nào hiểu được kỹ thuật phân vùng tương đương là như thế nào rồi, bây giờ chúng ta cùng phân tích qua những ưu và nhược điểm của kỹ thuật này nhé.

Ư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ị sót 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 khi phần lớn các lỗi được tìm thấy lúc kiểm tra giá trị ở biên của các phân vùng thì chúng ta nên tìm hiểu thêm một kỹ thuật nữa là Boundary value analysis (phân tích giá trị biên).

 Xem thêm video này để hiểu hơn về kỹ thuật phân vùng tương đương 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Sắp Khai Giảng

Hãy để lại thông tin bên dưới, chúng tôi sẽ liên hệ lại bạn.