Bài giảng Kiểm thử phần mềm (Software testing) - Chương 4: Kỹ thuật kiểm thử hộp trắng (Tiếp theo) - Nguyễn Văn Hiệp

Chương 4  
Kthut kim thhp trng (tt)  
4.1 Tng quát vkim thdòng dliu  
Mc tiêu ca chương trình là xlý dliu. Dliu ca chương  
trình là tp nhiu biến ₫ộc lp. Phương pháp kim thdòng dliu  
skim thử ₫ời sng ca tng biến dliu có "tt lành" trong tng  
lung thi hành ca chương trình.  
Phương pháp kim thdòng dliu là 1 công cmnh ₫ể phát  
hin vic dùng không hp lý các biến do li coding phn mm gây  
ra :  
à Phát biu gán hay nhp dliu vào biến không úng.  
à Thiếu ₫ịnh nghĩa biến trước khi dùng  
à Tiên ₫ề sai (do thi hành sai lung thi hành).  
à ...  
Mi biến nên có chu ksng tt lành thông qua trình t3 bước  
: ₫ược to ra, ₫ược dùng và ₫ược xóa i.  
Chcó nhng lnh nm trong tm vc truy xut biến mi có  
thtruy xut/x₫ược biến. Tm vc truy xut biến là tp các  
lnh ₫ược phép truy xut biến ó.  
Thường các ngôn nglp trình cho phép ₫ịnh nghĩa tm vc  
cho mi biến thuc 1 trong 3 mc chính yếu : toàn cc, cc bộ  
trong tng
int x, y;  
void func1() { //thân hàm  
int x; // ₫ịnh nghĩa biến x mi cc btrong hàm  
...;  
{
// mi ln truy xut x là x cc btrong hàm  
// khi lnh bên trong bt ₫ầu  
int y; // ₫ịnh nghĩa biến y mi cc btrong lnh phc hp  
...;  
//mi ln truy xut y là y cc btrong lnh phc hp  
}
// y bên trong tự ₫ộng bxóa  
...; //truy xut y ngoài cùng, x cc btrong hàm  
} // x cc btrong hàm bxóa tự ₫ộng  
4.2 Phân tích ₫ời sng ca 1 biến  
Các lnh truy xut 1 biến thông qua 1 trong 3 hành ₫ộng sau :  
à d : ₫ịnh nghĩa biến, gán giá trxác ₫ịnh cho biến (nhp dữ  
liu vào biến cũng là hot ₫ộng gán trcho biến).  
à u : tham kho trca biến (thường thông qua biu thc).  
à k : hy (xóa b) biến i.  
Như vy nếu ký hiu ~ là miêu ttrng thái mà ở ₫ó biến chưa  
tn ti, ta có 3 khnăng x₫ầu tiên trên 1 biến :  
à ~d : biến chưa tn ti ri ₫ược ₫ịnh nghĩa vi giá trxác  
₫ị
à ~u : biến chưa tn ti ri ₫ược dùng ngay (trnào ?)  
à ~k : biến chưa tn ti ri bhy (llùng).  
3 hot ₫ộng xlý biến khác nhau kết hp li to ra 9 cp ôi  
hot ₫ộng xlý biến theo tht:  
à dd : biến ₫ược ₫ịnh nghĩa ri ₫ịnh nghĩa na : hơi l, có thể  
úng và chp nhn ₫ược, nhưng cũng có thcó li lp  
trình.  
à du : h tự ₫úng và  
bình thường.  
à dk : biến ₫ược ₫ịnh nghĩa ri bxóa b: hơi l, có thể ₫úng  
và chp nhn ₫ược, nhưng cũng có thcó li lp trình.  
à ud : biến ₫ược dùng ri ₫ịnh nghĩa giá trmi : hp lý.  
à uu : biến ₫ược dùng ri dùng tiếp : hp lý.  
à uk : biến ₫ược dùng ri bhy : hp lý.  
à kd : biến bxóa bri ₫ược ₫ịnh nghĩa li : chp nhn  
₫ược.  
à ku : biến bxóa bri ₫ược dùng : ây luôn là li.  
à kk : biến bxóa bri bxóa na : có llà li lp trình.  
4.3 Đồ thdòng dliu  
Là mt trong nhiu phương pháp miêu tcác kch bn ₫ời  
sng khác nhau ca các biến.  
Qui trình xây dng ₫ồ thdòng dliu da trên qui trình xây  
dng ₫ồ thdòng iu khin ca TPPM cn kim th.  
Gm 2 loi thành phn : các nút và các cung ni kết gia  
chúng.  
Các loi nút trong ₫ồ thdòng iu khin :  
im ni  
im kết thúc  
im quyết ₫ịnh  
im xut phát  
khi xlý  
Miêu tcác cu trúc iu khin phdng :  
switch  
If  
tun tự  
while c do...  
do ... while c  
Thí d:  
s1  
c1  
1. float foo(int a, int b, int c, int d) {  
2. float e;  
3. if (a==0)  
4.  
return 0;  
s2  
5. int x = 0;  
6. if ((a==b) || ((c==d) && bug(a)))  
s3  
c2  
7.  
8. e = 1/x;  
9. return e;  
10.}  
s4  
s5  
Độ phc tp Cyclomatic C  
Ta cũng dùng ₫ộ phc tp Cyclomatic C = V(G) ca ₫ồ thị  
dòng iu khin ca TPPM cn kim thử ₫ể xác ₫ịnh số ₫ường thi  
hành tuyến tính ₫ộc lp ca TPPM cn kim th.  
Mc tiêu ca kim thdòng dliu là chn la ₫ược úng C  
₫ường thi hành tuyến tính ₫ộc lp ca TPPM cn kim thri kim  
thử ₫ời sng ca tng biến trên tng ₫ường thi hành này xem có li  
gì không.  
4.4 Qui trình kim thdòng dliu  
Qui trình kim thdòng dliu ca 1 TPPM gm các bước  
công vic sau :  
ƒ TTPPM cn kim th, xây dng ₫ồ thdòng iu khin  
tương ng, ri chuyn thành ₫ồ thdòng iu khin nhị  
phân, ri chuyn thành ₫ồ thdòng dliu.  
ƒ Tính ₫ộ phc tp Cyclomatic ca ₫ồ th(C = P +1).  
ƒ Xác ₫ịnh C ₫ường thi hành tuyến tính ₫ộc lp cơ bn cn  
kim th(theo thut gii chi tiết chương 3).  
ƒ Lp kim thử ₫ời sng tng biến dliu :  
à mi biến có thcó ti a C kch bn ₫ời sng khác  
nhau.  
à trong tng kch bn ₫ời sng ca 1 biến, kim thxem  
có tn ti cp ôi hot ₫ộng không bình thường nào  
cáo kết quả  
và phn hi cho nhng người có liên quan.  
4.5 Thí dụ  
d(a),d(b),d(c),d(d)  
,d(e)  
1. float foo(int a, int b, int c, int d) {  
2. float e;  
3. if (a==0)  
u(a  
4.  
return 0;  
5. int x = 0;  
6. if ((a==b) || ((c==d) && bug(a)))  
d(x  
7.  
x = 1;  
8. e = 1/x;  
9. return e;  
u(a),u(b),u(c),u(d)  
10.  
}
d(x  
d(e),u(x),u(e  
k(all)  
Đồ thị ở slide trước có 2 nút quyết ₫ịnh nhphân nên có ₫ộ  
phc tp
Nó có 4 biến ₫ầu vào (tham s) và 2 biến cc b.  
Hãy lp kim thử ₫ời sng tng biến a, b, c, d, e, x.  
Kim thử ₫ời sng biến a  
ƒ Kch bn 1 : ~duuk  
ƒ Kch bn 2 : ~duuk (ging kch bn 1).  
ƒ Kch bn 3 : ~duk  
C3 kch bn trên ₫ều không cha cp ôi  
hot ₫ộng nào bt thung c.  
d(a)  
u(a)  
u(a)  
k(all)  
Kim th
ƒ Kch bn 1 : ~duk  
ƒ Kch bn 2 : ~duk (ging kch bn 1).  
ƒ Kch bn 3 : ~dk  
d(b)  
C3 kch bn trên ₫ều không cha cp ôi  
hot ₫ộng nào bt thýng c.  
u(b)  
k(all)  
Kim thử ₫ời sng biến c  
ƒ Kch bn 1 : ~duk  
ƒ Kch bn 2 : ~duk (ging kch bn 1).  
ƒ Kch bn 3 : ~dk  
d(c)  
C3 kch bn trên ₫ều không cha cp ôi  
hot ₫ộng nào bt thýng c.  
u(c)  
k(all)  
Kim thử ₫ời sng biến d  
ƒ Kch bn 1 : ~duk  
ƒ Kch bn 2 : ~duk (ging kch bn 1).  
ƒ Kch bn 3 : ~dk  
d(d)  
C3 kch bn trên ₫ều không cha cp ôi  
hot ₫ộng nào bt thýng c.  
u(d)  
k(all)  
Kim th
ƒ Kch bn 1 : ~dduk  
ƒ Kch bn 2 : ~dduk (ging kch bn 1).  
ƒ Kch bn 3 : ~dk  
d(e)  
Trong 3 kch bn trên, kch bn 1 & 2 có cha cp ôi  
dd bt thung nên cn tp trung chú ý kim tra xem  
có phi là li không.  
d(e),u(e)  
k(all)  
Kim thử ₫ời sng biến x  
ƒ Kch bn 1 : ~dduk  
ƒ Kch bn 2 : ~duk  
ƒ Kch bn 3 : ~  
Trong 3 kch bn trên, chcó kch bn 1 có cha  
cp ôi dd bt thung nên cn tp trung chú ý  
kim tra xem có phi là li không.  
d(x)  
u(x)  
d(x)  
k(all)  
4.6 Kết chương  
Chương này ã gii thiu tiếp 1 kthut khác ₫ể kim thhp  
trng TPPM, ó là kthut kim thdòng dliu.  
Chúng ta ã phân tích ₫ời sng ca biến dliu, các cp ôi  
hot ₫ộng trên biến ₫ược gi là hp lhay nghi ngcó li hay tệ  
hơn là chn chn gây li.  
Chương này cũng ã gii thiu 1 thí dcthvqui trình kim  
thdòng dliu trên 1 TPPM.  
pdf 10 trang yennguyen 12/04/2022 1980
Bạn đang xem tài liệu "Bài giảng Kiểm thử phần mềm (Software testing) - Chương 4: Kỹ thuật kiểm thử hộp trắng (Tiếp theo) - Nguyễn Văn Hiệp", để 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_software_testing_chuong_4_ky_thu.pdf