công nghệ phần mềm chương 8 kiểm thử phần mềm - Pdf 15

Công Nghệ Phần Mềm
1
CÔNG NGHỆ PHẦN MỀM
Chương 8
Kiểm thử phần mềm
MÔN HỌC
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
Công Nghệ Phần Mềm
2
Chương 8 : Kiểm thử phần mềm
8.1 V & V (Verification and Validation)
8.2 Kiểm thử
8.3 Quá trình kiểm thử
8.2 Kiểm thử hướng đối tượng
Công Nghệ Phần Mềm
3
• Kiểm chứng và thẩm định bao gồm kiểm thử phần
mềm
• Kiểm chứng (Verification): “Chúng ta đang xây
dựng sản phẩm theo đúng cách"
 Phần mềm phải phù hợp với đặc tả của nó
• Thẩm định (Validation): “Chúng ta đang xây dựng
sản phẩm đúng"
 Phần mềm phải thực hiện những gì người dùng thật sự
cần
8.1 Kiểm chứng và thẩm định
Công Nghệ Phần Mềm
4
• Là một quá trình được thực hiện trong toàn bộ chu
kỳ sống phần mềm. V & V phải được áp dụng cho
mỗi giai đoạn của tiến trình phần mềm

Prototype
Dynamic
validation
Static
verification
Công Nghệ Phần Mềm
7
• Có thể nhận ra sự hiện diện của một số lỗi
• Một kiểm tra thành công là một kiểm tra mà khám
phá ra một hay nhiều lỗi
• Một kỹ thuật thẩm định tốt nhất cho những yêu
cầu phi chức năng
• Phải được dùng với việc kết hợp kiểm tra tĩnh nhằm
cung cấp một V&V đầy đủ
Kiểm thử chương trình (program)
Công Nghệ Phần Mềm
8
Đích của V& V
• Kiểm chứng và thẩm định phải tạo ra một sự tin
tưởng rằng phần mềm phù hợp với mục đích
• Điều này không có nghĩa là hoàn toàn không có
khiếm khuyết
• Cho biết phần mềm đủ tốt cho việc sử dụng theo
mục đích của nó. Loại sử dụng phần mềm sẽ xác
định mức độ tin tưởng cần thiết
Công Nghệ Phần Mềm
9
• Kiểm thử và debug khiếm khuyết là những quá
trình riêng biệt
• Kiểm thử tập trung việc xác nhận có khiếm khuyết

12
8.2 Kiểm thử phần mềm (Testing)
Testing is the process of exercising a
Testing is the process of exercising a
program with the specific intent of finding
program with the specific intent of finding
errors prior to delivery to the end user.
errors prior to delivery to the end user.
Công Nghệ Phần Mềm
13
Ai kiểm thử phần mềm?
developer
developer
independent tester
independent tester
Understands the system
Understands the system
but, will test "gently"
but, will test "gently"
and, is driven by "delivery"
and, is driven by "delivery"
Must learn about the system,
Must learn about the system,
but, will attempt to break it
but, will attempt to break it
and, is driven by quality
and, is driven by quality
Công Nghệ Phần Mềm
14
Mục tiêu của kiểm thử phần mềm

black-box
methods
Công Nghệ Phần Mềm
17
Kết hợp kiểm thử
• Phân loại:
 Kiểm nghiệm black-box: kiểm tra các chức năng
cụ thể của phần mềm, không quan tâm cấu trúc
bên trong, thường áp dụng cho những module lớn.
 Kiểm nghiệm white-box: kiểm tra cấu trúc điều
khiển bên trong chương trình, thường dùng cho
những những module nhỏ.
• Mỗi loại kiểm nghiệm có khả năng tìm ra những
nhóm lỗi khác nhau Æ nên kết hợp cả hai
Công Nghệ Phần Mềm
18
Thiết kế Test case
• Thiết lập các test case – vận hành thử - so sánh kết quả
• Khái niệm test-case
 Dữ liệu input
 Thao tác kiểm nghiệm
 Dữ liệu output hay đáp ứng mong đợi của chương
trình
• Test-case cho kiểm nghiệm black-box: chủ yếu dựa vào
các yêu cầu cụ thể của chức năng phần mềm.
• Test-case cho kiểm nghiệm white-box: chủ yếu dựa vào
cấu trúc điều khiển của phần mềm Æ vấn đề đặt ra: số
lượng test-case cần thiết là quá lớn
Công Nghệ Phần Mềm
19

input
input
output
output
Công Nghệ Phần Mềm
21
Kiểm thử Black-Box
• Một hướng kiểm thử mà xem chương trình như một
hộp đen (black-box)
• Những test case được thiết kế dựa vào đặc tả hệ
thống
• Kế hoạch kiểm thử có thể bắt đầu sớm trong qui
trình phần mềm
Công Nghệ Phần Mềm
22
Kiểm thử Black-Box
I
e
Input test data
O
e
Output test results
System
Inputs causing
anomalous
behaviour
Outputs which reveal
the presence of
defects
Công Nghệ Phần Mềm


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status