Categories

Subscribe Now

* You will receive the latest news and updates on your favorite celebrities!

Trending News

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

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

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 testcase 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é.

1. KỸ THUẬT PHÂN LỚP TƯƠNG ĐƯƠNG

Định Nghĩa

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. 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 Và Nhược

Ư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).

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

Định Nghĩa

Đây là một trong những kỹ thuật kiểm thử phần mềm, trong đó các testcase đượ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 Và Nhược

Ư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.

Tổng Kết

Thế là chúng ta đã chinh phục xong phần lý thuyết của kỹ thuật phân lớp tương đương và giá trị biên, để những kiến thức này ăn sâu hơn và giúp bạn nhớ dai hơn thì hãy làm bài tập dưới đây bạn nhé. Các bạn có thể làm bài tập rồi comment vào phần bình luận bên dưới bài post này hoặc cũng có thể email trực tiếp về itms.coaching@gmail.com

Bài Tập:

Nếu bạn đi xe điện chuyến trước 9:30 sáng hoặc từ sau 4:00 chiều đến 7:30 tối (giờ cao điểm), thì bạn phải mua vé thường. Vé tiết kiệm (giá thấp hơn vé thường) có hiệu lực cho các chuyến xe từ 9:30 sáng đến 4:00 chiều và sau 7:30 tối.

Dựa vào yêu cầu trên, các bạn hãy:

+ Liệt kê ra các vùng và các giá trị biên để kiểm thử thời gian của tàu đối với các loại vé.

+ Liệt kê các vùng hợp lệ và không hợp lệ. Cho biết đâu là giá trị biên (Dùng bảng để dễ liệt kê các vùng tương đương và các giá trị biên)

+ Viết test case để test yêu cầu trên dựa vào các vùng tương đương và giá trị biên.

Related posts

4 Comments

  1. Shufflehound

    I will definitely try your suggestions!

    1. Shufflehound

      Praesent vehicula nunc eget ex aliquet rutrum. Maecenas porttitor, turpis nec dignissim faucibus, nibh est fermentum mauris, eu maximus ante tellus ut massa. Integer non pharetra ex, in tincidunt ex. Sed quis felis non tortor rhoncus porta vel ut lorem. Fusce finibus ante nec nulla eleifend accumsan.

Leave a Reply

Required fields are marked *