Xem mẫu
- 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 https://fb.com/tailieudientucntt
- Nội dung
1. Quy nh m nh.
2. p đen và các kỹ thuật.
3. ng kết.
2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Quy trình kiểm định
3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- Mô hình khái niệm kiểm thử hộp đen
6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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?
Sư 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
8
thông t?
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- Phân vùng tương đương
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
- 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 Số thứ Lớp tương Số
hợp lệ tự đương không thư
hợp lệ tự
19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 https://fb.com/tailieudientucntt
nguon tai.lieu . vn