6. Bố cục của luận văn:
3.3.3.Quá trình test với Mô-đun 2
Mô-đun 2 (code_2): “Thủ tục tính giá trị trung bình của 100 số hay ít hơn, nằm giữa các giá trị cận, tính tổng và tổng số phần tử hợp lệ” nhưng có nội dung code khác so với code_1:
Code_2:
PROCEDURE average
INTERFACE RETURNS average,total.input,total.valid; INTERFACE ACCEPT value,minimum,maximum; TYPE value[1:100] IS SCALAR ARRAY;
TYPE average,total.input,total.valid,minimum,maximum,sum IS SCALAR; TYPE i IS INTERGER;
i = 1;
total.input = 0; total.valid = 0; sum = 0;
total.input = total.input + 1;
IF value[i]==minimum AND value[i]<=maximum
THEN
Begin
total.valid = total.valid + 1;
sum = sum + value[i];
End ENDIF i = i + 1; ENDDO IF total.valid>0 THEN
average = sum / total.valid; ELSE
average = -999;
ENDIF END average
-Với Input TestData: [1,2,3,4,5,-999] 1 10, theo thiết kế ca kiểm thử:
Bảng 3.12: Bảng TestData với code_2
Số lần
lặp Input
Đầu ra mong đợi Đầu ra thực tế
Average Total. input Total. valid Average Total. input Total. valid 5 [1,2,3,4,5,-999] 1 10 3 5 5 Giao diện xử lý:
Hình 3.14: Form xử lý với đơn vị chương trình code_2
Kết quả:
Bảng 3.13: Kết quả bảng TestData với code_2
Số lần
lặp Input
Đầu ra mong đợi Đầu ra thực tế
Average Total. input Total. valid Average Total. input Total. valid 5 [1,2,3,4,5,-999] 1 10 3 5 5 1.0 5 1
Nhận xét: Đầu ra mong đợi khác đầu ra thực tế. Điều này chứng tỏ mô- đun được kiểm thử có lỗi. (adsbygoogle = window.adsbygoogle || []).push({});
Đã có lỗi ở kết quả đầu ra Average, từ đó người kiểm thử sẽ kiểm duyệt lại đoạn chương trình liên quan đến lệnh Average, và trên nữa là lệnh tính Sum. Qua quá trình kiểm duyệt lại đoạn chương trình nhận thấy quá trình đặt điều kiện trong vòng lặp While đã bị sai do vậy kết quả tính Sum đã sai theo. Người lập trình đã đặt sai điều kiện là giá trị bằng minimum và nhỏ hơn bằng maximum. Vì thế khi tính tổng và đếm giá trị thoả mãn trong đoạn cận thì chương trình chỉ xét những phần tử bằng minimum và nhỏ hơn bằng maximum.
Như vậy nhờ vào kỹ thuật kiểm thử theo vòng lặp, mà người kiểm thử (Tester) đã tìm ra được lỗi của đơn vị chương trình, 1 ca kiểm thử đã thành công.
Hình 3.15: Lỗi tìm thấy trong mô-đun code_2