Tải bản đầy đủ (.ppt) (27 trang)

Các cách kiể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 (237.9 KB, 27 trang )

Các cách Kiểm thử phần mềm

Bùi Thế Hồng

Chư
ơ ng 14. Ki ểm th ử ph ần m ềm

Trang 1


Mục tiêu
Bàn về sự khác nhau giữa kiểm thử tính phù
hợp và kiểm thử khiếm khuyết
Mô tả các nguyên tắc của kiểm thử hệ thống
và kiểm thử thành phần

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 2


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
phần;



Kiểm thử hệ thống




Bùi Thế Hồng

Kiểm thử các nhóm thành phần được tích hợp
lại để tạo thành một hệ thống hoặc một hệ
thống con;
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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 3


Các pha kiểm thử

Component
testing
Software developer

Bùi Thế Hồng

System
testing
Independent testing team


Chương 14. Ki ểm th ử ph ần m ềm

Trang 4


Kiể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

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 5


Mụ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



Bùi Thế Hồng

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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 6


Qui trình kiểm thử phần mềm

T
est
cases

Design test
cases


Bùi Thế Hồng

T
est
data

Pr
eparetest
data

T
est
results

un
R program
with test da
ta

Chương 14. Ki ểm th ử ph ần m ềm

T
est
repor
ts

Compar
ee
r sults

to test cases

Trang 7


Các chính sách kiểm thử
Chỉ 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:




Bùi Thế Hồ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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 8



Kiể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:



Bùi Thế Hồng

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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 9


Kiể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.

Tích hợp trên xuống


Phát triển một bộ khung cho hệ thống và đắp dần khung
này bằng các thành phần.

Tích hợp dưới lên


Tích hợp các thành phần hạ tầng sau đó thêm vào các
thành phần chức năng.

Để đơn giản cho việc định vị các sai sót, nên tích
hợp một cách tăng dần.

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 10


Kiểm thử tích hợp tăng dần
A
A

T1

T1


T2

A

T2
T2

B
T3

B
T3

B

C

T3

T4
C

T4
D

estTsequence 1
Bùi Thế Hồng

T1


estTsequence 2

Chương 14. Ki ểm th ử ph ần m ềm

T5

est
T sequence 3

Trang 11


Kiể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ử
dụng.
Kiểm thử chuyển giao thường là kiểm thử kiểu hộp
đen hoặc kiểm thử chức năng



Bùi Thế Hồng

Chỉ dựa vào các đặc tả hệ thống;
Người kiểm thử không cần có kiến thức về thực hiện hệ
thống.


Chương 14. Ki ểm th ử ph ần m ềm

Trang 12


Kiểm thử hộp đen
Ie

Input test
data

Inputs causing
anomalous
behaviour

System

Output testesults
r

Bùi Thế Hồng

Oe

Chương 14. Ki ểm th ử ph ần m ềm

Outputs which reveal
the pr
esence of

defects

Trang 13


Các hướng dẫn kiểm thử






Bùi Thế Hồng

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ỏ.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 14


Kiể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.

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 15


Kiểm thử thành phần
Kiểm thử thành phần hay đơn vị là qui trình kiểm
thử tách biệt các thành phần riêng rẽ.
Đây là qui trình kiểm thử khiếm khuyết.
Các thành phần có thể là :




Bùi Thế Hồng

Các chức năng hoặc phương pháp riêng rẽ trong một đối
tượng;
Các lớp đối tượng với một vài thuộc tính và phương
pháp;

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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 16


Thiết kế các ca kiểm thử
Bao gồm thiết kế các ca kiểm thử (inputs và
outputs) dc sử dụng để kiểm thử hệ thống.
Mục đích của thiết kế các ca kiểm thử là lập ra một
tập các kiểm thử mang lại hiệu quả trong các kiểm
thử nghiệm thu và kiểm thử khiếm khuyết.
Các cách thiết kế:




Bùi Thế Hồng

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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 17



Kiể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 đó.

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 18


Các yêu cầu của LIBSYS

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 19


Kiểm thử LIBSYS







Bùi Thế Hồng

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.

Chương 14. Ki ểm th ử ph ần m ềm

Trang 20


Cá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.

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 21


Kiểm thử cấu trúc
Đôi khi còn gọi là kiểm thử hộp trắng (whitebox).
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.

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Trang 22


Kiểm thử cấu trúc

Test da
ta


T
ests

Derives
Component
code

Bùi Thế Hồng

Chương 14. Ki ểm th ử ph ần m ềm

Test
outputs

Trang 23


Kiể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.
Bùi Thế Hồng


Chương 14. Ki ểm th ử ph ần m ềm

Trang 24


Đồ thị luồng của chương trình tìm kiếm nhị phân
1

2

3

4

bottom > top

5

while bottom <= top

6

7
elemArray
[mid] = k ey

elemArray [mid] != k ey

11


elemArray [mid] > k ey
8

12

elemArray [mid] < k ey
13

9

14

Bùi Thế Hồng

10

Chương 14. Ki ểm th ử ph ần m ềm

Trang 25


×