You are on page 1of 36

Bài 4:

KỸ THUẬT THIẾT
KẾ TEST CASE

1
Các kỹ thuật kiểm thử hộp đen

❖ Phân vùng tương đương (Equivalence class partitioning)

❖ Phân tích giá trị biên (Boundary value analysis)

❖ Bảng quyết định (Decision table)

❖ Chuyển đổi trạng thái (State transition)

❖ Phân tích ràng buộc (Constraint analysis)

❖ Đoán lỗi (Error Guessing)

2
Các kỹ thuật kiểm thử hộp đen
❖ Phân vùng tương đương (Equivalence class partitioning)
• Là kỹ thuật phân loại đầu vào (input) thành các phân vùng cùng loại
theo một logic nhất định. Các giá trị trong một phân vùng cho một kết
quả đầu ra giống nhau

• Chọn giá trị đại diện từ mỗi phân vùng để thiết kế, thực thi test case

3
Các kỹ thuật kiểm thử hộp đen
❖ Phân vùng tương đương (Equivalence class partitioning)
• Vd. Tuổi hợp lệ là từ 18 đến 56

4
Các kỹ thuật kiểm thử hộp đen
❖ Phân vùng tương đương (Equivalence class partitioning)
• Vd. Giá trị đầu vào của 1 textbox từ 5 đến 10 là hợp lệ.

=> có 3 vùng tương đương:

• Vùng <=4 (vùng không hợp lệ)

• Vùng [5-10] (vùng hợp lệ)

• Vùng >=11 (vùng không hợp lệ)

• Chọn giá trị đại diện để kiểm thử: 2, 7, 15

5
Các kỹ thuật kiểm thử hộp đen
❖ Phân vùng tương đương (Equivalence class partitioning)
▪ Xác định phân vùng tương đương cho các yêu cầu sau:

• Nhập vào 2 số nguyên a, b>5


• A savings account in a bank earns a different rate of interest
depending on the balance in the account. In order to test the
software that calculates the interest due, we can identify the
ranges of balance values that earn the different rates of interest.
• if a balance in the range $0 up to $100 has a 3%interest rate,
• a balance over $100 and up to $1000 has a 5% interest rate,
• and balances of $1000 and over have a 7% interest rate

6
Các kỹ thuật kiểm thử hộp đen
❖ Phân tích giá trị biên (Boundary value analysis)
• Xây dựng các test case tại vị trí biên

• Bổ sung cho phương pháp phân lớp tương đương bằng cách xác định
các giá trị biên dựa trên những phân vùng tương đương

• Mỗi lớp tương đương chọn ra các giá trị biên tương ứng bao gồm x-1,
x, y, y+1

• Mở rộng: x-1, x, x+1, y-1, y, y+1

7
Các kỹ thuật kiểm thử hộp đen

❖ Phân tích giá trị biên (Boundary value analysis)


• Vd: Giá trị hợp lệ là từ 16 đến 60

8
Các kỹ thuật kiểm thử hộp đen

❖ Phân tích giá trị biên (Boundary value analysis)


• Vd:

9
Các kỹ thuật kiểm thử hộp đen

❖ Phân tích giá trị biên (Boundary value analysis)


▪ Nhập tên từ 6 tới 12 ký tự. Xác định các giá trị biên?

▪ An input field takes the year of birth between 1900 and 2004.
The boundary values for testing this field are: ?

10
Các kỹ thuật kiểm thử hộp đen

❖ Bảng quyết định (Decision table)


• Dùng để kiểm tra hành vi của hệ thống với các cách kết hợp các đầu
vào (input) khác nhau

• Kết quả của các kết hợp và hành vi tương ứng của hệ thống (output)
được ghi lại dưới dạng bảng

11
Các kỹ thuật kiểm thử hộp đen

❖ Bảng quyết định (Decision table)


• Vd:

12
Các kỹ thuật kiểm thử hộp đen

❖ Bảng quyết định (Decision table)


• Vd:

13
Các kỹ thuật kiểm thử hộp đen
❖ Chuyển đổi trạng thái (State transition)
• Kiểm thử dựa trên trạng thái

• Thay đổi điều kiện đầu vào gây ra thay đổi trạng thái trong ứng dụng
được kiểm thử

• Biểu diễn bằng sơ đồ chuyển đổi trạng thái (state diagram) và bảng
chuyển trạng thái (state table)

14
Các kỹ thuật kiểm thử hộp đen

❖ Chuyển đổi trạng thái (State transition)


• Vd: Login vào 1 ứng dụng. Nếu người dùng nhập sai password 3 lần thì
thì khóa tài khoản.

➢ Sơ đồ trạng thái:

15
Các kỹ thuật kiểm thử hộp đen

❖ Chuyển đổi trạng thái (State transition)


• Vd.

➢ Bảng trạng thái:

16
Các kỹ thuật kiểm thử hộp đen

❖ Phân tích ràng buộc (Constraint analysis)


• Data relationship

• Start time/ End time: Start time phải trước End time

• Departure/ Arrival station: Depart station không được trùng với Arrival
station

• Functionality relationship

• Only a logged-in user can book tickets

17
Các kỹ thuật kiểm thử hộp đen
❖ Đoán lỗi (Error Guessing)
• Tìm lỗi dựa vào phỏng đoán, kinh nghiệm của người kiểm thử

• Là phương pháp kiểm thử bổ sung, không tuân theo quy tắc cụ thể nào

• Phạm vi của các trường hợp kiểm thử phụ thuộc vào khả năng phân
tích, kinh nghiệm trong quá khứ và lịch sử dữ liệu và các lỗi đã từng xảy
ra với chương trình trước đó.

18
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ câu lệnh (Statement Coverage)

❖ Bao phủ nhánh (Branch Coverage)

❖ Bao phủ quyết định (Decision Coverage)

❖ Bao phủ điều kiện (Condition Coverage)

❖ Bao phủ đường đi (Path Coverage)

19
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ câu lệnh (Statement Coverage)

• Đảm bảo mỗi dòng lệnh trong mã nguồn được thực thi ít nhất một lần

• Kiểm tra những dòng lệnh không được sử dụng

• Mức độ bao phủ = (số câu lệnh được thực thi *100%)/ tổng số câu lệnh

20
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ câu lệnh (Statement Coverage)

• Vd:

21
Các kỹ thuật kiểm thử hộp trắng
❖ Bao phủ câu lệnh (Statement Coverage)
• Vd:

22
Các kỹ thuật kiểm thử hộp trắng
❖ Bao phủ câu lệnh (Statement Coverage)
• Vd:

23
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ câu lệnh (Statement Coverage)

• Nhận xét:

➢ Nếu thực hiện cả 2 test case thì tất cả các câu lệnh đều được thực thi,
hay nói cách khác để độ bao phủ là 100% thì cần thực hiện cả 2 test
case

➢ Vậy số test case để thực hiện bao phủ câu lệnh là 2

24
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ câu lệnh (Statement Coverage)


▪ Vd:
1 READ X
2 READ Y
3 Z =X + 2*Y
4 IF Z> 50 THEN
5 PRINT large Z
6 ENDIF

25
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ nhánh (Branch Coverage)

• Mỗi nhánh trong chương trình được thực hiện ít nhất một lần

• Độ bao phủ của nhánh= số nhánh thực thi*100%/ tổng số nhánh

26
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ nhánh (Branch Coverage)


• Vd:

27
Các kỹ thuật kiểm thử hộp trắng

❖ Bao phủ nhánh (Branch Coverage)

• Vd:

• Nhận xét:

➢TC1: độ bao phủ nhánh = 33%

➢TC2: độ bao phủ nhánh = 67%

➢Vậy số test case để bao phủ nhánh là 2

28
Các kỹ thuật kiểm thử hộp trắng

❖Bao phủ quyết định (Decision Coverage)

• Đảm bảo mỗi quyết định true/false đều được thực thi và kiểm tra

• Độ bao phủ quyết định = Số lượng kết quả quyết định được thực hiện
*100%/ tổng số quyết định

29
Các kỹ thuật kiểm thử hộp trắng

❖Bao phủ quyết định (Decision Coverage)

• Vd:

30
Các kỹ thuật kiểm thử hộp trắng
❖Bao phủ quyết định (Decision Coverage)
• Vd:

31
Các kỹ thuật kiểm thử hộp trắng

❖Bao phủ quyết định (Decision Coverage)

• Vd:

32
Các kỹ thuật kiểm thử hộp trắng

❖Bao phủ quyết định (Decision Coverage)

• Vd:

33
Các kỹ thuật kiểm thử hộp trắng

❖Bao phủ điều kiện (Condition Coverage)

• Đánh giá các biến hoặc biểu thức con trong câu lệnh điều kiện

• Mỗi điều kiện riêng lẻ sẽ được xét một lần đúng sai

• Độ bao phủ = số lượng các toán hạng thực thi*100%/số lượng các toán
hạng

34
Các kỹ thuật kiểm thử hộp trắng
❖Bao phủ điều kiện (Condition Coverage)

35
Các kỹ thuật kiểm thử hộp trắng

❖Bao phủ điều kiện (Condition Coverage)

36

You might also like