1. Trang chủ
  2. » Tất cả

Chương 1 TỔNG QUAN về KIỂM THỬ PHẦN mềm

31 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 1 TỔNG QUAN về KIỂM THỬ PHẦN mềm
Trường học Trường Đại Học Thương Mại
Chuyên ngành Kỹ thuật phần mềm
Thể loại Chương
Thành phố Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 434,91 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 48 Chương 3 THIẾT KẾ CA KIỂM THỬ TRƯỜNG ĐẠI HỌC THƯƠNG MẠI Khoa HTTT Kinh tế và THMĐT Bộ môn Công nghệ thông tin Nội dung 1 Kiểm thử chức năng — Kiểm thử giá tr[.]

Trang 1

Chương 3 THIẾT KẾ CA KIỂM THỬ

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI

Khoa HTTT Kinh tế và THMĐT

Bộ môn Công nghệ thông tin

Trang 2

Nội dung

1. Kiểm thử chức năng

Kiểm thử giá trị biên

— Kiểm thử lớp tương đương

— Kiểm thử bảng quyết định

2. Kiểm thử cấu trúc

— Kiểm thử luồng điều khiển

— Kiểm thử luồng dữ liệu

49

Trang 3

Tổng quan

▪ Các chương trình có thể coi là một hàm (toán học)

– Các đầu vào chương trình là miền xác định của hàm

– Các đầu ra là miền giá trị của hàm

▪ Phân tích giá trị biên (boundary value analysis - BVA) là kỹ

thuật kiểm thử hàm phổ biến nhất

▪ Mục tiêu của kiểm thử hàm là sử dung kiến thức về hàm để xác định các ca kiểm thử

— Trước kia chủ yếu tập trung vào miền xác định, nhưng nay đã dựa trên cả miền giá trị của hàm để xác định ca kiểm thử

Trang 4

Phân tích giá trị biên (BVA)

▪ Phân tích giá trị biên tập trung vào biên của miền xác định để xây dựng ca kiểm thử

▪ Lý do là lỗi thường xảy ra ở gần các giá trị biên này

▪ Chương trình viết bằng ngôn ngữ không có kiểm tra kiểu

mạnh càng cần kiểm thử giá trị biên

— Javascript, php, Visual Basic

51

Trang 5

Đầu vào hợp lệ của chương trình P

▪ Từ đây chúng ta giả sử có chương trình P nhận hai biến đầu vào là y1 và y2 thỏa mãn a ≤ y1 ≤ b and c ≤ y2 ≤ d

P(y1, y2) where a <= y1 <= b, c <= y2 <= d

▪ Chương trình nhận n đầu vào sẽ có không gian đầu vào n

chiều

Trang 8

Nội dung

1. Kiểm thử chức năng

— Kiểm thử giá trị biên

Kiểm thử lớp tương đương

— Kiểm thử bảng quyết định

2. Kiểm thử cấu trúc

— Kiểm thử luồng điều khiển

— Kiểm thử luồng dữ liệu

55

Trang 9

Kiểm thử lớp tương đương

— Hai lớp bất kỳ không giao nhau

• Không dư thừa

Trang 10

Các lớp tương đương

▪ Ý tưởng của ECT là chỉ kiểm thử với một phần tử của mỗi

miền tương đương

— Giảm rất nhiều dư thừa tiềm tàng nếu các lớp tương đương được chọn hợp lý

▪ Mấu chốt là làm sao chọn được quan hệ tương đương để từ

đó xác định được các lớp tương đương (phân hoạch)

57

Trang 11

Chọn phân hoạch

▪ Thường là “thủ công” (craft):

— Không dựa trên mã nguồn, chỉ dựa trên đặc tả

— Cần hiểu biết về miền xác định, thường không thể xác định dựa vào đặc tảthiết kế giao diện

— Phải hiểu đầu vào phụ thuộc nhau như thế nào

Trang 13

Bài tập

▪ Ứng dụng kiểm thử lớp tương đương cho một số bài toán ví dụ

Trang 14

Nội dung

1. Kiểm thử chức năng

— Kiểm thử giá trị biên

— Kiểm thử lớp tương đương

Kiểm thử bảng quyết định

2. Kiểm thử cấu trúc

— Kiểm thử luồng điều khiển

— Kiểm thử luồng dữ liệu

61

Trang 15

Bảng quyết định

▪ Yêu cầu chức năng có thể mô tả bằng bảng quyết định (DT)

▪ DT là một cách chính xác và gọn để mô tả logic phức tạp

— Gắn các điều kiện với các hành động tương ứng

— Giống lệnh if-then-else và switch-case

▪ DT có thể liên kết nhiều điều kiện độc lập với vài hành động một cách dễ hiểu

— Khác các cấu trúc điều khiển trong các ngôn ngữ lập trình

Trang 16

Ví dụ về bảng quyết định

Điều kiện

Máy in không in Y Y Y Y N N N NĐèn đỏ nhấp nháy Y Y N N Y Y N NKhông nhận ra máy in Y N Y N Y N Y N

Hành động

Kiểm tra dây tín hiệu X XKiểm tra phần mềm in đã cài đúng X X X X

Khắc phục sự cố máy in

Trang 17

Sử dụng bảng quyết định

▪ Để quan sát tất cả các điều kiện dễ dàng

▪ Có thể dùng để

— Mô tả logic phức tạp

Sinh ca kiểm thử, còn gọi là kiểm thử dựa trên logic

▪ Kiểm thử dựa trên logic được xem là:

— Kiểm thử cấu trúc khi áp dụng cho các cấu trúc chương trình

• Vd luồng điều khiển

— Kiểm thử hàm khi áp dụng cho đặc tả

Trang 18

Cấu trúc bảng quyết định

1 Các điều kiện 2 Các giá trị điều kiện

3 Hành động 4 Xảy ra hay không

1 Mỗi điều kiện tương ứng với một biến, một quan hệ, hoặc một

mệnh đề (predicate)

2 Các giá trị của điều kiện

– Chỉ là True/False – Bảng quyết định hạn chế – Một số giá trị – Bảng quyết định mở rộng – Giá trị không quan tâm

3 Mỗi hành động là một thủ tục hoặc thao tác phải thực hiện

4 Đánh dấu hành động có/không xảy ra

Trang 19

Ví dụ bảng quyết định tính lương

Trang 20

Bài tập

▪ Ứng dụng kiểm thử bảng quyết định cho một số bài toán ví dụ

67

Trang 21

Nội dung

1. Kiểm thử chức năng

— Kiểm thử giá trị biên

— Kiểm thử lớp tương đương

— Kiểm thử bảng quyết định

2. Kiểm thử cấu trúc

Tổng quan

— Kiểm thử luồng điều khiển

— Kiểm thử luồng dữ liệu

Trang 22

Test Coverage Metrics

Basis Path Testing

Guidelines and Observations

— Kiểm thử luồng dữ liệu

— Phương pháp lai & Thảo luận

69

Trang 23

Kiểm thử cấu trúc

▪ Tiếng Anh có thể gọi với các tên: glass box, structural, clear box and open box testing

▪ Tiếng Việt còn gọi là kiểm thử hộp trắng

▪ Là kỹ thuật kiểm thử dựa trong đó tri thức tường minh về hoạt động bên trong của phần mềm được dùng để xây dựng các

ca kiểm thử

Trang 24

Kiểm thử cấu trúc

▪ Kiểm thử cấu trúc dựa trên:

— Các định nghĩa chặt chẽ liên quan đến ngữ nghĩa của ngôn ngữ lập trình

• Luồng điều khiển, luồng dữ liệu, mục tiêu, tiêu chuẩn bao phủ

Trang 26

Đồ thị chương trình

▪ Nếu i và j là hai đỉnh thì có một cạnh từ i đến j trong

đồ thị chương trình nếu và chỉ nếu lệnh ở đỉnh j có

thể chạy ngay sau (các) lệnh ở đỉnh i

▪ Nhóm các lệnh tạo thành một đỉnh trong đồ thị

chương trình gọi là khối cơ bản

▪ Dễ dàng xây dựng các khối cơ bản và tạo đồ thị

chương trình

73

Trang 27

Đường đi đồ thị chương trình

Ví dụ đồ thị chương trình:

Trang 28

Các tiêu chuẩn bao phủ luồng

điều khiển

Trang 29

Ý tưởng của kiểm thử luồng dữ

liệu

▪ Kiểm thử luồng dữ liệu liên quan đến việc chọn đường đi với mục tiêu bao phủ các cặp gán (definition) và dùng (use) dữ liệu, được gọi là các tiêu chuẩn luồng dữ liệu

▪ Qui trình tổng quát của kiểm thử luồng dữ liệu là:

— Vẽ đồ thị luồng dữ liệu cho chương trình

— Chọn tiêu chuẩn kiểm thử luồng dữ liệu

— Xác định các đường đi trong đồ thị để thỏa mãn tiêu chuẩn lựa chọn defs, all-uses, all-P-uses/some-C-uses, v.v )

(all-— Tạo các ca kiểm thử cho các đường đi đã xác định

Trang 30

Tổng kết

▪ Nên kết hợp áp dụng cả kiểm thử hộp đen và hộp trắng

▪ Các phương pháp kiểm thử hộp đen có thể bao phủ đường đi tốt nhưng thường có nhiều dư thừa

▪ Liệu chúng ta có thể có một độ đo để so sánh mức độ hiệu

quả của một kỹ thuật hộp đen với một kỹ thuật hộp trắng?

— Các phương pháp hộp đen được đo trên số ca kiểm thử tạo ra

— Các phương pháp hộp trắng được đo trên mức độ bao phủ đường đi chúngđạt được

Trang 31

Bài tập

▪ Áp dụng các phương pháp thiết kế ca kiểm thử đã học vào

các chương trình được giao viết ở chương 1.

Ngày đăng: 09/01/2023, 09:17