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 trꢆng
2
Cꢃc kỹ thuꢄt kiꢅm thử
• Test tĩnh (Static Verification)
– Thực hiện kiểm chứng mà 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 và 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
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ó)
Kỹ thuꢄt phân lớp tương đương
• Ví dụ
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
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 th Robust 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 có 2 lớp tương đương [e, f) [f,
g]
– a ≤ x2 ≤ d, x2 có 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 đủ
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:
- bai_giang_kiem_thu_phan_mem_software_testing_bai_5_cac_ky_th.pdf