PHƯƠNG PHÁP PHÂN TÍCH GIÁ TRỊ BIÊN (BOUNDARY VALUE ANALYSIS) KIỂM THỬ HỘP ĐEN (BLACK BOX) THẾ NÀO LÀ HỘP ĐEN ?… Phương pháp kiểm thử Black box là nghiên cứu xem phần mềm như là một “hộp đen” không biết gì về hoạt động bên trong của nó. Phân tích giá trị biên (BVA) là kỹ thuật thiết kế xác định các ca kiểm thử và hoàn thành phân vùng tương đương. Kiểm thử các dữ liệu vào bao gồm: Giá trị nhỏ nhất. Giá trị gần kề lớn hơn giá trị nhỏ nhất. Giá trị bình thường. Giá trị gần kề bé hơn giá trị lớn nhất. Giá trị lớn nhất.
Trang 1THUYẾT TRÌNH
CÔNG NGHỆ PHẦN MỀM
KIỂM THỬ HỘP ĐEN-BLACK BOX
PHƯƠNG PHÁP PHÂN TÍCH GIÁ TRỊ BIÊN- BOUNDARY VALUE ANALYSIS
Trang 2GIÁO VIÊN HƯỚNG DẪN:
Th.s LÊ THỊ MỸ HẠNH
NHÓM GỒM CÁC THÀNH VIÊN:
• HOÀNG NGHĨA QUYỀN
• TRẦN XUÂN MINH ĐỨC
• LÊ VĂN MINH
PHƯƠNG PHÁP PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
KIỂM THỬ HỘP ĐEN -(BLACK BOX)
Trang 3PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
THẾ NÀO LÀ HỘP ĐEN ?…
Phương pháp kiểm thử Black box là
nghiên cứu xem phần mềm như là một
“hộp đen” không biết gì về hoạt động
bên trong của nó
GIỚI THIỆU VỀ KIỂM THỬ HỘP ĐEN
Trang 4PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
GIỚI THIỆU VỀ KIỂM THỬ HỘP ĐEN
EVENTS (CÁC BƯỚC THỰC HIỆN)
REQUIREMENTS (YÊU CẦU)
OUTPUT (KẾT QUẢ THỰC TẾ) INPUT
(DỮ LIỆU ĐẦU VÀO)
Trang 5PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
Các phương pháp kiểm thử Black box bao gồm:
1 Phân vùng tương đương(Equivalence partitioning);
2 Phân tích giá trị biên (Boundary value analysis);
3 Kỹ thuật đồ thị nhân quả (Cause – Effect Graphics)
4 Kiểm thử so sánh ( Comparision Testing)
5 Kiểm thử dựa trên nền đồ thị.
v.v.v
GIỚI THIỆU VỀ KIỂM THỬ HỘP ĐEN
Trang 6PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
ĐỊNH NGHĨA BVA
• Phân tích giá trị biên (BVA) là kỹ thuật thiết kế xác định các ca kiểm thử và hoàn thành phân vùng tương đương
• Kiểm thử các dữ liệu vào bao gồm:
Trang 7Cá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ử
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
ĐỊNH NGHĨA BVA
Trang 8Phâ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
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
ĐỊNH NGHĨA BVA
Trang 9PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
ĐẦ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
Miền xác định
c
d y2
y1
Trang 10Phân tích giá trị biên sẽ chọn các giá trị:
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
CHỌN GIÁ TRỊ
c
d y2
y1
Trang 11PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
GIẢ THIẾT KHIẾM KHUYẾT ĐƠN
Phân tích giá trị biên dựa trên nguyên lý giả định khuyếm khuyết đơn:
– “Hỏng hóc xảy ra hiếm khi do hai (hoặc hơn) khiếm
khuyết cùng xảy ra”
Do đó các ca kiểm thử theo phương pháp này
được tạo bằng việc lấy các giá trị bình thường của các chiều/biên rồi lần thay mỗi chiều bằng các giá trị cực trị như trên
Trang 12PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
CÁC CA KIỂM THỬ THEO PHÂN TÍCH GIÁ TRỊ BIÊN
y1
Trang 13PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
CÁC CA KIỂM THỬ TAM GIÁC
Trang 14PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
CÁC CA KIỂM THỬ TAM GIÁC
Có hai cách tổng quát hóa :
– Theo số biến, sẽ có (4n +1) ca kiểm thử cho n biến
– Theo loại khoảng của biến
• Phụ thuộc ngôn ngữ lập trình
• Tính rời rạc của biến
• Tính rời rạc không bị chặn (không có cận trên và cận dưới rõ ràng)
y1
Trang 15BVA hiệu quả với các chương trình có các đầu vào độc lập nhau và biểu diễn đại lượng vật lý
bị chặn
BVA lấy các ca kiểm thử mà không tính đến chức năng của hàm, hay ý nghĩa của các biến
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
NHƯỢC ĐIỂM CỦA PHƯƠNG PHÁP
Trang 16PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
KIỂM THỬ BIÊN MẠNH
Kiểm thử biên mạnh (robustness testing) là một mở rộng đơn giản của BVA
Ngoài năm giá trị biên bổ sung thêm hai giá trị ngoài biên:
– Giá trị ngay trên giá trị cực đại (max+) và
– Giá trị ngay dưới giá trị cực tiểu (min-)
Mục đích chính là xem chương trình có kiểm tra giá trị hợp
lệ của đầu vào không
Trang 17PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
KIỂM THỬ BIÊN MẠNH
CÁC CA KIỂM THỬ BIÊN MẠNH CHO P Kiểm thử theo giá trị biên đầy đủ: 6.n +1
…
CÁC CA KIỂM THỬ VBA BIÊN CHO P
Kiểm thử theo giá trị biên: 4.n +1
c
d y2
Trang 18PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
KIỂM THỬ TRƯỜNG HỢP XẤU NHẤT
Đi kiểm tra điều gì xảy ra khi nhiều hơn một biến
nhận các giá trị (gần) cực trị?
Khi các biến có tương tác với nhau thì cần kiểm
tra các bộ giá trị kết hợp các cực trị này
Có thể kết hợp với kiểm thử mạnh để có bộ kiểm
y1
Trang 19PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
KIỂM THỬ TRƯỜNG HỢP XẤU NHẤT
CÁC CA KIỂM THỬ TRƯỜNG HỢP XẤU
NHẤT CHO P
Kiểm thử theo giá trị biên xấu nhất: 5n
.
.
.
.
. . . … … … …
. …
. …
. …
CÁC CA KIỂM THỬ TRƯỜNG HỢP XẤU NHẤT MẠNH CHO P
c
d
y2
c
d y2
y1
Trang 20PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
KIỂM THỬ ĐẶC BIỆT
- Kiểm thử giá trị đặc biệt là phương pháp được
thực hiện nhiều nhất trên thực tế, nó cũng trực quan
nhất, và không có dạng cố định nhất
- Sử dụng kỹ nghệ và kiến thức miền ứng dụng để
phán đoán và đưa ra ca kiểm thử
- Mặc dù mang tính chủ quan cao, đây vẫn là
phương pháp hiệu quả để phát hiện khiếm khuyết
của chương trình
Trang 21PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
HƯỚNG DẪN ÁP DỤNG PHƯƠNG PHÁP BVA
Trừ kiểm thử giá trị đặc biệt, kiểm thử giá trị biên là phương pháp thô sơ nhất
Cân nhắc các tình huống để chọn phương pháp phù hợp:
Các biến có độc lập hay phụ thuộc nhau không
Có cần các giá trị mạnh hay giá trị thường
Có thể áp dụng BVA cho miền giá trị (đầu ra), hay các biến khác trong chương trình như biến đếm vòng lặp, biến trung gian, chỉ số mảng, con trỏ,
Trang 22PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
HƯỚNG DẪN ÁP DỤNG PHƯƠNG PHÁP BVA
-Thường được áp dụng đối với các đối số của một phương thức
-Tập trung vào việc kiểm thử các giá trị biên của miền giá trị inputs để thiết kế test case do “lỗi thường tiềm ẩn lại các
ngõ ngách và tập hợp tại biên” ( Beizer )
-Phân tích giá trị biên hiệu quả nhất trong trường hợp “các đối số đầu vào (input variables) độc lập với nhau và mỗi đối
số đều có một miền giá trị hữu hạn”
Trang 23PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG
Trang 24PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
Một người bán hàng chuyên bán khóa, báng và nòng
súng trường cho một cửa hàng
Giá của Khóa = 45$, báng = 30$, và nòng = 25$
Mỗi người bán hàng phải bán ít nhất một bộ đầy đủ mỗi tháng (100 đô)
Người bán giỏi nhất bán được 70 khóa, 80 báng, 90 nòng một tháng
Trang 25PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
Hàng tháng mỗi người bán sẽ gửi báo cáo về cho cửa hàng với tổng số hàng bán được cho mỗi thị trấn anh ta đến
Số thành phố đến được mỗi tháng là từ 1 đến 10
Người bán nhận được:
10% nếu số tiền bán được <= 1000 đô,
15% trên 800 đô tiếp theo, và
20% của số tiền vượt quá 1800.
Trang 26PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
Người bán giỏi nhất bán được 70 khóa, 80
báng, 90 nòng một tháng
Mỗi người bán hàng phải bán ít nhất một bộ
đầy đủ mỗi tháng (100 đô)
Trang 27CÁC CA KIỂM THỬ MIỀN GIÁ TRỊ
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
Trang 28CÁC CA KIỂM THỬ MIỀN GIÁ TRỊ
Case # Locks(Khóa) 45$ Stocks(Báng) 30$ Barrels(Nòng)
25$ Sales Comm. Comments
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
Trang 29Case # Locks(Khóa) 45$ Stocks(Báng) 30$ Barrels(Nòng)
25$ Sales Comm. Comments
Trang 30Case # Locks(Khóa) 45$ Stocks(Báng) 30$ Barrels(Nòng)
25$ Sales Comm. Comments
CÁC CA KIỂM THỬ MIỀN GIÁ TRỊ
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
26 testcase, thiếu mất 6 testcase sau
•Khóa: min- = 0 & max+ = 71
•Báng: min- = 0 & max+ = 81
•Nòng: min- = 0 & max+ = 91
Trang 31PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN CHIA HOA HỒNG
CÁC CA KIỂM THỬ GIÁ TRỊ ĐẶC BIỆT
Trang 32Bài toán tìm ngày kế tiếp với các ràng buộc:
• 1 ≤ Day ≤ 31
• 1 ≤ month ≤ 12
• 1812 ≤ Year ≤ 2012
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN TÌM NGÀY KẾ TIẾP
Trang 3313 testcase, thiếu mất 6 testcase sau
•Day: min- = 0 & max+ = 32
•Month: min- = 0 & max+ = 13
•Year : min- = 1811 & max+ = 2013
PHÂN TÍCH GIÁ TRỊ BIÊN
(BOUNDARY VALUE ANALYSIS)
BÀI TOÁN ÁP DỤNG : BÀI TOÁN TÌM NGÀY KẾ TIẾP
Áp dụng phương pháp “Phân tích giá trị biên” (số test case 6*3 + 1 = 19)
Trang 34TỔNG KẾT VÀ NHẬN XÉT VỀ PHƯƠNG PHÁP
- Cần làm giảm số lượng test case không cần thiết của Boundar y Value Analysis vì những trường hợp này coi như vô nghĩa nên cần loại bỏ để tiết kiệm thời gian kiểm thử
- Nên cần có một phương pháp mới để giảm thiểu số lượng trường hợp kiểm thử không cần thiết này Cần tối ưu bằng phương pháp
Trang 35the end !
XIN CHÂN THÀNH CÁM ƠN CÔ VÀ CÁC
BẠN ĐÃ CHÚ Ý THEO DÕI BÀI THUYẾT