Kiểm thử chức năng
2
Nội dung
Giới thiệu kiểm thử chức năng
Các kỹ thuật kiểm thử chức năng
Kiểm thử giá trị biên
Kiểm thử phân hoạch tương đương
Kỹ thuật đồ thị nhân quả - bảng quyết định
3
Kiểm thử chức năng
4
Kiểm thử chức năng
Kiểm thử chức năng: các test cases dẫn xuất
từ các đặc tả chương trình
Chức năng đề cập đến nguồn gốc của thông tin
được sử dụng để thiết kế trường hợp kiểm thử,
không phải để kiểm thử như thế nào
Còn được gọi là:
Kiểm thử dựa trên đặc tả (từ đặc tả)
kiểm tra hộp đen (không có mã nguồn)
Đặc tả chức năng mô tả hành vi chương trình
dự định
Hình thức hoặc không hình thức
5
Kiểm thử hệ thống và kiểm thử
ngẫu nhiên
Ngẫu nhiên (đồng đều):
đầu vào có thể
nhưng dày đặc
trong một số bộ phận
của không gian
Nếu chúng ta kiểm thử một cách có
hệ thống một số trường hợp trong
từng phần, chúng tôi sẽ có các bộ
phận dày đặc
Kiểm thử chức năng là một trong
những cách vẽ đường màu hồng để
cô lập khu vực có khả năng thất bại
The space of possible input values
(the haystack)
8
Kiểm thử chức năng: khai thác
các đặc tả
Kiểm thử chức năng sử dụng các đặc tả (hình
thức hoặc không hình thức) để phân vùng
không gian đầu vào
Ví dụ, đặc tả của chương trình "gốc" gợi ý phân
chia giữa các trường hợp với không, một, và hai
nghiệm thực
Kiểm tra từng trường hợp, và ranh giới giữa các
trường hợp
Không đảm bảo, nhưng kinh nghiệm cho thấy
thất bại thường nằm ở ranh giới
9
Tại sao kiểm thử chức năng?
kịp thời
lớp lỗi
Chiến lược kiểm thử khác nhau (chức năng,
cấu trúc) là hiệu quả nhất cho các lớp lỗi
khác nhau
Kiểm thử chức năng là tốt nhất cho việc tìm
kiếm các lỗi thiết kế
Kiểm thử cấu trúc là tốt nhất cho việc tìm
kiếm lỗi lập trình
12
Kiểm thử chức năng và cấu
trúc: các mức
Kiểm thử chức năng được áp dụng tại tất cả các
mức độ:
Đơn vị (từ đặc tả giao diện module)
Tích hợp (từ API hoặc đặc tả hệ thống con)
Hệ thống (từ đặc tả yêu cầu hệ thống)
Hồi quy ( từ yêu cầu hệ thống + lịch sử lỗi)
Kiểm thử cấu trúc (dựa trên mã) áp dụng cho
phần tương đối nhỏ của hệ thống:
Đơn vị
Tích hợp
13
Các bước: Từ đặc tả đến test
cases
1.Phân rã đặc tả
Nếu đặc tả lớn, chia nó thành các tính năng độc lập có thể kiểm
thử được để xem xét trong kiểm thử
2. Chọn đại diện
representative values (or
classes of value) to test?
16
Example: Representative
values
Simple example with
one input, one output
Note prevalence of boundary
values (0 cities, 6 characters)
and error cases
Correct zip code
With 0, 1, or many cities
Malformed zip code
Empty; 1-4 characters; 6 characters; very long
Non-digit characters
Non-character data
17
Các kỹ thuật kiểm thử chức
năng
Boundary Value testing
Equivalence Class testing
Decision Tables
18
Ví dụ
19
Chương trình tam giác
Ví dụ, một đầu vào 03 31 1998 cho kết quả
04 01 1998.
Năm bị hạn chế nằm giữa 1812 và 2012, bao
gồm
22
Vấn đề tính tiền hoa hồng
Một nhân viên bán hàng bán ổ khóa, nguyên vật
liêu và thùng
Trên một cơ sở hàng tháng, nhân viên bán hàng
báo cáo có bao nhiêu mỗi ông hoặc bà đã bán
được
Do hạn chế sản xuất, chúng tôi đã:
1 ≤ # locks≤ 70
1 ≤ # stocks ≤ 80
1 ≤ # barrels ≤ 90
Mục tiêu: Xác định tổng doanh thu và hoa hồng
23
Vấn đề tính tiền hoa hồng
Các bộ phận bán được như sau:
Khóa $ 45 /mỗi
Nguyên vật liệu $ 30/ mỗi
Thùng $ 25/ mỗi
Hoa hồng được tính trên doanh số bán hàng:
10% trên doanh số bán hàng lên đến và bao
gồm cả $ 1000, 15% cho $ 800 tiếp , và 20%
trên khoản tiền trên $ 1800
Chương trình này có logic tính toán để kiểm tra
đầu vào và đầu ra là không phức tạp
24