Bài giảng Kiểm thử phần mềm (Software Testing) - Bài 5: Các kỹ thuật kiểm thử - Nguyễn Thị Thanh Trúc

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  
KHOA CÔNG NGHỆ PHẦN MỀM  
KIꢀM THꢁ PHẦN MỀM  
GV: ThS. Nguyễn Thị Thanh Trúc  
Khoa: Công nghệ Phần mềm  
Email: trucntt@uit.edu.vn  
1
Bꢂi 5: Cꢃc kỹ thuꢄt kiꢅm thử  
Test tĩnh (Static Verification)  
Test động (Dynamic Testing)  
5.1 Cꢃc kỹ thuꢄt kiꢅm thử hộp đen  
5.2 Cꢃc kỹ thuꢄt kiꢅm thử hộp trng  
2
Cꢃc kỹ thuꢄt kiꢅm thử  
Test tĩnh (Static Verification)  
– Thực hiện kiểm chứng không cần thực thi chương  
trình  
– Kiểm tra tính đúng đắn của các tài liệu có liên quan  
được tạo ra trong quá trình xây dựng ứng dụng  
– Đạt được sự nhất quán và hiểu rõ hơn về hệ thống  
– Giảm thời gian lập trình, thời gian chi phí test,…  
Test động (Dy
– Thực hiện kiểm thử dựa trên việc thực thi chương trình  
3
Dynamic Testing - Kiꢅm thử động  
Dynamic  
Specification-based  
Structure-based  
Equivalence  
Partitioning  
Basis Path  
Boundary Value  
Analysis  
Error  
Guessing  
Control-flow  
Decision Tables  
Cause-Effect  
Graphing  
Exploratory  
Testing  
Data-flow  
4
Cꢃc phương phꢃp kiꢅm thử (1)  
Funtional Testing (Black Box Testing):  
Test dựa trên mô tả, chúng ta xem xét phần mềm với  
các dữ liệu đầu vào và đầu ra mà không cần biết cấu  
trúc của phần mềm ra sao. Nghĩa là tester sẽ tập  
trung vào àm, không cần  
biết phần mềm làm như thế nào.  
– Ưu điểm:  
• Không phụ thuộc vào việc thực hiện phần mềm  
• Việc phát triển test case có thể diễn ra song song  
với quá trình thực hiện phần mềm Rút ngắn thời  
gian thực hiện dự án  
5
Cꢃc phương phꢃp kiꢅm thử (2)  
Structural Testing (White Box Testing):  
Test dựa trên cấu trúc còn được gọi là white-  
box hay glass-box bởi vì nó đòi hỏi sự hiểu  
biết về cấu trúc của phần mềm, nghĩa là phần  
mềm hoạt đ
6
Cꢃc phương phꢃp kiꢅm thử (3)  
Experience Testing (Test dựa trên kinh  
nghiệm)  
– Kỹ thuật này đỏi hỏi sự hiểu biết, kỹ năng và  
kinh nghiệm của người test.  
– Dựa vào những kinh nghiệm thu thập được từ  
những hệ thống trước đó, tester có thể dễ  
dàng nhểm sai trong  
chương trình.  
7
Tổng quan về kiểm thử hộp đen  
• Phương pháp kiểm thử hộp đen: coi  
hệ thống là một hộp đen, không thể  
thấy được cấu trúc logic bên trong.  
Người làm kiểm thử tập trung vào các  
yêu cầu chức năng của phần mềm  
dựa trên các dữ liệu lấy từ đặc tả  
• Đặc trưng:  
– Nhằm thuyết minh: các chức năng  
phần mềm đủ & vận hành đúng  
– Thực hiện các phép thử qua giao diện  
8
Tổng quan về kiểm thử hộp đen  
• Kiểm thử hộp đen nhằm tim ra các loại sai:  
– Chức năng thiếu hoặc không đúng đắn.  
Sai về giao diện.  
Sai trong y cập dữ liệu  
ngoài.  
Sai thực thi chức năng.  
Sai khởi đầu hoặc kết thúc mô đun.  
9
Cꢃc kỹ thuꢄt kiꢅm thử hộp đen  
• Kỹ thuật phân lớp tương đương (Equivalence  
Class Testing)  
• Kỹ thuật dựa trên giá trị biên (Boundary Value  
Testing)  
• Kỹ thuật dựa trên bảng quyết định (Decision  
Table-Based Testing)  
• Kỹ thuật dựa trên đồ thị nguyên nhân – kết quả  
(causes-effects)  
• …  
10  
Cꢃc kỹ thuꢄt kiꢅm thử hộp đen (1)  
• Kỹ thuật phân lớp tương đương (Equivalence  
Class Testing)  
• Kỹ thuật dựa trên giá trị biên (Boundary Value  
Testing)  
• Kỹ thuật dựa trên bảng quyết định (Decision  
Table-Based Testing)  
• Kỹ thuật dựa trên đồ thị nguyên nhân – kết quả  
(causes-effects)  
• …  
11  
Kỹ thuꢄt phân lớp tương đương  
• ꢀ tưởng: Chia miền vào chương trình thành các lớp dữ  
liệu. Xác định đầu vào hợp lệ và không hợp lệ để lập các  
ca kiểm thử theo các lớp đó  
• Mỗi lớp dùng để kiểm thử một chức năng, gọi là lớp  
tương đương
Thay vì kiểm tra tất cả các giá trị đầu vào, có thể lựa  
chọn từ đầu vào cho riêng từng lớp  
12  
Kỹ thuꢄt phân lớp tương đương  
• Nguyên tắc xác định lớp tương đương:  
– Nếu điều kiện đầu vào định rꢁ giới hạn của một mảng, hoặc một  
giá trị xác định thì chia vùng tương đương thành:  
– Một lớp tương đương hợp lệ  
Hai lớp không hợp lệ  
– Một lớp đặc biệt (nếu có)  
– Nếu điều kiện đầu vào chỉ định là một tập giá trị, hoặc xác định  
là một kiểu đúng sai thì chia vùng tương đương thành :  
– Một lớp tương đương hợp lệ.  
– Một lớp tươ
– Một lớp đặc biệt (nếu có)  
13  
Kỹ thuꢄt phân lớp tương đương  
• Ví dụ  
14  
Kỹ thuꢄt phân lớp tương đương  
• Ví dụ: Một textbox chỉ cho phép nhập số nguyên từ 1  
đến 100  
Ta không thể nhập tất cả các giá trị từ 1 đến 100  
• ꢀ tưởng của kỹ thuật này: Chia (partition) đầu vào thành  
những nhóm tương đương nhau (equivalence).  
• Giảm đáng kể số lượng test case cần phải thiết kế vì với  
mỗi lớp tương đương ta chỉ cần test trên các phần tử đại  
diện  
15  
Kỹ thuꢄt phân lớp tương đương  
• Có hai yếu tố ảnh hưởng đến việc thiết kế test case  
– Dựa trên giả định (Assumption)  
Single fault assumption Weak ECT (Equivalence  
Class Testing)  
Multiple fault assumption Strong ECT  
– Dựa trên loại dữ liệu inputs  
• Kiểm thử trên dữ liệu hợp lệ Normal ECT  
• Kiểm thRobust ECT  
Assumption  
Single Fault  
Multiple Faults  
Data  
Valid  
Weak Normal  
Weak Robust  
Strong Normal  
Strong Robust  
Invalid  
16  
Kỹ thuꢄt phân lớp tương đương  
Weak Normal Equivalence Class Testing  
Strong Normal Equivalence Class Testing  
Weak Robust Equivalence Class Testing  
Strong Robust Equivalence Class Testing  
17  
Weak Normal Equivalence Class Testing  
• Dựa trên Single Fault Assumption  
– Một failure ít khi nào là kết quả của 2 hay  
nhiều faults xảy ra cùng 1 lúc  
• Ví dụ:  
– e ≤ x1 ≤ g, x1 2 lớp tương đương [e, f) [f,  
g]  
– a ≤ x2 ≤ d, x2 3 lớp tương đương [a, b) [b,  
c), [c, d]  
18  
Weak Normal Equivalence Class Testing  
Weak normal equivalence  
X1  
class test cases for a  
function of 2 variables  
g
f
P2  
P1  
P3  
e
X2  
a b  
c
d
19  
Strong Normal Equivalence Class Testing  
• Dựa trên Multiple Fault Assumption  
– Một failure có thể là kết quả của 2 hay nhiều faults  
xảy ra cùng 1 lúc  
Strong normal equivalence  
X1  
class test cases for a  
function of 2 variables  
g
f
e
X2  
a b  
c
d
20  
Tải về để xem bản đầy đủ
pdf 95 trang yennguyen 12/04/2022 30220
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 (Software Testing) - Bài 5: Các kỹ thuật kiểm thử - Nguyễn Thị Thanh Trúc", để 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_bai_5_cac_ky_th.pdf