![Page 1: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/1.jpg)
Wednesday, May 3, 2023
KTPM 1
CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Nhóm FSE23: - Nguyễn Duy Khanh - Nguyễn Thành Chung - Nguyễn Tiến Minh - Nguyễn Vương Quyền
![Page 2: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/2.jpg)
Wednesday, May 3, 2023
KTPM 2
Khái quát nội dung
• Kiểm thử phần mềm là gì?• Tại sao phải kiểm thử phần mềm?• Các kỹ thuật kiểm thử• Kết luận
![Page 3: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/3.jpg)
Wednesday, May 3, 2023
KTPM 3
Kiểm thử phần mềm là gì?
• Kiểm thử là công việc sau cùng trước khi đưa sản phẩm ra thị trường (realease). Kiểm thử được thực hiện qua các bài Test
• Thực tế là áp dụng các phương pháp, chiến lược cho các tập giá trị đầu vào để xem kết quả đầu ra có như ý muốn không?
![Page 4: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/4.jpg)
Wednesday, May 3, 2023
KTPM 4
Tại sao phải kiểm thử phần mềm
• Đảm bảo chất lượng phần mềm khi đưa ra sử dụng
• Hoàn thiện và nâng cấp khả năng phần mềm
• Tránh rủi ro cho khách hàng và giảm bảo trì, bảo hành cho người viết phần mềm
![Page 5: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/5.jpg)
Wednesday, May 3, 2023
KTPM 5
Khái quát các kỹ thuật KTPM
• White box testing
• Black box testing
• Grey box testing
![Page 6: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/6.jpg)
Wednesday, May 3, 2023
KTPM 6
WHILE BOX TESTING
• Còn được gọi là clear box testing, glass box testing, transparent box testing. Thường thiết kế các trường hợp kiểm thử dựa vào cấu trúc bên trong của phần mềm
• WBT đòi hỏi ký thuật lập trình am hiểu cấu trúc bên trong của phần mềm ( các đường, luồng dữ liệu, chức năng, kết quả )
• Phương thức: chọn các đầu vào và xem các đầu ra
![Page 7: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/7.jpg)
Wednesday, May 3, 2023
KTPM 7
WHILE BOX TESTING
• Đặc điểm– Phụ thuộc vào các cài đặt hiện tại của hệ thông
và của phần mềm, nếu có sự thay đổi thì bài test cũng phải thay đổi theo
– Được ứng dụng trong các kiểm tra ở cấp độ môđun ( điển hình ), tích hợp ( có khả năng ) và hệ thông của quá trình test phần mềm
![Page 8: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/8.jpg)
Wednesday, May 3, 2023
KTPM 8
WHILE BOX TESTING
• Các phương pháp– Kiểm thử API: Là phương pháp kiểm thử ứng dụng sử
dụng các API công khai và riêng tư– Bao phủ mã lệnh (code coverage):tạo các kiểm tra để
đáp ứng 1 số tiêu chuẩn về kiểm thử mã lệnh– Các phương pháp gán lỗi (Fault Injection)– Các phương pháp kiểm thử hoán chuyển (Mutation
testing method)– Static Testing
![Page 9: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/9.jpg)
Wednesday, May 3, 2023
KTPM 9
BLACK BOX TESTING
• Xem chương trình như 1 “ hộp đen”• Không quan tâm cấu trúc bên trong của
chương trình, tập trung tìm các trường hợp mà chương trình không thực hiện theo đặc tả của nó
• Kiểm thử dựa trên đặc tả
![Page 10: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/10.jpg)
Wednesday, May 3, 2023
KTPM 10
BLACK BOX TESTING
• Các phương pháp:– Phân lớp tương đương – Equivalence partitioning.– Phân tích giá trị biên – Boundary value analysis.– Kiểm thử mọi cặp – All-pairs testing.– Kiểm thử fuzz – Fuzz testing. – Kiểm thử dựa trên mô hình – Model-based testing. – Ma trận dấu vết – Traceability matrix.– Kiểm thử thăm dò – Exploratory testing.– Kiểm thử dựa trên đặc tả – Specification-base testing.
![Page 11: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/11.jpg)
Wednesday, May 3, 2023
KTPM 11
BLACK BOX TESTING
• Đặc điểm– Không cần biết tới code và cấu trúc chương
trình– Đánh giá chương trình khách quan– Hạn chế: nhiều trường hợp áp dụng nhiều ca
kiểm thử để kiểm tra trong khi chỉ cần 1 pha kiểm thử duy nhất “thăm dò mù”
![Page 12: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/12.jpg)
Wednesday, May 3, 2023
KTPM 12
GREY BOX TESTING
• Định nghĩa:• Bao gồm các kiến thức về thuật toán• và cấu trúc bên trong chương • trình để thực hiện mục đích • thiết kế các testcase nhưng việc• test phải thực hiện như là end-user
INPUT
OUTPUT
![Page 13: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/13.jpg)
Wednesday, May 3, 2023
KTPM 13
Ví dụ
• Một đoạn mã của 2 module/unit được xem xét để thiết kế các testcase nhưng khi thực hiện thì làm trên giao diện người dùng
![Page 14: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/14.jpg)
Wednesday, May 3, 2023
KTPM 14
Cấp độ kiểm thử ứng dụng
• Có thể ứng dụng trong nhiều mức test khác nhau.
• Đặc biệt hữu dụng trong kiểm thử tích hợp(Integration Testing).
![Page 15: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/15.jpg)
Wednesday, May 3, 2023
KTPM 15
Đặc điểm chính của GBT
• Là sự kết hợp của white box và black box testing.
• Một số test case phải là white box (người lập trình phải biết một chút về cách thức hoạt động bên trong của phần mềm).
• Một số test case là black box.
![Page 16: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/16.jpg)
Wednesday, May 3, 2023
KTPM 16
Ưu nhược điểm của GBT
• Được quyết định bởi ưu nhược điểm của kiểm thử hộp trắng và kiểm thử hộp đen.
![Page 17: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/17.jpg)
Wednesday, May 3, 2023
KTPM 17
Example of GBT
• Chương trình giải phương trình bậc 2:• Ax2+Bx+C=0
![Page 18: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/18.jpg)
Wednesday, May 3, 2023
KTPM 18
Example (sources code)
![Page 19: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/19.jpg)
Wednesday, May 3, 2023
KTPM 19
Example (cont)
• Kiểm thử với các trường hợp:• A=0,
![Page 20: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/20.jpg)
Wednesday, May 3, 2023
KTPM 20
Example(testcase)
• A≠0:• delta=B2-4AC• delta<0
![Page 21: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/21.jpg)
Wednesday, May 3, 2023
KTPM 21
Example(testcase)
• delta=0
![Page 22: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM](https://reader036.vdocuments.pub/reader036/viewer/2022062503/5873f3ef1a28abb1528b5c25/html5/thumbnails/22.jpg)
Wednesday, May 3, 2023
KTPM 22
Example(testcase)
• delta>0