You are on page 1of 36

KIỂM THỬ PHẦN MỀM – SOFTWARE TESTING

KỸ THUẬT KIỂM THỬ HỘP ĐEN


(BLACK BOX TESTING)

Đỗ Thị Thu Trang - FIT.UTEHY

1
CÁC PHƢƠNG PHÁP KIỂM THỬ

2
Black Box Testing

Mô hình kiểm thử Black - box

INPUT RESULT

3
Black Box Testing

 Là phương pháp tập trung vào các yêu cầu chức năng
của phần mềm. Còn được gọi là kiểm thử hướng dữ liệu
hay là kiểm thử hướng in/out
 Nhằm kiểm tra các chức năng PM đã vận hành đúng và đủ

 Thực hiện các phép thử qua giao diện

 Cơ sở: đặc tả, các điều kiện vào/ra và cấu trúc dữ liệu

 Không quan tâm đến cách thức làm việc, cấu trúc, hành vi bên
trong của hệ thống.

4
Black Box Testing

 Kỹ thuật phân vùng tương đương (Equivalence


Partitioning - EP)
 Kỹ thuật phân tích giá trị biên (Boundary Value Analysis
- BVA)
 Kỹ thuật bảng quyết định (Decision Table Testing
Technique)
 Kỹ thuật chuyển đổi trạng thái (State Transition Testing
Technique)
 Kỹ thuật kiểm thử dựa trên use case (Use Case
Testing)

5
Black Box Testing

 Kỹ thuật phân vùng tƣơng đƣơng (Equivalence


Partitioning - EP)
 Kỹ thuật phân tích giá trị biên (Boundary Value Analysis
- BVA)
 Kỹ thuật bảng quyết định (Decision Table Testing
Technique)
 Kỹ thuật chuyển đổi trạng thái (State Transition Testing
Technique)
 Kỹ thuật kiểm thử dựa trên use case (Use Case
Testing)

6
Equivalence Partitioning (EP)

 Ví dụ: (*) Form nhập điểm số của sinh viên:

Điểm: (* [0,10])
Yêu cầu:
Xác định số test case cần kiểm thử kiểm tra các trường
hợp người dùng nhập vào ô text-box “Điểm” sao cho nếu
người dùng nhập giá trị trong khoảng [0-10] thì thông báo
là “Hợp lệ”, ngoài khoảng thì báo là “Không hợp lệ”.

7
Equivalence Partitioning (EP)

 Chia (partition) đầu vào thành những nhóm tương


đương nhau (equivalence).
 Tất cả các giá trị trong 1 vùng tương đương sẽ cho 1 kết
quả đầu ra giống nhau.

8
Equivalence Partitioning (EP)

 Mục đích: Giảm đáng kể số lượng test case cần phải


thiết kế vì với mỗi lớp tương đương ta chỉ cần kiểm thử
trên 1/1 vài giá trị đại diện.

9
EP - Bƣớc thực hiện

1.B1: Đối với mỗi dữ liệu


đầu vào: Xác định các
lớp tương đương từ
miền dữ liệu vào.

2.B2: Chọn 1/ 1 vài dữ


liệu đại diện cho mỗi
lớp tương đương.

10
Equivalence Partitioning

Bƣớc 1:

• Với mỗi điều kiện đầu vào mô tả trong đặc tả và chia


thành ít nhất 2 lớp tương đương với nó.
• Một lớp thể hiện các giá trị thỏa mãn điều kiện (Lớp hợp lệ)

• Một lớp thể hiện các giá trị không thỏa mãn điều kiện (Lớp
không hợp lệ).

11
EP: Các lỗi cần tránh

12
EP - Nguyên tắc phân hoạch

1. Nếu dữ liệu vào thuộc một khoảng thì xây dựng:


• 1 lớp các dữ liệu hợp lệ

• 2 lớp các dữ liệu không hợp lệ

13
EP - Ví dụ

 Xác định số testcase cho từng đầu vào sau:


 Username: thỏa mãn điều kiện số ký tự [10;15]
 Password: thỏa mãn điều kiện số ký tự [8;16]

14
EP - Nguyên tắc phân hoạch

2. Nếu dữ liệu là tập hợp


SỞ THÍCH

các giá trị thì xây dựng


 BÓNG ĐÁ  MÚA
• 1 lớp với tập rỗng
 GAME  HÁT
• 1 lớp tất cả giá trị

• n lớp giá trị hợp lệ  MUSIC  VẼ

15
EP - Nguyên tắc phân hoạch

3. Nếu dữ liệu vào là điều kiện ràng buộc thì xây dựng
• 1 lớp với ràng buộc được thỏa mãn

• n lớp với ràng buộc không được thỏa mãn

• Ví dụ:
Yêu cầu nhập username có độ dài ký tự [10,15] và không chứa
ký tự đặc biệt, không chứa ký tự số

16
EP - Tổng kết

 Tính ứng dụng:


 Có thể áp dụng ở bất kỳ mức độ kiểm tra nào.
 Phù hợp khi tất cả các giá trị của một bộ giá trị được kiểm tra sẽ
được xử lý theo cùng một cách và tập các giá trị được sử dụng
bởi ứng dụng không tương tác với nhau.
 Hạn chế/ Khó khăn:
 Phân vùng tương đương được xác định không chính xác.
 Độ bao phủ:
 Số phân vùng mà giá trị đã được kiểm tra / số phân vùng được
xác định
 Loại lỗi:
 Kỹ thuật này tìm thấy các lỗi chức năng trong việc xử lý các giá
trị dữ liệu khác nhau.
17
Black Box Testing

 Kỹ thuật phân vùng tương đương (Equivalence


Partitioning - EP)
 Kỹ thuật phân tích giá trị biên (Boundary Value
Analysis - BVA)
 Kỹ thuật bảng quyết định (Decision Table Testing
Technique)
 Kỹ thuật chuyển đổi trạng thái (State Transition Testing
Technique)
 Kỹ thuật kiểm thử dựa trên use case (Use Case
Testing)

18
Boundary Values Analysis - BVA

19
Boundary Values Analysis

 Đây là phương pháp kiểm thử mà sẽ kiểm thử tất cả các


giá trị ở vùng biên của dữ liệu đầu vào và dữ liệu đầu ra.

 Việc kiểm thử sẽ tập trung vào các giá trị biên chứ không
phải toàn bộ dữ liệu.

20
Boundary Values Analysis

 BVA thực hiện tại mọi cấp độ. Nó dễ dàng có thể áp dụng
và lỗi có thể tìm thấy cao, đặc tả chi tiết là hữu ích

 Kỹ thuật này có thể được xem như được mở rộng từ kỹ


thuật EP. Nó có thể được sử dụng dựa trên các lớp
tương đương với dữ liêu đầu vào.

 Giá trị biên cũng có thể sử dụng cho việc lựa chọn dữ
liệu kiểm thử

21
BVA - Nguyên tắc chọn dữ liệu

 Min -1

 Min

 Min+1

 Max -1

 Max

 Max +1

22
BVA - Nguyên tắc chọn dữ liệu

 Nếu dữ liệu vào thuộc 1 khoảng, chọn:


 2 dữ liệu biên
 4 dữ liệu cận biên (biên +(-) sai số nhỏ nhất

23
BVA - Nguyên tắc chọn dữ liệu

 Nếu giá trị biên thuộc danh sách các giá trị, chọn:
 Phần tử đầu
 Phần tử thứ 2
 Phần tử kề cuối
 Phần tử cuối

24
BVA - Nguyên tắc chọn dữ liệu

 Nếu dữ liệu vào là điều kiện ràng buộc số giá trị:


 Số giá trị tối thiểu

 Số giá trị tối đa

 Một số các số giá trị không hợp lệ

 Tự vận dụng khả năng và thực tế để chọn các giá


trị biên cần kiểm thử.

25
BVA - Tổng kết

 Tính ứng dụng:


 Có thể áp dụng ở bất kỳ mức độ kiểm tra nào và phù hợp khi
phân chia các phân vùng tương đương.
 Yêu cầu đặt hàng là do khái niệm được trên và qua ranh giới.
 Hạn chế:
 Độ chính xác của kỹ thuật này phụ thuộc vào việc xác định chính
xác các phân vùng tương đương.
 Độ bao phủ:
 Số điều kiện biên được kiểm tra / số điều kiện biên xác định
 Loại lỗi:
 Kỹ thuật này tìm ra các lỗi liên quan đến việc xử lý các giá trị
ranh giới, đặc biệt là các lỗi có logic ít hơn và lớn hơn.

26
Bài tập áp dụng
 Bài 1:

27
Bài tập áp dụng
 Bài 2:

28
Bài tập áp dụng: Bài 2

2-64 chars.
Customer Name
Account number 6 digits, 1st
non-zero
Loan amount requested
Term of loan £500 to £9000

Monthly repayment 1 to 30 years

Term: Minimum £10

Repayment:
Interest rate:
Total paid back:
29
Customer name

Number of characters:

1 2 64 65
invalid valid invalid

Valid characters: A-Z


Any
-’ a-z
space other

Conditions Valid Invalid Valid Invalid


Partitions Partitions Boundaries Boundaries
Customer 2 to 64 chars < 2 chars 2 chars 1 chars
name valid chars > 64 chars 64 chars 65 chars
invalid chars 0 chars
30
Account number

valid: non-zero
first character:
invalid: zero

number of digits: 5 6 7
invalid invalid
valid

Conditions Valid Invalid Valid Invalid


Partitions Partitions Boundaries Boundaries
Account 6 digits < 6 digits 100000 5 digits
number 1 st non-zero > 6 digits 999999 7 digits
1 st digit = 0 0 digits
non-digit
31
Loan amount

499 500 9000 9001

invalid valid invalid

Conditions Valid Invalid Valid Invalid


Partitions Partitions Boundaries Boundaries
Loan 500 - 9000 < 500 500 499
amount >9000 9000 9001
0
non-numeric
null

32
Condition template

Conditions Valid Tag Invalid Tag Valid Tag Invalid Tag


Partitions Partitions Boundaries Boundaries
Customer 2 - 64 chars V1 < 2 chars X1 2 chars B1 1 char D1
name valid chars V2 > 64 chars X2 64 chars B2 65 chars D2
invalid char X3 0 chars D3
Account 6 digits V3 < 6 digits X4 100000 B3 5 digits D4
number 1st non-zero V4 > 6 digits X5 999999 B4 7 digits D5
st
1 digit = 0 X6 0 digits D6
non-digit X7
Loan 500 - 9000 V5 < 500 X8 500 B5 499 D7
amount >9000 X9 9000 B6 9001 D8
0 X10
non-integer X11
null X12

33
Design test cases

Test Description Expected Outcome New Tags


Case Covered
Name: John Smith Term: 3 years V1, V2,
1
Acc no: 123456 Repayment: 79.86 V3, V4,
Loan: 2500 Interest rate: 10%
V5 .....
Term: 3 years Total paid: 2874.96
Name: AB Term: 1 year B1, B3,
2 Acc no: 100000 Repayment: 44.80
B5, .....
Loan: 500 Interest rate: 7.5%
Term: 1 year Total paid: 537.60

34
Tài liệu tham khảo

 Bộ môn CNPM - Khoa CNTT, Đề cương Kiểm thử phần mềm, Đại
học Sư phạm Kỹ Thuật Hưng Yên.

 https://viblo.asia/p/tim-hieu-ve-cac-loai-kiem-thu-phan-mem-
wznVGL20RZOe

 https://viblo.asia/p/kiem-thu-hop-den-4P856x31ZY3

 https://viblo.asia/p/cac-ky-thuat-kiem-thu-hop-den-phan-1-
MdZGAjVbeox

35
TỔNG KẾT

QUESTION/ ANSWER

36

You might also like