Tải bản đầy đủ (.ppt) (24 trang)

bài 3. các phương pháp kiểm thử

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 (407.11 KB, 24 trang )

PHẦN II. NGUYÊN LÝ KIỂM THỬ
PHẦN MỀM


Nội dung:
 Bài 3: Các phương pháp kiểm thử
 Bài 4: Các kỹ thuật kiểm thử
 Bài 5: Các vấn đề cần kiểm thử
 Bài 6: Các giai đoạn kiểm thử

07/05/14

1


BÀI 3. CÁC PHƯƠNG PHÁP KIỂM THỬ


Nội dung:
 3.1. Test to pass, test to fail
 3.2. Phương pháp kiểm thử hộp trắng (white box test)
 3.3. Phương pháp kiểm thử hộp đen (black box test)
 3.4. Phương pháp kiểm thử hộp xám (gray box test)
 3.5. Kiểm thử tĩnh (static), kiểm thử động (dynamic)
 3.6. Kết hợp các phương pháp kiểm thử
 3.7. Standard và guideline của quá trình coding

07/05/14

2



3.1. TEST–TO–PASS VÀ TEST–TO–FAIL


Test – to – pass: thực hiện kiểm tra với những chức năng
tối thiểu của phần mềm => pass



Test – to – fail: thực hiện với kiểm tra những trường hợp
lắt léo, bí ẩn, cố gắng để bắt lỗi => fail



Thứ tự thực hiện : test – to – pass và test – to – fail



Thứ tự này khơng bắt buộc => đạt được mục đích: bắt lỗi3

07/05/14


3.2. PHƯƠNG PHÁP KIỂM THỬ HỘP
TRẮNG (WHITE BOX TEST)
INPUT

 White box testing – test hộp trắng
 Còn gọi là structural testing
 Test dựa trên cấu trúc của code


OUTPUT

07/05/14

4


3.2. EXAMPLE: WHITE BOX TEST WITH “AND”
Definition

Conditions Table ( 2 n )

 Both parts of the predicate are
tested
 Program Sample shows that all 4
test conditions are tested
Program Sample
If((A > 1) AND (B=0)
{
//sub-statement 1
}
Else
{
//sub-statement 2
}

Test Conditions
1. (A > 1) AND (B = 0)
2. (A > 1) AND (B NOT = 0)

3. (A<=1) AND (B NOT = 0)
4. (A<=1) AND (B = 0)


3.2. EXAMPLE: WHITE BOX TEST WITH “OR”
Conditions Table ( 2 n )

Definition

A>1
TRUE
 Program Sample shows that all 4 TRUE
FALSE
test conditions are tested
FALSE
 Both parts of the predicate are
tested

Program Sample
If((A > 1) OR (B=0)
{
//sub-statement 1
}
Else
{
//sub-statement 2
}

OR
OR

OR
OR

B = 0 RESULT
TRUE
TRUE
FALSE TRUE
FALSE FALSE
TRUE
TRUE

Test Conditions
1. (A > 1) OR (B = 0)
2. (A<=1) OR (B NOT = 0)
3. (A<=1) OR (B=0)
4. (A>1) OR (B NOT= 0)


3.2. EXAMPLE: WHITE BOX TEST WITH “if…else”
Definition

Program Sample

A test case design technique in which
test cases are designed to execute all
the outcomes of every decision
Graph
1

T


3
Y>1

Y>9

Y=Y+1

Y=Y+4

F

Y=Y+3
Y=Y+2

F

2

Y=Y+1
T

IF Y > 1 THEN

Y=Y+1
IF Y > 9 THEN Y = Y + 1
ELSE
Y=Y+3
END
Y=Y+2

ELSE
Y=Y+4
END

No. Of Paths = 3
Test Cases:
1 (Y > 1) and (Y > 9)
2 (Y > 1) and (Y <= 9)
3 (Y < = 1)


3.3. PHƯƠNG PHÁP KIỂM THỬ HỘP
ĐEN (BLACK BOX TEST)
 Black box testing – test hộp đen

INPUT

 Còn gọi là functional testing,

behavioural testing
 Test không quan tâm đến code, test

dựa trên hành vi của hệ thống
OUTPUT

07/05/14

8



3.4. EXAMPLE: BLACK BOX TEST
 Form Login cho phép đăng nhập với User,

Pass hợp lệ. Kiểm thử form với những trường

INPUT

hợp nào?
 Kiểm thử với những trường hợp:

Login Form

 User, Pass hợp lệ
 User hoặc Pass để trống
 User hoặc Pass không hợp lệ

07/05/14

OUTPUT

9


3.4. PHƯƠNG PHÁP KIỂM THỬ HỘP
XÁM (GRAY BOX TEST)
 Gray box testing – kiểm thử hộp xám

INPUT

 Là sự kết hợp của white box và black box


testing
 1 số test case phải là white box (tester phải biết

1 chút về cách thức hoạt động bên trong của
phần mềm)

OUTPUT

 1 số test case là black box

07/05/14

10


3.4. EXAMPLE: GRAY BOX TEST
 Division(a, b) thực phép chia 2 số nguyên a

cho b được code bằng C#. Cần kiểm thử với

INPUT

những trường hợp nào?
 Kiểm thử với những trường hợp:

Method of division

 a chia hết b
 a không chia hết cho b

 a>b hoặc a
OUTPUT

 b=0
 …

07/05/14

11


3.5. KIỂM THỬ STATIC, DYNAMIC


Khái niệm: static testing và dynamic testing


Static testing quy về việc kiểm tra một số thứ mà nó khơng phải
đang được running, examining, reviewing.



Dynamic testing là cách mà bạn gọi quá trình testing, running và
using the software.

07/05/14

12



3.6. KẾT HỢP CÁC PHƯƠNG PHÁP
KIỂM THỬ


a) Static black box testing



b) Dynamic black box testing



C) Dynamic white box testing

07/05/14

13


a) STATIC BLACK BOX TESTING


Static black – box testing dùng để kiểm tra bản đặc tả


Bản đặc tả có thể được xây dựng theo các cách khác nhau. Nó có thể
căn cứ vào: yêu cầu khách hàng, nghiên cứu thị trường, những tiêu
chuẩn về tính tiện dụng




Bản đặc tả là một tài liệu, khơng phải là một chương trình đang chạy,
vì vậy mà nó được xem xét tĩnh (static)



Một số dự án xây dựng bằng mơ hình: big – bang hoặc code – and –
fix => khơng có bản đặc tả, người kiểm thử => tester phải trao đổi
với coder, manager, … => đưa ra bản đặc tả: chi tiết hoặc chỉ là

07/05/14

những câu hỏi của người đang thiết kế phần mềm.

14


b) KIỂM THỬ DYNAMIC BLACK - BOX


Cách kiểm thử phần mềm mà tester khơng hề biết gì về
đoạn code kiểm thử gọi là Dynamic black – box testing
(behavioral testing )


Dynamic: bạn sẽ đóng vai trị là một khách hàng và chạy chương
trình




Black – box: bạn đang kiểm tra nó mà khơng hề biết chính xác cái
cách mà nó làm việc



07/05/14

requirements document và product specification => testcase (input, output)
15


b) KIỂM THỬ DYNAMIC BLACK - BOX


Test case:



Lựa chọn các test case là nhiệm vụ
quan trọng nhất của tester



Test case được lựa chọn phải đảm
bảo kiểm tra ít trường hợp mà vẫn
đạt hiệu quả cao




VD: Kiểm thử phương thức
Division

07/05/14

16


b) KIỂM THỬ DYNAMIC BLACK - BOX


Nếu khơng có Spec (big - bang, code - and - fix), tester sẽ
phải kiểm thử một cách mị mẫm


Đồng thời: tìm hiểu phần mềm, thiết kế testcase, thực thi chúng



Coi phần mềm như một bản đặc tả, tìm hiểu các feature của phần mềm
bằng chính các feature này



07/05/14

Khó có thể kiểm tra phần mềm một cách triệt để

17



c) DYNAMIC WHITE BOX TESTING
 Dynamic white-box testing, tóm tắt ngắn gọn là sử dụng

những thông tin mà bạn thu được từ việc xem xét
những vấn đề mà code thực hiện và cách nó làm việc để
xác định những thứ cần test, những thứ không cần test,
và cách kiểm thử
 Phân biệt giữa 2 khái niệm: dynamic white-box testing

và debugging
07/05/14

18


c) DYNAMIC WHITE BOX TESTING
 Phân biệt giữa 2 khái niệm: dynamic white-box testing

và debugging

07/05/14

19


3.7. STANDARD VÀ GUIDELINE CỦA
QUÁ TRÌNH CODING
 Standard: là các tiêu chuẩn quốc tế về coding bắt buộc 1


phần mềm đạt chuẩn phải tuân theo

 Guideline: là các hướng dẫn viết coding khuyến khích các

kỹ sư lập trình tn theo

07/05/14

20


3.7. STANDARD VÀ GUIDELINE CỦA
Q TRÌNH CODING
 Các standard có 4 phần chính:
 Title miêu tả chủ đề mà standard muốn trình bày
 Standard (hoặc guideline) miêu tả, giải thích chính xác những

thứ được phép và khơng được phép
 Justification (sự biện hộ, chứng minh): đưa ra những lý do để

người lập trình hiểu là tại sao nó là cách lập trình tốt
 Example (ví dụ): biểu diễn những mẫu lập trình đơn giản về

cách sử dụng standard. Cái này có thể khơng cần thiết
07/05/14

21


3.7. STANDARD VÀ GUIDELINE CỦA

QUÁ TRÌNH CODING
Các chuẩn quốc gia và quốc tế dành cho hầu hết các ngôn
ngữ lập trình và cơng nghệ thơng tin có thể thu được từ
những tài liệu sau:
 American National Standards Institute (ANSI), www.ansi.org
 International Engineering Consortium (IEC), www.iec.org
 International Organization for Standardization (ISO), www.iso.ch
 National Committee for Information Technology Standards

(NCITS), www.ncits.org
07/05/14

22


3.7. STANDARD VÀ GUIDELINE CỦA
QUÁ TRÌNH CODING
Các tài liệu giải thích về các programming guideline và cách
thực hiện tốt nhất có thể tìm thấy trong các tổ chức chun
nghiệp như:
 Association for Computing Machinery (ACM), www.acm.org
 Institute of Electrical and Electronics Engineers, Inc (IEEE),

www.ieee.org

07/05/14

23



BÀI 3. CÂU HỎI
1.

So sánh kiểm thử black box, white box, gray box?

2.

Khi nào áp dụng static testing, khi nào áp dụng dynamic testing?

3.

Thế nào là Standard? Thế nào là Guideline?

4. Nếu bạn đang kiểm tra khả năng phát lệnh in tới một máy in cho

phép in nhiều trang trên 1 khổ giấy (với đặc tả cho phép in số
lượng trang chẵn và in tối đa là 8 trang trên 1 khổ giấy), những
trường hợp nào có thể là các test – to – fail?

07/05/14

24



×