Bài giảng Kiểm thử phần mềm - Chương 3: Kiểm thử hộp trắng - Nguyễn Thanh Hùng

Trường Đại Học Bách Khoa Hà Nội  
Viện Công Nghệ Thông Tin &Truyền Thông  
Kiểm thử phần mềm  
Kiểm thử hộp trắng  
TS. Nguyễn Thanh Hùng  
Bộ Môn Công Nghệ Phần Mềm  
Nội dung  
Giới thiệu về kiểm thử hộp trắng  
Các kỹ thuật kiểm thử hộp trắng:  
. Kiểm thử đường dẫn cơ sở  
. Kiểm thử điều kiện/kiểm thử nhánh  
. Kiểm thử vòng lặp  
. Kiểm thử luồng điều khiển  
Nhắc lại: Kiểm thử hộp đen  
Kiểm thử hộp đen là kiểm thử bỏ qua  
cấu trúc bên trong, chỉ quan tâm tới  
Output từ Input cho trước có chính xác  
không.  
Phân loại:  
. Kiểm thử biên  
. Kiểm thử lớp tương tương  
. Bảng quyết định  
. Kiểm thử đoán lỗi  
Kiểm thử hộp trắng  
ng  
.
.
.
n
kiểm thử:  
•
•
•
n)  
liệu).  
4
Nội dung cần kiểm thử hộp trắng  
?
.
)
.
.
.
.
nh)  
i)  
u)  
u -> kết thúc (từng luồng  
liẹ  
̂
điều khiển)  
ng?  
5
Kiểm thử hộp trắng  
ngai:  
n
. Thí dụ đoạn code sau :  
for (i=1; i<=1000; i++)  
for (j=1; j<=1000; j++)  
for (k=1; k<=1000; k++)  
doSomethingWith(i,j,k);  
có 1 đường thi tỉ lệnh gọi  
doSomethingWith(i,j,k) khác nhau.  
. Thí dụ đoạn code gồm 32 lệnh if else sau :  
if (c1) s11 else s12;  
if (c2) s21 else s22;  
if (c3) s31 e
...  
if (c32) s321 else s322;  
có 2^32 = 4 tỉ đường thi hành khác nhau.  
6
Kiểm thử hộp trắng  
Kiểm thử hộp trắng cũng không phủ được  
hết trường hợp  
if (a>0)  
doIsGreater();  
if (a==0)  
dolsEqual();  
p a < 0 - if (a<0) dolsLess();  
int phanso (int a, int b) {  
return a/b;  
}
i.  
7
Phủ kiểm thử  
Do đó, ta nên kiểm thử số test case tối thiểu mà  
kết quả độ tin cậy tối đa. Nhưng làm sao xác định  
được số test case tối thiểu nào có thể đem lại kết  
quả có độ tin cậy tối đa?  
Phủ kiểm thử (Coverage) : là tỉ lệ các thành phần  
thực sự được kiểm thử so với tổng thể sau khi đã  
kiểm thử các test case được chọn. Phủ càng lớn  
thì độ tin cậy càng cao.  
Thành phần liên quan có thể là lệnh, điểm quyết  
định, điều kiện con, đường thi hành hay là sự kết  
hợp của chúng.  
8
Phủ cấp 0 & 1  
Phủ cấp 0 : kiểm thử những gì có thể kiểm thử  
được, phần còn lại để người dùng phát hiện và  
báo lại sau. Đây là mức độ kiểm thử không thực  
sự có trách nhiệm.  
Phủ cấp 1 : kiểm thử sao cho mỗi lệnh được thực  
thi ít nhất 1 lần.  
, int b, int c, int d) {  
2 float e;  
3 if (a==0)  
4 return 0;  
5 int x = 0;  
Với hàm foo bên cạnh, ta chỉ  
cần 2 test case sau đây là đạt  
100% phủ cấp 1 :  
6 if ((a==b) || ((c==d) && bug(a)))  
7 x = 1;  
8 e = 1/x;  
1. foo(0,0,0,0), trả về 0  
2. foo(1,1,1,1), trả về 1  
nhưng không phát hiện lỗi chia 0  
ở hàng lệnh 8  
9 return e;  
9
10 }  
Phủ cấp 2  
Phủ cấp 2 : kiểm thử sao cho mỗi điểm quyết định đều được  
thực hiện ít nhất 1 lần cho trường hợp TRUE lẫn FALSE. Ta gọi  
mức kiểm thử này là phủ các nhánh (Branch coverage). Phủ  
các nhánh đảm bảo phủ các lệnh.  
c
u the  
̂
10  
Phủ cấp 3  
nh.  
Phủ cấp 4  
u kiện con (branch &  
subcondition coverage).  
12  
ng  
u đặt ra:  
.
n.  
.
.
.
a sai (false).  
c hiên.  
13  
ng  
ng?  
.
.
.
nh.  
nh  
m tra.  
14  
Kiểm thử hộp trắng  
Là kỹ thuật kiểm thử xâm nhập vào nội  
bộ, cấu trúc bên trong của chương  
trình  
Các kỹ thuật kiểm thử hộp trắng phổ  
biến:  
. Kiểm thử đường dẫn cơ sở  
. Kiểm thử rẽ nhánh  
. Kiểm thử vòng lặp  
. Kiểm tra luồng điều khiển  
Lưu ý  
Không thể có được tất cả các test case  
mong muốn bằng việc áp dụng 1 kỹ thuật  
kiểm thử duy nhất.  
Trước khi áp dụng các kỹ thuật kiểm thử hộp  
trắng, hãy xem lại code.  
Nội dung  
Giới thiệu về kiểm thử hộp trắng  
Các kỹ thuật kiểm thử hộp trắng:  
. Kiểm thử đường dẫn cơ sở  
. Kiểm thử điều kiện/kiểm thử nhánh  
. Kiểm thử vòng lặp  
. Kiểm thử luồng điều khiển  
Kiểm thử đường cơ sở (Basis Path)  
Định nghĩa: Thu được các trường hợp thử  
nghiệm từ đường cơ sở, được xác định  
theo biểu đồ dòng chảy của chương trình  
Các bước:  
. 1. Xây dựng một đồ thị dòng chảy dựa trên logic của  
chương trình  
. 2. Tính toán độ phức tạp Cyclomatic của đồ thì dòng chảy  
. 3. Xác định đường cơ sở.  
. 4. Kiểm tra nếu số đường cơ sở không nhiều hơn độ phức  
tạp Cyclomatic.  
. 5. Thiết kế trường hợp thử nghiệm để kiểm tra các đường  
cơ sở  
ng  
ng  
.
.
.
nh.  
nh.  
ch:  
•
•
19  
ng  
m:  
.
.
n.  
n,  
ng:  
.
.
n.  
c cung.  
20  
Tải về để xem bản đầy đủ
pdf 76 trang yennguyen 17060 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiểm thử phần mềm - Chương 3: Kiểm thử hộp trắng - Nguyễn Thanh Hùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kiem_thu_phan_mem_chuong_3_kiem_thu_hop_trang_nguy.pdf