Phân tích giá trị biên đa biến (Multi – Variable BVA)

Một phần của tài liệu Nghiên cứu về mức bao phủ của kiểm thử (Trang 36 - 40)

Đối với bài toán đa biến quá trình phân tích giá trị biên lựa chọn ca kiểm thử cần phải xem xét lỗi có thể xảy ra, trong bài viết này ta sẽ đề cập đến lỗi tại biên với đa biến đầu vào là một kiểu lỗi (ta sẽ gọi là multiple-fault). Đối với kiểu lỗi multiple-fault [4] được cho rằng nhiều lỗi đồng thời xảy ra, do vậy ta sẽ thêm vào các ca kiểm thử để soát lỗi trên đồng thời nhiều biến.

Lấy ra từ ví dụ đơn biến ở trên, xét bài toán với hai biến đầu vào N và M, với dải giá trị của N: a ≤ N ≤ c và giá trị của M trải dài trên hai dải, dải #1:d ≤ M < f , dải #2: f ≤ M ≤ h. Như dã thảo luận ở trên, các ca kiểm thử đơn biến đã chỉ ra đối với N và M là :

Nbaseline= {a, a+, b, c-, c}

Mbaseline= {d, d+, e, f-, f, f+, g, h-, h}

Các ca kiểm thử phân tích giá trị biên đa biến sử dụng cách phân tích các đường biên của một biến trong khi các biến khác được giữ là một giá trị danh nghĩa. Hợp tất cả

các ca kiểm thử áp dụng cho từng biến đầu vào ta được tập các ca kiểm thử áp dụng cho đa biến đầu vào. Trong ví dụ trên ta sẽ áp dụng cho từng biến đầu vào trên từng dải giá trị con. Bài toán có hai giá trị đầu vào, các ca kiểm thử sẽ gồm các cặp giá trị đầu vào (m,n) trong đó n là thành phần của Nbaseline m sẽ là thành phần của Mbaseline .

Quan sát sơ đồ dưới đây :

Hình 14 : Tập giá trị baseline và robust của biến N trong trường hợp hai biến đầu vào

Trong hình biểu diễn trên ta biểu diễn giá trị m thay đổi(m thay đổi trong miền Mbaseline), tại dải thứ nhất (dm <f) m được biểu diễn bằng giá trị e, tại dải thứ hai (f m

h) m được biểu diễn bằng g, giữ nguyên giá trị n, n được biểu diễn bằng giá trị b. Quan sát sơ đồ ta nhận thấy có 9 ca kiểm thử được chỉ ra, tương ứng với các giá trị giao điểm của đường thẳng qua b và giao với các đường trong miền giá trị thay đổi của m.

Tiếp theo cố định giá trị m tại hai dải giá trị, cho n thay đổi trong miền Nbaseline, biểu diễn n bằng giá trị b, (ab c). Quan sát sơ đồ biểu diễn dưới đây :

Hình 15 : Tập hợp giá trị baseline và rubust trên hai khoảng của biến M trong trường hợp hai biến đầu vào

Trong trường hợp này ta nhận được 10 ca kiểm thử.

Tổng hợp cả 2 trường hợp ta nhận được sơ đồ sau :

Hình 16 : Tổng hợp tất cả các giá trị của hai biến N và M trên hai khoảng đầu vào

Trường hợp 1 cho ta 9 ca, trường hợp 2 cho ta 10 ca, tổng hợp cả 2 trường hợp cho ta 19 ca, nhưng tại các vị trí (e,b) và (g,b) được lặp lại 2 lần, nên tổng cả 2 trường hợp ta có 17 ca kiểm thử.

Đối với việc kiểm tra mạnh mẽ (rubustness), áp dụng cách thức như ta đã làm với từng biến trước đó, kết quả đã được chỉ ra trong Mrubust và Nrubust. Lưu ý rằng trong quá trình phân tích baseline với từng biến thì đồng thời 6 giá trị rubust cũng đã được chỉ ra (quan sát trên hình vẽ). Như vậy đến thời điểm này ta đã có tổng số 23 ca kiểm thử tất cả. Các ca kiểm thử trên dải giá trị không hợp lệ cần phải được lựa chọn để kiểm soát đồng thời với cả hai biến. Quá trình phân tích giá trị biên multiple-fault sẽ được bắt đầu với tập hợp giá trị trong Mbaseline và Nbaseline trong trường hợp các đường biên không được kiểm tra, còn trong trường hợp việc kiểm tra các đường biên được ưu tiên cao thì ta sẽ sử dụng với tập giá trị Mrubust và Nrubust . Tương ứng với hai trường hợp vừa nêu ta có ước lượng tích đề-các (cartesian) Mbaselien x Nbaselien xác định số ca kiểm thử cho baseline multiple-fault, và tích đề các Mrubust x Nrubust xác định số ca kiểm thử cho rubust multiple-fault.

Với hai tập giá trị M và N, tích đề-các của M và N được định nghĩa là :

M x N = {(m,n) | m ε M^n ε N}

M x N là tập tất cả các cặp phần tử (m,n) được lấy ra từ tập M và tập N. Do đó, nếu tập M có x phần tử và tập N có y phần tử, kết quả của tập M x N sẽ gồm x * y phần tử.

Trở lại bài toán ví dụ, hình dưới đây sẽ biểu diễn tổng hợp các ca kiểm thử phân tích giá trị biên baseline và rubust được chỉ ra cho kiểu lỗi multiple-fault của bài toán.

Hình 17 : Tổng hợp toán bộ giá trị baseline, robust trường hợp đa biến đầu vào trên hai khoảng

Số lượng các ca kiểm thử tăng lên đáng kể, 45 ca baseline được chỉ ra và trong trường hợp xấu nhất (worst-case) được thêm 32 ca rubust.

Tổng hợp các ca kiểm thử cho bài toán 2 biến với các mức yêu cầu về tính tin cậy ta có bảng như sau :

Bảng 1 : Tổng hợp các ca kiểm thử theo mức tin cậy .

Nhận thấy rằng, giả thuyết tình huống bài toán có nhiều lỗi đồng thời xảy ra cùng một lúc đã dẫn đến khá nhiều ca kiểm thử, đặc biệt nếu như bài toán xét trên nhiều dải giá trị thì số lượng ca kiểm thử tăng lên là đáng kể.

Một phần của tài liệu Nghiên cứu về mức bao phủ của kiểm thử (Trang 36 - 40)