Bài giảng Kiểm thử phần mềm - Bài 5: Các kỹ thuật kiểm thử - Nguyễn Thị Thanh Trúc
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 (Dynamic Testing)
– Thực hiện kiểm thử dựa trên việc thực thi chương trình

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiểm thử phần mềm - 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
Tóm tắt nội dung tài liệu: Bài giảng Kiểm thử phần mềm - Bài 5: Các kỹ thuật kiểm thử - Nguyễn Thị Thanh Trúc
= (số lượng values của cause 1) * * (số
lượng values của cause n)
Mỗi cause có 2 giá trị true, false
Tổng số phép kết hợp = 26 = 64
49
B3: Điền giá trị các cột trong bảng
Combinations
Causes Values 1 2 3 4 5 6 7 8
Cause 1 Y, N Y Y Y Y N N N N
Cause 2 Y, N Y Y N N Y Y N N
Cause 3 Y, N Y N Y N Y N Y N
Effects
Effect 1 X X X
Effect 2 X X X
• Thuật toán:
– Xác định số lần lặp lại (RF) trong từng giá trị của cause bằng
cách lấy tổng số phép kết hợp còn lại chia cho số values mà
cause có thể nhận
– Điền dữ liệu cho dòng thứ i: điền RF lần giá trị đầu tiên của
cause i, tiếp theo RF lần giá trị tiếp theo của cause i cho đến
khi dòng đầy
– Chuyển sang dòng kế tiếp, quay lại bước 1 và tiếp tục thực hiện
50
B3: Điền giá trị các cột trong bảng
• Ví dụ:
RF = 64 / 2 = 32
RF = 32 / 2 = 16
RF = 16 / 2 = 8
51
B4: Giảm số phép kết hợp
• Duyệt qua tất cả các ô trong từng cột, ô nào mà
kết quả của nó không ảnh hưởng đến effect thì
đặt giá trị trên ô này là “-” (don’t care entry)
• Ghép các cột với nội dung giống nhau thành 1 cột
52
B5: Kiểm tra độ bao phủ các phép kết hợp
• Tính rule-count trên từng cột (số lượng phép kết hợp)
mà cột này có thể thực hiện
• Với các dòng có giá trị là ‘-’ thì luỹ thừa 2
• Nếu tổng của các rule-count bằng với tổng số kết hợp
giữa các cause trong bước 2 thì bảng quyết định là đầy
đủ
53
B6: Bổ sung kết quả (effect) vào trong bảng
• Duyệt qua từng cột và check vào kết quả (effect)
• Nhiều cột khác nhau có thể cho ra cùng 1 kết quả giống nhau
54
Ví dụ
• Bảng quyết định hoàn chỉnh
55
Ví dụ 1
• Công ty Honda trao học bổng cho những bạn
sinh viên thỏa mãn ít nhất 1 trong 2 điều kiện
sau: Là sinh viên giỏi , là cán bộ lớp.
• Nếu thỏa mãn cả 2 điều kiện sẽ được học
bổng 600$, nếu thỏa mãn là sinh viên giỏi
được học bổng 400$, nếu là cán bộ lớp được
học bổng là 300$.
• Lập bảng hỗ trợ quyết định để thiết kế các ca
kiểm thử
56
VD1: Bảng hỗ trợ quyết định
Luật 1 Luật2 Luật3 Luật4
Điều kiện Là cán bộ lớp Y Y N N
Là học sinh giỏi Y N Y N
Hành động Học bổng 600$ 300$ 400$ 0$
Các ca kiểm thử
Ca Đầu vào Đầu ra mong đợi
1 Là cán bộ lớp, là sv giỏi 600$
2 Là cán bộ lớp, ko fai là sv giỏi 300$
3 Ko phải cán bộ lớp, là sv giỏi 400$
4 Ko phải cán bộ lớp, ko phải sv giỏi 0$
57
VD 2
• Chương trình quản lý tiền vé và số lượng mũ phát cho
khách hàng vào thăm quan bảo tàng được mô tả như
sau:
• Vé bán có các mức sau: đối với trẻ em dưới 5 tuổi được
miễn phí, đối tượng từ 5 tuổi tới 65 tuổi phải trả 20$/vé,
đối tượng lớn hơn 65 tuổi phải trả 10$/vé.
• Chương trình tặng mũ cho khách: với những đối tượng
là nữ sẽ tặng mũ hồng, đối tượng là nam sẽ tặng mũ
xanh
• Dùng bảng hỗ trợ quyết định xây dựng các ca kiểm thử
cho chương trình trên
58
VD2
Luật 1 Luật2 Luật3 Luật4 Luật 5 Luật 6
Điều Tuổi <5 Y Y
kiện
5<=tuổi<=65 Y Y
Tuổi >65 Y Y
Giới tính Y N Y N Y N
Hành Miễn phí Y Y
động
Giá10 $ Y Y
Giá20 $ Y Y
Tặng mũ xanh Y Y Y
Tặng mũ hồng Y Y Y
59
VD2
• Các ca kiểm thử dựa trên bảng hỗ trợ quyết định
Ca Đầu vào Đầu ra mong đợi
1 Tuổi <5, giới tính: Nữ Miễn phí vé vào, tặng mũ đỏ
2 Tuổi <5, giới tính: Nam Miễn phí vẽ vào, tặng mũ xanh
3 5<= tuổi<= 65, giới tính: Nữ Giá vé 20$, tặng mũ đỏ
4 5<= tuổi<= 65, giới tính: Nam Giá vé 20$, tặng mũ xanh
5 Tuổi >65, giới tính: Nữ Giá vé 10$, tặng mũ đỏ
6 Tuổi >65, giới tính: Nam Giá vé 10$, tặng mũ xanh
60
Các kỹ thuật kiểm thử hộp đen (4)
• Kỹ thuật dựa trên giá trị biên (Boundary Value
Testing)
• Kỹ thuật phân lớp tương đương (Equivalence
Class 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)
•
61
Đồ thị nguyên nhân – kết quả
• Là kỹ thuật thiết kế test case dựa trên đồ thị
• Tập trung vào việc xác định các mối kết hợp
giữa các conditions và kết quả mà các mối
kết hợp này mang lại
62
Các bước xây dựng đồ thị
• Bước 1: Phân chia hệ thống thành các vùng hoạt động
• Bước 2: Xác định các nguyên nhân (causes), kết quả
(effects)
• Bước 3: Chuyển nội dung ngữ nghĩa trong đặc tả
thành đồ thị liên kết các cause và effects
• Bước 4: Chuyển đổi đồ thị thành bảng quyết định
• Bước 5: Thiết lập danh sách test case từ bảng quyết
định. Mỗi test case tương ứng với một cột trong bảng
quyết định
63
Bước 1
• Phân chia hệ thống thành các vùng hoạt động
– Phân rã các yêu cầu chức năng thành danh sách các
functions hay sub-functions
64
Bước 2
• B 2.1: Dựa vào đặc tả, xác định các causes và chỉ định
mỗi causes này 1 định danh ID
– Một cause có thể được xem như là 1 input conditions
hoặc là đại diện của 1 lớp tương đương input
conditions
• B 2.2: Dựa vào đặc tả, xác định effects hoặc sự thay đổi
trạng thái của hệ thống và chỉ định mỗi effect 1 định
danh ID
– Effect có thể là output action, output condition hay là
đại diện của 1 lớp tương đương output conditions
65
Xác định các causes, effects
• Ví dụ: Xét đặc tả hệ thống tính phí bảo hiểm xe hơi
– Đối với nữ < 65 tuổi, phí bảo hiểm là: 500$
– Đối với nam < 25 tuổi, phí bảo hiểm là: 3000$
– Đối với nam từ 25 đến 64, phí bảo hiểm là: 1000$
– Nếu tuổi từ 65 trở lên, phí bảo hiểm là: 1500$
Có 2 yếu tố xác định phí bảo hiểm: giới tính và tuổi
66
Bước 3
• Chuyển nội dung ngữ nghĩa trong đặc tả thành đồ thị
liên kết các cause và effects
– CEG #1: Đối với nam từ 25 đến 64, phí bảo hiểm là
1000$
– CEG #2: Đối với nam < 25 tuổi, phí bảo hiểm là
3000$
67
Bước 3
• CEG #3: Nếu tuổi từ 65 trở lên, phí bảo hiểm là: 1500$
• CEG #4: Đối với nữ < 65 tuổi, phí bảo hiểm là: 500$
68
Bước 4: Chuyển đổi đồ thị thành
Bảng quyết định
69
Bước 5: Lập danh sách test case từ
Bảng quyết định
70
Bài tập 1
• Nếu bạn đi xe điện chuyến trước 9:30 sáng
hoặc từ sau 4:00 chiều đến 7:30 tối (giờ cao
điểm), thì bạn phải mua vé thường. Vé tiết kiệm
(giá thấp hơn vé thường) có hiệu lực cho các
chuyến xe từ 9:30 sáng đến 4:00 chiều và sau
7:30 tối. Tàu hoạt động từ 4:00 sáng tới 23:00
đêm
• Thiết kế các ca kiểm thử để kiểm tra yêu cầu
trên dựa vào phương pháp phân vùng tương
đương và phân tích giá trị biên.
71
Bài tập 2
• TPPM “ xét đơn cầm cố nhà” với đặc tả như
sau: mỗi lần nhận 1 đơn xin cầm cố, phần
mềm sẽ ra quyết định chấp thuận nếu 4 điều
kiện sau thỏa mãn:
– Thu nhập hàng tháng của người nộp đơn
nằm trong khoảng từ 1000$ với 83333$
– Số nhà xin cầm cố từ 1-5
• Dùng phương pháp phân hoạch tương
đương và phân tích giá trị biên để thiết kế
các trường hợp kiểm thử cho TPPM trên.
72
Bài tập 3
• Viết chương trình dịch, trong đó có câu lệnh
FOR, đặc tả câu lệnh FOR như sau: “Lệnh FOR
chỉ chấp nhận một tham số duy nhất là biến
đếm. Tên biến không được sử dụng quá hai ký
tự khác rỗng. Sau kýhiệu = là cận dưới và cận
trên của biến đếm. Các cận trên và cận dưới là
các số nguyên dương và được đặt giữa từ khóa
TO”.
• Dùng phương pháp phân hoạch tương
đương, thiết kế các ca kiểm thử cho cậu lệnh
FOR
73
Bài tập 4
• Bài toán tìm nghiệm thực cho phương trình bậc 2:
• Biết a,b,c là các số thực € [-10, 100]
• Đầu ra có thể gặp sau khi nhập bộ 3 số a,b,c và bấm nút
Calculate là:
– 1. Không phải là phương trình bậc 2.
– 2. Phương trình vô nghiệm
– 3. Phương trình có một nghiệm (đưa ra giá trị của nghiệm)
– 4. Phương trình có 2 nghiệm (đưa ra giá trị của 2 nghiệm)
– 5. Nhập sai dữ liệu
• Thiết kế các ca kiểm thử dùng phương pháp phân hoạch
tương đương
74
Bài tập 5
• Chương trình tính chi phí cho bệnh nhân dựa
trên độ tuổi và giới tính có màn hinh và các
yêu cầu như sau:
75
Bài tập 5
• Mô tả chức năng:
– 1. Khởi tạo màn hình:
– Item 2 được check mặc định ở "Male"
– Item 3 và 5 null
– Item 4 ở trạng thái enable (có thể click được)
– 2. Mô tả xử lýchính:
– Khi click vào item 4 thì xử lýnhư sau:
+ Nếu là Male
++ Độ tuổi từ 18 đến 35 thì nhận được 100€
++ Độ tuổi từ 36 đến 50 thì nhận được 120€
++ Độ tuổi từ 51 đến 145 thì nhận được 140€
++ Độ tuổi khác thì hiển thị thông báo lỗi: "Xin vui lòng nhập độ tuổi chính xác"
+ Nếu là Female
++ Độ tuổi từ 18 đến 35 thì nhận được 80€
++ Độ tuổi từ 36 đến 50 thì nhận được 110€
++ Độ tuổi từ 51 đến 145 thì nhận được 140€
++ Độ tuổi khác thì hiển thị thông báo lỗi: "Xin vui lòng nhập độ tuổi chính xác"
76
Bài tập 5
• Dùng phương pháp phân hoạch tương
đương và phân tích giá trị biên để xây dựng
các ca kiểm thử cho chương trình trên.
77
BT1 (Giải)
• Bảng phân vùng tương đương
Lịch 00:00- 4:00- 9:30- 16:01- 19:31- 23:00-
3:59 9:29 16:00 19:30 22:59 23:59
Loại vé Vé Vé tiết Vé Vé tiết
thường kiệm thường kiệm
Lớp tương Ko Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Ko Hợp
đương lệ
Ca Đầu vào Đầu ra mong đợi
1 Xuất phát lúc 2h Không hợp lệ
• Các ca kiểm thử
2 Xuất phát lúc 6h Vé thường
– (Bảng 1) 3 Xuất phát lúc 12h Vé tiết kiệm
4 Xuất phát lúc 18h Vé thường
5 Xuất phát lúc 21h Vé tiết kiệm
6 Xuất phát lúc 23h30 Không hợp lệ 78
BT1
• Các giá trị biên cần kiểm thử (Bảng 2)
Ca Đầu vào Đầu ra mong đợi
1 Xuất phát lúc 0h Không hợp lệ
2 Xuất phát lúc 3h59 Không hợp lệ
3 Xuất phát lúc 4h Vé thường
4 Xuất phát lúc 9h29 Vé thường
5 Xuất phát lúc 9h30 Vé tiết kiệm
6 Xuất phát lúc 16h Vé tiết kiệm
7 Xuất phát lúc 16h01 Vé thường
8 Xuất phát lúc 19h 30 Vé thường
9 Xuất phát lúc 19h31 Vé tiết kiệm
10 Xuất phát lúc 22h59 Vé tiết kiệm
11 Xuất phát lúc 23h Không hợp lệ
79
BT1
• Kết hợp Bảng 1 &2 ta có ca kiểm thử:
Ca Đầu vào Đầu ra mong đợi
1 Xuất phát lúc 0h Không hợp lệ
2 Xuất phát lúc 2h Không hợp lệ
3 Xuất phát lúc 3h59 Không hợp lệ
4 Xuất phát lúc 4h Vé thường
5 Xuất phát lúc 6h Vé thường
6 Xuất phát lúc 9h29 Vé thường
7 Xuất phát lúc 9h30 Vé tiết kiệm
8 Xuất phát lúc 12h Vé tiết kiệm
9 Xuất phát lúc 16h Vé tiết kiệm
10 Xuất phát lúc 16h01 Vé thường
11 Xuất phát lúc 18h Vé thường
12 Xuất phát lúc 19h30 Vé thường
13 Xuất phát lúc 19h31 Vé tiết kiệm
14 Xuất phát lúc 21h Vé tiết kiệm
15 Xuất phát lúc 22h59 Vé tiết kiệm
16
Xuất phát lúc 23h Không hợp lệ 80
17
Xuấ t phát lúc 23h30 Khôngp lệ hợ
Bài tập 2 (Giải)
• Thu nhập hàng tháng
Đầu vào Lớp hợp lệ Đánh dấu Lớp ko Đánh dấu
hợp lệ
Thu nhập [1000$ H1 <1000$ K1
hàng tháng ,83333$]
>8333$ K2
Số nhà [1,5] H2 <1 K3
cầm cố
>5 K4
• Các ca kiểm thử TC1(H1,H2), TC2(H1,K3),
TC3(H1,K4), TC4(K1,H2), TC5(K2, H2)
81
BT2
• Các giá trị biên cần kiểm tra
– Với Thu nhập hàng tháng {999$, 1000$,
83333$,83334$}
– Với số nhà cầm cố {0,1,5,6}
82
BT2: Các ca kiểm thử
TC Đầu vào Đầu ra mong đợi
Thu nhập Số lượng nhà
1 1000$ 1 Được thế chấp
2 5000$ 3 Được thế chấp
3 83333$ 1 Được thế chấp
4 1000$ 5 Được thế chấp
5 8333$ 5 Được thế chấp
6 1000$ 0 Không được thế chấp
7 8333$ 6 Không được thế chấp
8 8333$ 0 Không được thế chấp
9 8333$ 6 Không được thế chấp
10 999$ 1 Không được thế chấp
11 8334$ 1 Không được thế chấp
12 999$ 5 Không được thế chấp
13 8334$ 5 Không được thế chấp 83
BT3: bảng phân vùng tương đương
Đầu vào Họp lệ Đánh Ko Hợp lệ Đánh
dấu dấu
Tên biến 1-2 k. tự H1 Rỗng K1
>2 k. tự K2
Số lượng biến 1 H2 0 K3
>1 K4
Cận trên Số H3 Không phải số nguyên dương K5
Nguyên dương
Không phải số nguyên K6
Không phải số K7
Rỗng K8
Cận dưới Số nguyên H4 Không phải số nguyên dương K9
dương
Không phải số nguyên K10
Không phải số K11
Rỗng K12
Toán tử gán = H5 K. tự khác dấu = K13
84
Từ khóa To To H6 K. tự khác To K14
BT3 Test case
85
BT4 (Giải)
• Bảng phân hoạch tương đương
86
Các ca kiểm thử
• Test case
87
Các ca kiểm thử (tiếp)
• Test case
88
Bài tập 1 (Bảng quyết định)
• Nếu bạn có thẻ đường sắt "over 60s" thì được giảm giá
34% trên tất cả các vé bạn mua.
• Khi bạn đi cùng với trẻ em (dưới 16 tuổi), thì bạn sẽ được
giảm 50% nếu bạn có thẻ "family rail card", trong trường
hợp ko có thẻ bạn chỉ được giảm 10%
• Bạn chỉ được sử dụng 1 hình thức khuyến mại trong 1 giao
dịch
• Hãy viết bảng quyết định liệt kê toàn bộ các kết hợp loại
thẻ và kết quả giảm giá. Và viết test case từ bảng quyết
định này
89
Bài tập 2 (Bảng quyết định)
• Một chương trình phân loại kết quả học của sinh viên dựa trên tổng
điểm. Biết tổng điểm của sinh viên (tối đa là 100) trong một kỳbằng
điểm thành phần cộng điểm thi.
• Trong đó điểm thi tối đa là 75 điểm, điểm thành phần tối đa là 25 điểm
• Kết quả được phân loại như sau
Tổng điểm TĐ Kết quả
– TĐ>70 A
– 50<TĐ<=70 B
– 30< TĐ<=50 C
– TĐ<=30 D
• Xây dựng các ca kiểm thử dựa trên:
– 1. PP phân hoạch tương đương
– 2. PP phân tích giá trị biên
– 3. PP bảng hỗ trợ quyết định
90
BT1 (Giải)
• Lập bảng quyết định
L1 L2 L3 L4 L5 L6 L7 L8
Điều kiện Thẻ over 60s Y Y Y Y N N N N
Thẻ family Y Y N N Y Y N N
Đi cùng trẻ Y N Y N Y N Y N
em <16t
Hành Giám giá 34% Y Y Y
động
Giám giá 50% Y Y
Giám giá 10% Y
Không giảm Y Y
Rút gọn L2,4 và L6,8
91
BT1
• Xây dựng testcase (có tất cả 6 testcase)
TC Inputs Expected outputs
1 Gia đình Smiths có thẻ over 60s, có thẻ Được giảm 50%
family rail card, đi cùng Oliver (10 tuổi)
2 Gia đình Smiths có thẻ over 60s, không Được giảm 34%
đi cùng trẻ em
3 Gia đình Smiths có thẻ over 60s, đi Được giảm 34%
cùng Oliver (10 tuổi)
4 Gia đình Smiths ko có thẻ over 60s, có Được giảm 50%
thẻ family raid card, đi cùng Oliver (10t)
5 Ông Smith ko có thẻ over 60s, ko có Được giảm 10%
thẻ family raid card, đi cùng Oliver (10t)
6 Ông Smith đi một mình, ko có thẻ nào Không được giảm
92
BT2 (Giải)
• A. Bảng phân hoạch tương đương
Đầ u vào Điểm thi Điểm thành Điểm tổng Kết quả
phần
Vùng hợp lệ [0,75] [0,25] TĐ>70 A
(H1) (H2)
50<TĐ<=70 B
30< TĐ<=50 C
TĐ<=30 D
Vùng không <0 <0
hợp lệ (K1) (K3)
>75 >25
(K2) (K4)
93
BT2
• Các ca kiểm thử
TC Inputs E.Output Cover
Điểm thi Điểm TP Điểm tổng
1 60 15 75 A H1 H2
2 30 20 60B H1 H2
3 20 20 35C H1 H2
4 10 20 20 D H1 H2
5 60 -10 Không hợp lệ H1 K3
6 60 30 Không hợp lệ H1 K4
7 60 20 Không hợp lệ K1 H2
8 -60 20 Không hợp lệ K2 H2
94
BT2
• B Phân tích các giá trị biên
95 File đính kèm:
bai_giang_kiem_thu_phan_mem_bai_5_cac_ky_thuat_kiem_thu_nguy.pdf

