Tải bản đầy đủ (.pdf) (10 trang)

Kiểm thử chức năngKiểm thử phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (304.17 KB, 10 trang )

Kiểm thử chức năng


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

2


Kiểm thử chức năng

3


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
4


Kiểm thử hệ thống và kiểm thử
ngẫu nhiên


Ngẫu nhiên (đồng đều):








Chọn các yếu tố đầu vào có thể thống nhất
Tránh thiên vị thiết kế
 Một vấn đề thực tế: Các nhà thiết kế kiểm thử cũng có thể tạo
ra cùng những lỗi logic và giả thiết tồi giống nhà thiết kế
chương trình (đặc biệt là nếu họ là cùng một người)
Nhưng đối xử với tất cả các đầu vào là có giá trị như nhau

Có hệ thống (không đồng đều):




Cố gắng chọn đầu vào là có giá trị đặc biệt
Thông thường bằng việc lựa chọn đại diện của các lớp mà ứng
dụng gặp lỗi thường xuyên hoặc không phải tất cả trường hợp
Kiểm thử chức năng là kiểm thử có hệ thống thử nghiệm

5


Tại sao không ngẫu nhiên?





Sự phân bố lỗi không đều
Ví dụ: Lớp căn bậc hai Java áp dụng cho phương
trình bậc hai



Logic thực hiện không đầy đủ: Chương trình không
hợp lí trong các trường hợp trong đó b2 - 4ac = 0 và a
=0



Lấy mẫu ngẫu nhiên thường không chọn a = 0,0 và b
= 0,0
6


Systematic Partition Testing
The space of possible input values
(the haystack)

Failure (valuable test case)
No failure

Thất bại là thưa thớt
trong không gian
đầu vào có thể ...


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

... nhưng dày đặc
trong một số bộ phận
của không gian

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
7


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
8


Tại sao kiểm thử chức năng?


kịp thời




hiệu quả




tìm một vài lớp lỗi (ví dụ, thiếu logic) có thể vượt quá
cách tiếp cận khác

áp dụng rộng rãi






Thường hữu ích trong việc tinh chỉnh đặc tả và đánh
giá khả năng kiểm thử trước khi mã được viết

cho bất kỳ mô tả hành vi của chương trình phục vụ
như một đặc tả
ở bất kỳ mức độ nào từ module để kiểm thử hệ thống.

Kinh tế


thường ít tốn kém để thiết kế và thực thi hơn so với
các trường hợp kiểm thử cấu trúc (mã)

9


Thiết kế kiểm thử chức năng
sớm


Mã nguồn chương trình là không cần thiết





Chỉ có một mô tả về hành vi được dự kiến là cần thiết
Thậm chí các đặc tả không đầy đủ và chính thức có thể được sử
dụng

 Mặc dù chính xác, đặc tả đầy đủ dẫn đến bộ thử tốt hơn

Thiết kế kiểm thử chức năng sớm có những lợi ích phụ





Thường cho thấy sự mơ hồ và mâu thuẫn trong đặc tả
Hữu ích cho việc đánh giá khả năng kiểm thử
 Và cải thiện tiến độ Và ngân sách kiểm thử bằng cách cải
thiện đặc tả
Giải thích hữu ích của đặc tả
 hoặc trong trường hợp cực đoan (như trong XP), trường hợp
kiểm thử chính là đặc tả
10



×