Qui trình kiểm thửKiểm thử thành phần • Kiểm thử các thành phần chương trình riêng rẽ; • Trách nhiệm của người phát triển các thành • Là trách nhiệm của một đội kiểm thử độc lập; • Các
Trang 1Các cách Kiểm thử phần mềm
Trang 3Qui trình kiểm thử
Kiểm thử thành phần
• Kiểm thử các thành phần chương trình riêng rẽ;
• Trách nhiệm của người phát triển các thành
• Là trách nhiệm của một đội kiểm thử độc lập;
• Các kiểm thử dựa trên đặc tả hệ thống.
Trang 4Các pha kiểm thử
Component
Trang 5Kiểm thử khiếm khuyết
Mục đích của kiểm thử khiếm khuyết là phát hiện các khiếm khuyết trong các chương
trình
Một kiểm thử khiếm khuyết thành công là
một phép thử gây ra cho một chương trình hành động một cách không bình thường
Các kiểm thử chỉ ra sự hiện diện chứ không chỉ ra sự không tồn tại của các khiếm khuyết
Trang 6Mục đích của qui trình kiểm thử
Kiểm thử chấp nhận
• Nhằm chứng minh cho người phát triển và khách hàng
của hệ thống rằng phần mềm đáp ứng được yêu cầu của họ;
• Một kiểm thử chấp nhận thành công nếu chỉ ra được
rằng hệ thống hoạt động như đã được dự kiến.
Kiểm thử khiếm khuyết
• Nhằm phát hiện các lỗi hoặc các khiếm khuyết trong
phần mềm làm cho nó hành động không đúng hoặc không phù hợp với đặc tả của nó;
• Một kiểm thử thành công là một phép thử làm cho hệ
thống thực hiện không đúng và vạch ra thiếu sót trong hệ thống.
Trang 7Qui trình kiểm thử phần mềm
Design test
cases
Pr eparetest data
R
un program with test da ta
Compar e results
to test cases
Test cases
Test data
Test results
Test reports
Trang 8Chỉ có kiểm thử vét cạn mới có thể chỉ ra được một chương trình là không hề có khiếm khuyết Tuy
nhiên, kiểm thử vét cạn là không thể
Các chính sách kiểm thử xác định cách tiếp cận được sử dụng trong lựa chọn các kiểm thử hệ thống:
• Tất cả những chức năng được truy cập từ menu phải
được kiểm thử;
• Sự kết hợp của các chức năng được truy cập qua menu
cũng phải được kiểm thử;
• Tại những nơi yêu cầu input từ người sử dụng, tất cả các
chức năng phải được kiểm thử với input đúng và input sai.
Các chính sách kiểm thử
Trang 9Kiểm thử hệ thống
Bao gồm các thành phần tích hợp để tạo ra một hệ thống hoặc hệ thống con
Có thể bao gồm cả những kiểm thử đối với các sản phẩm được phát triển theo kiểu tăng dần sẽ chuyển giao cho khách hàng
Hai pha:
• Kiểm thử tích hợp - đội kiểm thử nên xem xét cả mã
nguồn chương trình Hệ thống được kiểm thử khi các thành phần được tích hợp lại với nhau.
• Kiểm thử để chuyển giao - đội kiểm thử sẽ kiểm thử hệ
thống hoàn chỉnh như một hộp đen để chuyển giao cho khách hàng.
Trang 10Kiểm thử tích hợp
Bao gồm việc xây dựng một hệ thống từ những thành phần của nó và kiểm thử hệ thống đối với những vấn đề phát sinh từ các tác động của các thành phần
Trang 11Kiểm thử tích hợp tăng dần
T3 T2 T1
B
Trang 12Kiểm thử chuyển giao
Kiểm thử chuyển giao là kiểm thử lại toàn bộ hệ thống trước khi chuyển giao cho khách hàng
Mục đích chính của kiểm thử này là tăng thêm sự tin tưởng của nhà cung cấp đối với sản phẩm của họ Kiểm thử chuyển giao thành công sẽ khẳng định hệ thống đáp ứng được các yêu cầu của người sử
Trang 13Kiểm thử hộp đen
Ie
Input test data
Oe Output test r esults
System
Inputs causing anomalous behaviour
Outputs which reveal the presence of defects
Trang 14Các hướng dẫn kiểm thử
• Chọn những inputs buộc hệ thống phải sinh ra
tất cả các thông báo lỗi;
• Thiết kế các inputs làm đầy bộ nhớ đệm;
• Lặp lại cùng một input hoặc một dãy các input
một số lần;
• Buộc phải sinh ra những outputs không hợp lệ;
• Làm cho các kết quả tính toán trở nên quá lớn
hoặc quá nhỏ
Trang 15Kiểm thử hiệu suất
Một phần của kiểm thử chuyển giao là kiểm thử các thuộc tính trội của một hệ thống, ví
dụ hiệu năng và độ tin cậy.
Các kiểm thử hiệu năng thường bao gồm việc lập kế hoạch cho một loạt các phép thử với các tải được tăng dần đều cho đến khi hiệu năng của hệ thống trở nên không thể chấp nhận được.
Trang 16• Các thành phần hỗn hợp với các giao diện đã được định
nghĩa được dùng để truy cập các chức năng của chúng.
Trang 17Các cách thiết kế:
• Kiểm thử dựa trên yêu cầu;
• Kiểm thử phân hoạch;
• Kiểm thử cấu trúc.
Trang 18Kiểm thử dựa trên các yêu cầu
Một nguyên tắc chung của công nghệ các yêu cầu là tất cả các yêu cầu phải có khả năng có thể kiểm thử được.
Kiểm thử dựa trên yêu cầu là kỹ thuật kiểm thử chấp nhận trong đó chúng ta phải xem xét từng yêu cầu và đưa ra một tập các phép thử đối với yêu cầu đó.
Trang 19Các yêu cầu của LIBSYS
Trang 20Kiểm thử LIBSYS
• Initiate user search for searches for items that are known to
be present and known not to be present, where the set of databases includes 1 database.
• Initiate user searches for items that are known to be present
and known not to be present, where the set of databases includes 2 databases
• Initiate user searches for items that are known to be present
and known not to be present where the set of databases includes more than 2 databases.
• Select one database from the set of databases and initiate
user searches for items that are known to be present and known not to be present.
• Select more than one database from the set of databases
and initiate searches for items that are known to be present and known not to be present.
Trang 21Các hướng dẫn kiểm thử
Kiểm thử phần mềm bằng các xâu chỉ có một giá trị đơn
Sư dụng các xâu có độ dài khác nhau trong các phép thử khác nhau.
Đưa ra các phép thử sao cho có thể truy cập được các phần tử đầu, giữa và cuối của xâu Kiểm thử với các xâu có độ dài bằng 0.
Trang 22Đôi khi còn gọi là kiểm thử hộp trắng box).
(white-Kết quả của các ca kiểm thử phải phù hợp cấu trúc của chương trình
Mục đích là thực hành lại tất cả các câu lệnh của chương trình.
Kiểm thử cấu trúc
Trang 23Kiểm thử cấu trúc
Component
code
Test outputs
Test da ta
Derives Tests
Trang 24Kiểm thử đường đi của chương trình
Mục đích của kiểm thử đường đi là để đảm bảo rằng tập các ca kiểm thử sẽ buộc mọi đường đi trong chương trình phải được thực hiện ít nhất một lần.
Kiểm thử đường đi phải xuất phát từ một đồ thị luồng chương trình trong đó các đỉnh là các quyết định của chương trình và các cung
là luồng điều khiển.
Các câu lệnh có các điều kiện chính là các đỉnh trong đồ thị luồng chương trình.
Trang 25Đồ thị luồng của chương trình tìm kiếm nhị phân
elemArray [mid] != k ey elemArray [mid] > k ey elemArray [mid] < k ey
Trang 261, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14
1, 2, 3, 4, 5, 14
1, 2, 3, 4, 5, 6, 7, 11, 12, 5, …
1, 2, 3, 4, 6, 7, 2, 11, 13, 5, … Cần phải lập các ca kiểm thử sao cho tất cả các đường này phải được thực hiện
Các đường đi độc lập
Trang 27Các điểm chìa khóa
Kiểm thử có thể chỉ ra sự có tồn tại của những khiếm khuyết trong một hệ thống; kiểm thử không thể chứng minh là không còn lỗi nào nữa
Những người phát triển các thành phần có trách nhiệm kiểm thử thành phần do mình phát triển; kiểm thử hệ thống là trách nhiệm của một đội độc lập
Kiểm thử tích hợp là kiểm thử mỗi khi hệ thống được tích hợp thêm một thành phần; kiểm thử chuyển giao là kiểm thử hệ thống sẽ chuyển giao cho khách hàng