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