Top Banner
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 6/21/22 KTPM 1
22

Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM

Apr 16, 2017

Download

Education

Nguyen Anh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wednesday, May 3, 2023

KTPM 22

Example(testcase)

• delta>0