.st0{fill:#FFFFFF;}

Kỹ thuật Phân Lớp Tương Đương và Giá Trị Biên 

 July 2, 2019

By  iTMS Coaching

Trong kiểm thử phần mềm, việc sử dụng kỹ thuật phân lớp tương đương trong quá trình viết test case là việc làm không thể thiếu nhằm giảm khối lượng công việc cho tester bằng cách giảm tổng số các trường hợp kiểm thử phải được xây dựng. Sau đây, chúng ta đi sâu vào tìm hiểu về kỹ thuật Phân lớp tương đươngGiá trị biên, hãy xem ứng dụng của kỹ thuật này vào trong thực tế là như thế nào nhé.

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ụ 1: “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).

KỸ THUẬT PHÂN TÍCH GIÁ TRỊ BIÊN

Đây là một trong những kỹ thuật kiểm thử phần mềm, trong đó các test case được thiết kế bao gồm các giá trị tại các biên. Nếu dữ liệu đầu vào được sử dụng là trong giới hạn giá trị biên, nó được cho là Positive testing. Nếu dữ liệu đầu vào được sử dụng là ngoài giới hạn giá trị biên, nó được cho là Negative testing. Mục tiêu là lựa chọn các test case để thực thi giá trị biên.

Nguyên tắc để xác định giá trị biên

Ý tưởng cơ bản trong kiểm thử giá trị biên là chọn các giá trị đầu vào tại những điểm:

  1. Tối thiểu
  2. Trên mức tối thiểu
  3. Một giá trị hợp lệ
  4. Dưới mức tối đa
  5. Tối đa

Các trường hợp trong kỹ thuật này được lựa chọn dựa vào quy tắc sau:

Giá trị biên nhỏ nhất – 1

Giá trị biên nhỏ nhất

Giá trị biên nhỏ nhất + 1

Giá trị biên lớn nhất – 1

Giá trị biên lớn nhất

Giá trị biên lớn nhất + 1

Ví dụ:

Bạn có 1 ô textbox cho phép người dùng nhập để kiểm tra số tầng của tòa nhà, hãy liệt kê các trường hợp xảy ra dựa vào kỹ thuật giá trị biên (số tầng tối đa của tòa nhà là 10)

Áp dụng kỹ thuật phân tích giá trị biên ta chọn được các case sau:

  • Case 1: Nhập giá trị là -1 => hiển thị lỗi
  • Case 2: Nhập giá trị là 0 => pass
  • Case 3: Nhập giá trị với 10 => pass
  • Case 4: Nhập giá trị với 11 => hiển thị lỗi
  • Case 5: Để trống không nhập gì hay nhập ký tự không phải dạng chữ => hiển thị lỗi

Ưu Điểm:

  • Thay vì phải test hết toàn bộ các giá trị trong từng vùng tương đương, kỹ thuật phân tích giá trị biên tập trung vào việc kiểm thử các giá trị biên của miền giá trị inputs để thiết kế test case do “lỗi thường tiềm ẩn tại các ngõ ngách và tập hợp tại biên”.
  • Tiết kiệm thời gian thiết kế test case và thực hiện test.

Nhược điểm:

Phương pháp này chỉ hiệu quả trong trường hợp các đối số đầu vào (input variables) độc lập với nhau và mỗi đối số đều có một miền giá trị hữu hạn.

related posts:




{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}