Tải bản đầy đủ (.pptx) (35 trang)

Data flow testing Kiểm thử luồng dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (946.64 KB, 35 trang )


Lớp:D10CNPM2
Nhóm 1


Trần Việt Anh

Đỗ Tất Đạt

Trần Quốc Đông

Dương Thị Hoan

Phạm Đức Thắng



Dựa vào mã nguồn/ cấu trúc chương trình.

Đối tượng là các thành phần phần mềm (1 hàm chức năng, 1 module chức năng… ).

Thường tốn rất nhiều thời gian và công sức.

Có 2 hoạt động kiểm thử hộp trắng:

Kiểm thử luồng điều khiển.

Kiểm thử luồng dữ liệu.




 !"# $%

&'()!*+,-

.%
• ,%

.
.

Thực hiện bằng cách phân tích các mã nguồn, không thực thi các mã.

Phương pháp kiểm thử dòng dữ liệu tĩnh thường được sử dụng để phát hiện những khiếm khuyết tiềm ẩn trong chương trình.
.
Có ba loại tình huống bất thường với việc sử dụng biến.

Loại 1: Gán giá trị cho biến sau đó lại gán giá trị một lần nữa.

Loại 2: Chưa gán giá trị biến nhưng vẫn được sử dụng.

Loại 3: Đã khai báo và gán giá trị biến nhưng không sử dụng.
.

Loại 1 : Gán giá trị sau đó lại gán giá trị một lần nữa.

Ví dụ : x = f1(y);
x = f2(z);

Các trường hợp lý giải:


Nếu dòng lệnh thứ hai thực hiện => dòng lệnh thứ nhất không có ý nghĩa.

Dòng lệnh 1 và 2 có thể nhầm lẫn.

Thiếu câu lệnh.
.

Loại 2: Chưa gán giá trị cho biến nhưng vẫn được sử dụng.

Ví dụ : y = f(x1);
int z;
x= y+z;

Các trường hợp lý giải:

Người lập trình quên chưa gán giá trị cho z.

Nhầm biến z với một biến đã khai báo.
.

Loại 3: Đã khai báo và gán giá trị cho biến nhưng không sử dụng.

Các trường hợp lý giải:

Nhầm lẫn giữa biến này và một số biến khác được sử dụng trong chương trình.

Biến này thực sự không được sử dụng trong chương trình.
.

Sơ đồ chuyển trạng của biến


Trạng thái:

U: Undefined

D: Defined but not referenced

R: Defined and referenced

A: Abnormal

Hành động:

d : Define

r : Reference

u : Undefine

,
,

/012-

314456,'(#,7# $897!+:#,$,'(,';,<!56=,
54,1>?,'(,$.!,6,56,?,'(@%

A!B:#,7# $56C## $,'( !'!4,DE#E#F#5
9,"!G56,'(@!H%
,


3#5'I-

JKB,$2<!'> CL,>$'> C%

3MFE2%

J#,$#,';N'> C+O(+IE,DM%

/*B !#59,"=P+#,';,8:#59,",?,'(## $,1
#!'>9I#,';,BE## $,1 !,(<!Q!%
&$

&$.!-&$2<!'> CL,>$'> C,$?'IRS
TAUVW8I-

AP+#,X'>9I#KYFZ<!#56,'(@ ,>$'> C%
&$R?!,X,F5,X54,1G'>9IY<!#56!H,X67,>$
'> C%

VP+#['>9I#K+Z<!#56%
&$

\#-

]Y-K## $56%

^Y-!5#5''!*+# $?%

^-K@56GE#F !#,"H%


3Z-K@56,E## $<!56#%

_Z-K@56 #59,"GK `#8F+8%%%H%
,
&$

aE@-E 5C
b%5!G!cd8!88!He
f%888U
g%5!U
h%SSSSiU
j%kGT!ll!cdmSZnnnHe
o%SpbU
q%YG!cdWSll!cdTS!He
r%SpbU
n%pS!cdUs
bi%ppUsLLk
bb%YGWiH
bf%!SG5HLU
bg%!SG5HZnnnU
bh%  !Us
P"

Global c-use:
a@56[,X,'(MR5!Z6,D,'(,$.!)#,X 'I,?%

aE@-oR5!Z<!56C56,D,'(,$.![h%


Def -clear path:
,'(,$.![,X,'(@[,Xt%\,';,=,6t0GZbZ%%%Z
ZtHIui,'(M]YZ! +!9I56656v,'(,$.![#,X=b,6%

_!hZjZoYZ! +!<!56C-

6,'(,$.![h%

6v,'(,$.!)j%
P"

Global def: \,X,'(MR5!Y<!566,XB,$.!56GYH?
]YZ! +!<!=,XI,X9!R5!ZF[9!+Z<!56
B%

aE@-hR5!Y<!56C

h,$.!56%

]YZ! +!hZjZo<!56?oR5!Z<!56%
P"

Simple path: \,';, ,$2,'(Mw++!6#,XX
*,71 =,X,1,X%

aE@-bZfZgZhZjZo8jZoZqZbiZj%

Loop-free path :\,';, ,$2,'(M/+ZY +!6#,X
X*,71%


aE@-bZfZgZhZjZo%
P"

Complete-path :\,';,,'(M3++!6??,54,1,6
7E,54,1,67<!,$2%

aE@-bZfZgZhZjZbbZbfZbh%

×