PHƯƠNG PHÁP KIỂM THỬ HỘP ĐEN BLACK BOX TEST INPUT OUTPUT Black box testing – test hộp đen Còn gọi là functional testing, behavioural testing Test không quan tâm đến code, test dựa trê
Trang 1PHẦN II NGUYÊN LÝ KIỂM THỬ
PHẦN MỀM
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ử
Trang 2BÀI 3 CÁC PHƯƠNG PHÁP KIỂM THỬ
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
Trang 3 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ỗi
Trang 4Còn gọi là structural testing
Test dựa trên cấu trúc của
code
Trang 5 Both parts of the predicate are
tested
Program Sample shows that all 4
test conditions are tested
Conditions Table ( 2 n )
Program Sample
If((A > 1) AND (B=0)
{ //sub-statement 1
} Else { //sub-statement 2
Trang 6 Both parts of the predicate are
tested
Program Sample shows that all 4
test conditions are tested
Conditions Table ( 2 n )
Program Sample
If((A > 1) OR (B=0)
{ //sub-statement 1
} Else { //sub-statement 2
3.2 EXAMPLE: WHITE BOX TEST WITH “OR”
Trang 7A test case design technique in which
test cases are designed to execute all
the outcomes of every decision
Y = Y + 2 ELSE
Y = Y + 4 END
3.2 EXAMPLE: WHITE BOX TEST WITH “if…else”
No Of Paths = 3 Test Cases:
1 (Y > 1) and (Y > 9)
2 (Y > 1) and (Y <= 9)
3 (Y < = 1) Graph
Trang 83.3 PHƯƠNG PHÁP KIỂM THỬ HỘP
ĐEN (BLACK BOX TEST)
INPUT
OUTPUT
Black box testing – test hộp đen
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
Trang 93.4 EXAMPLE: BLACK BOX TEST
User, Pass hợp lệ Kiểm thử form với
User hoặc Pass để trống
User hoặc Pass không hợp lệ
Trang 103.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
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)
1 số test case là black box
INPUT
OUTPUT
Trang 113.4 EXAMPLE: GRAY BOX TEST
nguyên a cho b được code bằng C# Cần
kiểm thử với những trường hợp nào?
a không chia hết cho b
a>b hoặc a<b
b=0
Trang 123.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.
Trang 133.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
Trang 14a) 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à những câu hỏi của người đang thiết kế phần mềm.
Trang 15b) KIỂM THỬ DYNAMIC BLACK - BOX
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
Trang 16b) 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
Trang 17b) 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
Khó có thể kiểm tra phần mềm một cách triệt để
Trang 18c) 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
Trang 19c) DYNAMIC WHITE BOX TESTING
Phân biệt giữa 2 khái niệm: dynamic white-box
testing và debugging
Trang 203.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 tuân theo
Trang 213.7 STANDARD VÀ GUIDELINE CỦA
QUÁ TRÌNH CODING
Các standard có 4 phần chính:
những thứ được phép và không được phép
để người lập trình hiểu là tại sao nó là cách lập trình tốt
về cách sử dụng standard Cái này có thể không cần thiết
Trang 223.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
Trang 233.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 chuyên nghiệp như:
Association for Computing Machinery (ACM),
www.acm.org
Institute of Electrical and Electronics Engineers, Inc (IEEE), www.ieee.org
Trang 24BÀ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?