12/08/2018, 15:06

Những lưu ý khi test giá trị biên

1. Định nghĩa phân tích giá trị biên Phân tích giá trị biên (boundary value analysis - BVA) là kỹ thuật thiết kế test case và hoàn thành phân vùng tương đương. Mục tiêu là lựa chọn các test case để thực thi giá trị biên. Phân tích giá trị biên tập trung vào biên của miền xác định để xây dựng ...

1. Định nghĩa phân tích giá trị biên

Phân tích giá trị biên (boundary value analysis - BVA) là kỹ thuật thiết kế test case và hoàn thành phân vùng tương đương. Mục tiêu là lựa chọn các test case để thực thi giá trị biên.

Phân tích giá trị biên tập trung vào biên của miền xác định để xây dựng test case. Lý do là lỗi thường xảy ra ở gần các giá trị biên này Chương trình viết bằng ngôn ngữ không có kiểm tra kiểu mạnh càng cần kiểm thử giá trị biên Javascript, php, Visual Basic

2. Chọn giá trị biên

2.1 Trường hợp kiểm thử gía trị biên có 1 biến

  • Giá trị nhỏ nhất
  • Ngay trên giá trị nhỏ nhất
  • Một giá trị bình thường
  • Ngay dưới giá trị lớn nhất
  • Giá trị lớn nhất

Ví dụ: a <= x <=b thì sẽ chọn a, a+1, a+b/2, b-1, b.

Nhưng nếu bạn muốn kiểm tra sâu hơn thì bạn cũng có thể lựa chọn theo quy tắc:

  • 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

2.2 Trường hợp kiểm thử giá trị biên theo hai biến x1 và x2

a<=x1<=b c<=x2<=d Thiết kế các test case test gía trị biên như đồ hình sau:

Kiểm thử theo giá trị biên đầy đủ với hai biến x1 và x2

2.3 Phân loại miền biên trường hợp nhiều biến

  • Điểm trên biên (Boundary point).
  • Điểm cực biên (Extreme point).
  • Điểm ngoài biên (Off point).
  • Điểm trong biên (Interior point.)

3. Ưu/ nhược điểm

Phân tích giá trị biên dựa trên nguyên lý giả định khuyếm khuyết đơn: “Hỏng hóc xảy ra hiếm khi do hai (hoặc hơn) khiếm khuyết cùng xảy ra” Do đó các ca kiểm thử theo phương pháp này được tạo bằng việc lấy các giá trị bình thường của các chiều/biên rồi lần thay mỗi chiều bằng các giá trị cực trị như trên. Ư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.

4. Các loại kiểm thử giá trị biên

4.1 Kiểm thử biên mạnh

Kiểm thử biên mạnh (robustness testing) là một mở rộng đơn giản của BVA Ngoài năm giá trị biên bổ sung thêm hai giá trị ngoài biên: Giá trị ngay trên giá trị cực đại (max+) và Giá trị ngay dưới giá trị cực tiểu (min-). Mục đích chính là xem chương trình có kiểm tra giá trị hợp lệ của đầu vào không.

4.2 Kiểm thử trường hợp xấu nhất

Điều gì xảy ra khi nhiều hơn một biến nhận các giá trị (gần) cực trị? Khi các biến có tương tác với nhau thì cần kiểm tra các bộ giá trị kết hợp các cực trị này Có thể kết hợp với kiểm thử mạnh để có bộ kiểm thử trường hợp xấu nhất mạnh

4.3 Kiểm thử giá trị đặc biệt

Kiểm thử giá trị đặc biệt là phương pháp được thực hiện nhiều nhất trên thực tế, nó cũng trực quan nhất, và không có dạng cố định nhất Sử dụng kỹ nghệ và kiến thức miền ứng dụng để phán đoán và đưa ra ca kiểm thử Mặc dù mang tính chủ quan cao, đây vẫn là phương pháp hiệu quả để phát hiện khiếm khuyết của chương trình

5. Ví dụ

Thiết kế các test case với trường hợp dưới đây:

1<= day <= 31 1 <= Month <= 12 1812 <= Year <= 2012

Nguồn: tổng hợp

0