- vừa được xem lúc

Phân tích giá trị biên (Boundary Value Analysis) - Hiểu ngay qua ví dụ

0 0 20

Người đăng: Minh Thu Tran

Theo Viblo Asia

Kỹ thuật phân tích giá trị biên trong kiểm thử phần mềm là một phương pháp được sử dụng để chọn ra các giá trị dữ liệu biên cho các biến trong quá trình kiểm thử. Giá trị biên là các giá trị cận trên hoặc cận dưới của tập giá trị hợp lệ cho biến.

Lời đầu tiên mình xin chào mọi người, chúc mọi người có một ngày học tập và làm việc vui vẻ ! Bài viết này mình sẽ giải thích về Kỹ thuật phân tích giá trị biên và đưa ra một số ví dụ về nó. Mình cùng vào nội dung chính nhé !

1. Phân tích giá trị biên

  • Phân tích giá trị biên là một trong những kỹ thuật trong phương pháp kiểm thử hộp đen, test các giá trị trở thành giá trị biên (các cạnh của lớp tương đương) và các giá trị gần kề biên. Trong thực tế, lỗi thường sẽ phát sinh nhiều ở giá trị biên nhưng cũng sẽ tồn tại nhiều lỗi tại các giá trị gần kề biên.
  • Hiểu đơn giản thì phân tích giá trị biên là quá trình kiểm thử các giá trị biên và các giá trị gần biên. Cái tên của kỹ thuật này đã nói lên tất cả.

Đối với dạng yêu cầu 2 giá trị thì ta sẽ có các Testcase sau:

  • Giá trị biên min -1
  • Giá trị biên min
  • Giá trị biên max
  • Giá trị biên max +1

Đối với dạng yêu cầu 3 giá trị thì ta sẽ có các Testcase sau:

  • Giá trị biên min -1
  • Giá trị biên min
  • Giá trị biên min + 1
  • Giá trị biên max - 1
  • Giá trị biên max
  • Giá trị biên max +1

Ví dụ: Giả sử chúng ta đi chơi Đầm Sen như ví dụ bên bài viết Kỹ thuật phân vùng tương đương. Nhưng mình sẽ ví dụ về tuổi, yêu cầu về tuổi là số nguyên từ 0 - 100.

Xem tại đây 👉️: https://viblo.asia/p/phan-vung-tuong-duong-equivalence-partitioning-hieu-ngay-qua-vi-du-Ny0VGjy8LPA

  • Tuổi từ 0 - 6 miễn phí vé
  • Tuổi từ 7 - 17 vé trẻ em
  • Tuổi từ 18 - 100 vé người lớn
ID Tuổi Kết quả
01 -1 Lỗi
02 0 Miễn phí vé
03 6 Miến phí vé
04 7 Vé trẻ em
05 17 Vé trẻ em
06 18 Vé người lớn
07 100 Vé người lớn
08 101 Lỗi

2. Công thức tính số giá trị biên

Nhằm kiểm tra xem mình đã tìm đủ giá trị biên chưa thì ta có công thức rút gọn sau:

  • Đối với dạng 2 giá trị:
Số giá trị biên = ( Số trường hợp ) * 2 - 2

Với ví dụ trên ta có: số giá trị biên = 5 * 2 - 2 (5 trường hợp đã bao gồm 2 trường hợp dưới 0 tuổi và trên 100 tuổi) = 8

👉️ Vậy kết quả trùng khớp với số ID mình có ở trên

  • Đối với dạng 3 giá trị:
Số giá trị biên = ( Số trường hợp ) * 3 - 3

3. Tổng kết

  • Với việc giới hạn số lượng giá trị đầu vào cần kiểm tra, kiểm thử giá trị biên giúp tối ưu hóa quá trình kiểm thử và tiết kiệm thời gian và nguồn lực. Nó cũng giúp đảm bảo rằng chương trình có thể hoạt động đúng trên cả các giá trị biên lẫn các giá trị ở trung tâm của miền đầu vào.

  • Kết quả của kỹ thuật kiểm thử giá trị biên là tìm ra các lỗi hoặc vấn đề xảy ra khi chương trình được chạy với các giá trị đầu vào gần biên. Điều này giúp cải thiện chất lượng phần mềm, giảm số lượng lỗi và tăng tính ổn định của chương trình.

✏️ Ps: Mình sẽ update thêm bài tập về Kỹ thuật phân tích giá trị biên và video nói về nó

Lời cuối mình xin cảm ơn mọi người đã đọc bài viết !

Bình luận

Bài viết tương tự

- vừa được xem lúc

Golang Data Structures and Algorithms - Stack

Giới thiệu. Series về cấu trúc dữ liệu và thuật toán sử dụng Golang.

0 0 37

- vừa được xem lúc

AWS Certified Solutions Architect Professional - Security - Secrets Manager

Introduction. A quick note about AWS Secrets Manager.

0 0 44

- vừa được xem lúc

Golang Data Structures and Algorithms - Queue

Giới thiệu. Series về cấu trúc dữ liệu và thuật toán sử dụng Golang.

0 0 47

- vừa được xem lúc

Terraform Series - Bài 17 - Security - Manage Secrets with Vault

Giới thiệu. Chào các bạn tới với series về Terraform, ở bài trước chúng ta đã tìm hiểu về vấn đề security trong Terraform.

0 0 37

- vừa được xem lúc

Golang Data Structures and Algorithms - Linked Lists

Giới thiệu. Series về cấu trúc dữ liệu và thuật toán sử dụng Golang.

0 0 36

- vừa được xem lúc

AWS Certified Solutions Architect Professional - Security - AWS Certificate Manager

Introduction. A quick note about AWS Certificate Manager.

0 0 31