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

Bài giảng Kiểm thử phần mềm: Chương 2 - TS. Nguyễn Thanh Hùng

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 (2.16 MB, 56 trang )

Hanoi University of Science and Technology

Kiểm thử phần mềm
Kiểm thử hộp đen
Nguyen Thanh Hung
Software Engineering Department

CuuDuongThanCong.com

/>

Nội dung
1. Quy
nh
2.
3.
ng kết.

m nh.
p đen và các kỹ thuật.

2
CuuDuongThanCong.com

/>

Quy trình kiểm định

3
CuuDuongThanCong.com


/>

Lợi ích của việc kiểm định: Phát hiện lỗi sớm
 Định lý: Việc kiểm định hỗ trợ cho việc cải thiện chất
lượng bằng cách tìm kiếm các sai sót sớm trong việc
phát triển vòng đời.

4
CuuDuongThanCong.com

/>

Kiểm thử hộp đen
Khái niệm
 Là kiểm thử yêu cầu chức năng
 Đối tượng: module, hệ thống con, toàn hệ
thống
 Đặc trưng:





Thuyết minh: các chức năng đủ & vận hành đúng
Thực hiện: qua giao diện
Cơ sở: đặc tả, điều kiện vào/ra và cấu trúc dữ liệu
Ít chú ý đến logic nội tại của nó

5
CuuDuongThanCong.com


/>

Mô hình khái niệm kiểm thử hộp đen

6
CuuDuongThanCong.com

/>

Mục đích kiểm thử hộp đen
m








c
i sai liên quan:
c năng: đủ, ng n
Giao diện: o, ra: đu, phu p, ng, tiện i
u c, truy cập dư liệu: thông
t, ng n
c thi: trôi
y, p
i,
u i,

c i
i u- t
c:
i n nh thông
t

7
CuuDuongThanCong.com

/>

Câu hỏi cho kiểm thử hộp đen










c câu
i tập trung tra i :
Hiệu c a
c năng (
c năng, hiệu
t,
giao diện) t
c n đâu?

p u o o cho c ca
m thư t?

y m a môđun i gia
o o?
c biên a p dư liệu
c cô lập chưa?
Chiu i i
p điệu/
i
ng dư liệu như thê
o?
Tô p dư liệu đặc biệt nh
ng gi n
t
động hệ
ng?
ng n nh o (
i u, t
c) chưa
thông
t?
CuuDuongThanCong.com

/>
8


Vấn đề và tiêu chuẩn lựa chọn
Vấn đề:

 Các tiến trình của mỗi chức năng hệ thống đủ
lớn
 Các dữ liệu dày đặc, đa dạng
 Không dự kiến tới mọi sự bất thường
Tiêu chuẩn hướng đến:
 Thu n ca
m thư n
c
thê ( t, đơn
n).

t hiện sai trên p dư liệu, sô đặc biệt
(không
i 1 sai
thê n i 1
m thư
thê)
9
CuuDuongThanCong.com

/>

Mục tiêu
Tìm hiểu các kỹ thuật phổ biến và
hiệu quả nhất cho kiểm thử hộp đen:
 Boundary Testing (Kiểm thử biên)
 Equivalence Class Testing (Kiểm thử lớp
tương đương)
 Decision Table (Bảng quyết định)
 Error Guess Testing (Kiểm thử đoán lỗi)


10
CuuDuongThanCong.com

/>

Kiểm thử hộp đen - Black-box testing
 Đinh nghĩa
 Kiểm thử hộp đen: kiểm thử bỏ qua chi tiết, cấu trúc
bên trong hệ thống và chỉ tập trung vào kết quả đầu
ra.
 ƒ Kiểm thử hộp đen thường sử dụng:





Boundary Testing (Kiểm thử biên)
Equivalence Class Testing (Kiểm thử lớp tương đương)
Decision Table (Bảng quyết định)
Error Guess Testing (Kiểm thử đoán lỗi)

11
CuuDuongThanCong.com

/>

Kiểm thử hộp đen (2)

Những khái niệm cần nhớ:

 Không thể thử nghiệm tất cả các trường hợp
nếu chỉ áp dụng duy nhất một kỹ thuật.
 Trộn một số kỹ thuật với nhau sẽ thực tế hơn.
 Khi sử dụng kỹ thuật kiểm thử hộp đen, cần
nắm vững các đặc tả.
 Kiểm thử hộp đen không chỉ áp dụng vào
chức năng phần mềm mà còn cả thuộc tính
phi chức năng, chẳng hạn như bảo mật, hiệu
suất, khả năng sử dụng.
12
CuuDuongThanCong.com

/>

Phân vùng tương đương
Định nghĩa
 Phân vùng tương đương (Equivalence
Partitioning): chia các miền đầu vào của
chương trình thành các tập dữ liệu có cùng
đặc điểm mà từ đó các trường hợp kiểm thử
có thể tiền hành kiểm thử.
 Cố gắng tìm ra một trường hợp kiểm thử mà
bao phủ số lỗi nhiều nhất để giảm tối thiểu số
lượng các trường hợp kiểm thử

13
CuuDuongThanCong.com

/>


Phân vùng tương đương

14
CuuDuongThanCong.com

/>

Phân vùng tương đương
Các kiểu phân vùng tương đương
 Valid equivalence (tương đương hợp lệ):
các lớp mà dữ liệu thuộc lớp này là hợp lệ.
 Invalid equivalence: các lớp mà dữ liệu
thuộc lớp này là không hợp lệ.
Các bước thiết kế trường hợp thử
nghiệm (test case)
 Xác định các lớp tương đương.
 Xác định các trường hợp thử nghiệm (test
case).
15
CuuDuongThanCong.com

/>

Xác định các lớp tương đương(1)
 Điều cần biết về phân lớp tương đương:

 Không có phương pháp chuẩn để xác định
một lớp tương đương.
 Đặc tả thông số kỹ thuật khác nhau có thể sử
dụng các phương pháp xác định khác nhau.

 Chất lượng của các trường hợp thử nghiệm
có thể bị ảnh hưởng bởi các lớp tương
đương khác nhau.
 Các hướng dẫn sau đây có thể hữu ích khi
xác định các lớp tương đương.
16
CuuDuongThanCong.com

/>

Xác định các lớp tương đương(2)
 Hướng dẫn:
1. Nếu một điều kiện đầu vào xác định cụ thể một mức
của các giá trị, thì xác định được một lớp tương đương
hợp lệ và một lớp tương đương không hợp lệ.
2. Nếu một điều kiện đầu vào quy định cụ thể số lượng
các giá trị, thì xác định được một lớp tương đương hợp
lệ và một lớp tương đương không hợp lệ.
3. Nếu một điều kiện đầu vào xác định một tập hợp các
giá trị đầu vào và có một lý do để tin rằng chương trình
xử lý mỗi một giá trị khác nhau, thì xác định được một
lớp hợp lệ tương đương cho mỗi một giá trị và một lớp
tương đương không hợp lệ.
17
CuuDuongThanCong.com

/>

Xác định các lớp tương đương(3)
4. Nếu một điều kiện đầu vào quy định cụ thể "phải là“ ,

chẳng hạn như "ký tự đầu tiên của bộ nhận diện phải là
một chữ,“ thì xác định được một lớp tương đương hợp lệ
và một lớp tương đương không hợp lệ.
5. Nếu có bất kỳ lý do để tin rằng chương trình không xử
lý các yếu tố trong một lớp tương đương giống nhau, thì
ta phân chia lớp tương đương vào các lớp tương đương
nhỏ hơn.

18
CuuDuongThanCong.com

/>

Xác định các Test Cases
 Các bước
1. Đặt một số duy nhất cho mỗi lớp tương ứng.
2. Thiết kế một test case bao gồm nhiều lớp tương ứng hợp lệ đã
được phát hiện nhất có thể cho đến khi tất cả các lớp tương ứng
hợp lệ được phủ bởi test case.
3. Thiết kế một test case bao gồm một và chỉ một trong số các lớp
tương ứng không hợp lệ đã được phát hiện ra cho đến khi các test
case của bạn bao phủ hết các lớp không hợp lệ tương ứng.
Chú ý: Để có thể thực hiện việc xây dựng các test case dễ dàng hơn
chúng ta có thể sử dụng bảng sau để phát hiện
Điều kiện

Lớp tương đương
hợp lệ

Số thứ Lớp tương

tự
đương không
hợp lệ

Số
thư
tự

19
CuuDuongThanCong.com

/>

Ví dụ (1)
Ví dụ
 Một hàm miêu tả như sau:
nextDate(month,day,year): hàm đưa ra ngày
tiếp theo của ngày nhập vào
1≤month ≤12, 1≤day ≤31, 1900≤year ≤2060
 Có 2 ví dụ về cách phân lớp cho hàm này.
Hai cách phân lớp này có ảnh hưởng rất lớn
từ việc xác định các lớp tương đương.

20
CuuDuongThanCong.com

/>

Ví dụ (2) - Cách phân lớp thứ nhất


Cách 1:
 Bảng phân loại các lớp tương đương và số thứ tự
của chúng:
Điều kiện

Lớp tương đương
hợp lệ

Số thứ Lớp tương
tự
đương không
hợp lệ

Số
thư
tự

Tháng

[1, 12]

1

Tháng < 1

4

Tháng > 12

5


Ngày < 1

6

Ngày > 31

7

Năm < 1900

8

Năm > 2060

9

Ngày

Năm

[1, 31]

[1900, 2060]

CuuDuongThanCong.com

2

3


/>
21


Ví dụ (3) - Cách phân lớp thứ nhất

Các trường hợp kiểm thử của cách 1:
1.
2.
3.
4.
5.
6.

Các lớp 1, 2, 3 có đầu vào (6,16,2006), kết quả mong
muốn là (6,17,2006).
Các lớp 4, 2, 3 có đầu vào (-2,16,2006), kết quả mong
muốn là “Input Error!”
Các lớp 5, 2, 3 có đầu vào (20,16,2006), kết quả mong
muốn là ”Input Error!”
Các lớp 1, 6, 3 có đầu vào (5,0,2006), kết quả mong
muốn là ”Input Error!”
Các lớp 1, 7, 3 có đầu vào (5,40,2006), kết quả mong
muốn là ”Input Error!”
Các lớp 1, 2, 8 có đầu vào (5,10,1812), kết quả mong
muốn là ”Input Error!”

7. Các lớp 1, 2, 9 có đầu vào (5,10,3006), kết quả
mong muốn là ”Input Error!”

CuuDuongThanCong.com

/>
22


Ví dụ (4) - Cách phân lớp thứ nhất

Các vấn đề của cách phân lớp 1:
 Độ phức tạp của cách phân lớp này như thế nào?
 Năm nhuận liệu có được tính đến?
 Các trường hợp đã bao phủ trường hợp ngày 31
tháng 12?
 Cuối cùng thì cách phân lớp này đã hợp lý chưa?

23
CuuDuongThanCong.com

/>

Ví dụ (5) - Cách phân lớp thứ hai
Điều kiện

Lớp tương
đương hợp lệ

Số thứ
tự

Lớp tương

đương không
hợp lệ

Số
thư
tự

Tháng

Các tháng 31
ngày trừ tháng
12

1

Tháng <1

11

Các tháng 30
ngày

2

Tháng >12

12

Tháng 2


3

Tháng 12

4

[1,28]

5

Ngày < 1

13

29

6

Ngày > 31

14

30

7

31

8


Năm nhuận

9

Năm <1900

15

10

Năm > 2060

16

Ngày

Năm

Năm không
CuuDuongThanCong.com
nhuận

/>
24


Ví dụ (6) - Cách phân lớp thứ hai

Các trương hợp kiểm thử của cách 2:
1. Các lớp 1,5,9 có đầu vào (7,16,2006), kết quả mong muốn là

(7,17,2006).
2. Các lớp 2,6,10 có đầu vào (4,29,2006), kết quả mong muốn là
(4,30,2006).
3. Các lớp 3,7,9 có đầu vào (2,30,2000), kết quả mong muốn là
”Input Error!”
4. Các lớp 4,8,10 có đầu vào (12,31,2001), kết quả mong muốn là
(1,1,2002).
5. Các lớp 11,5,9 có đầu vào (-2,10,2004), kết quả mong muốn là
”Input Error!”
6. Các lớp 12,5,9 có đầu vào (15,10,2004), kết quả mong muốn là
”Input Error!”
7. Các lớp 1,13,9 có đầu vào (8,-2,2004), kết quả mong muốn là
”Input Error!”
25
CuuDuongThanCong.com

/>

×