Tải bản đầy đủ (.pptx) (25 trang)

kỹ thuật kiểm thử hộp đen

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 (174.41 KB, 25 trang )

Các kỹ thuật kiểm thử hộp đen
Nhóm 11-D10CNPM2
7/2/14
Nhóm 11-D10CNPM2
Danh sách thành viên:

Đào Thị Huyền

Nguyễn Văn Minh

Nguyễn Nam Khánh

Thân Trung Khánh
7/2/14
Nội dung

a. Phân lớp tương đương

b. Phân tích giá trị biên

c. Dùng bảng quyết định

d. Đoán lỗi
7/2/14
a. Phân lớp tương đương
(Equivalence class partitioning-EVA)
7/2/14

Là phương pháp kiểm thử hộp đen chia miền đầu vào của chương trình thành các
lớp dữ liệu từ đó suy dẫn ra các ca kiểm thử (TC)


Phương pháp này cố gắng xác định 1 TC làm lộ ra 1 lỗi -> giảm được tổng số TC

Làm sao chọn testcase đại diện cho lớp tương đương ? Điều này phụ thuộc vào
kiểu dữ liệu nhập. Ta hãy lần lượt xét 1 số kiểu dữ liệu nhập phổ biến.
a. Phân lớp tương đương(tt)
7/2/14

Nếu điều kiện đầu vào xác định 1 đoạn
[a, b] ( xác định 1 lớp tương đương cho dữ liệu hợp lệ : a<X<b , 2 lớp
khác X<a và X>b để kiểm thử giá trị không hợp lệ)

Nếu điều kiện đầu vào chỉ là 1 tập giá trị : tạo ra 1 EC cho mỗi phần tử
trong tập giá trị đó và 1 EC cho 1 phần tử không thuộc tập hợp đó.
a. Phân lớp tương đương(tt)

Nếu điều kiện đầu vào xác định cho mỗi giá trị đơn lẻ : Nếu hệ thống xử lý mỗi
1 đầu vào hợp lệ khác nhau, tạo ra 1 EC tương ứng cho mỗi đầu vào hợp lệ.

Nếu điều kiện đầu vào xác định 1 giá trị duy nhất : tạo ra 1 EC cho giá trị đó và 2
EC : 1 EC bằng 0 và 1 EC > giá trị đó cho các trường hợp không hợp lệ .

Nếu điều kiện đầu vào xác định 1 kiểu đúng/ sai thì chia vùng tương đương
thành 2 tính huống là 1 hợp lệ, 1 không
7/2/14
a. Phân lớp tương đương(tt)

Phương pháp:
B1 : Xác định các lớp tương đương (EC)
B2 : Tạo 1 TC ứng với mỗi lớp tương đương
- Gán 1 số duy nhất cho mỗi lớp tương đương

- Với mỗi lớp tương đương có đầu vào hợp lệ mà chưa được phủ bởi bất kỳ
ca kiểm thử nào. Viết 1 ca kiểm thử mới phủ được càng nhều lớp tương đương
chưa được bao phủ càng tốt.
7/2/14
a. Phân lớp tương đương(tt)
- Với mỗi lớp tương có đầu vào không hợp lệ chưa được bao phủ bởi bất kì ca
kiểm thử nào. Viết 1 ca kiểm thử mà chỉ phủ được 1 và chỉ 1 trong số các lớp
tương đương không hợp lệ chưa được bao phủ.
7/2/14
a. Phân lớp tương đương(tt)
Ví dụ: : Xem xét ví dụ: Hệ thống phần mềm tính toán thuế thu nhập cá nhân dựa
trên adjusted gross income (AGI).

Nếu $1< AGI < $29,500 thuế là 22% của AGI

Nếu $29,501 < AGI <$58,500 thuế là 27% AGI

Nếu $58,501< AGI <$100 billion thuế là 36% của AGI
7/2/14
a. Phân lớp tương đương(tt)
7/2/14

Các ca kiểm thử cần thiết :
b. Phân tích giá trị biên
(Boundary value analysis-BVA)

Trong thực tế các lập trình viên hay mắc lỗi ở các giá trị biên. Do vậy ta tập
trung kiểm thử ở các giá trị biên.

BVA là để chọn ra dữ liệu kiểm thử gần với biên của miền dữ liệu do vậy dữ liệu

cả bên trong và bên ngoài của 1 lớp tương đương đều sẽ được chọn.

Kỹ thuật này chỉ thích hợp với các lớp tương đương xác định bởi các giá trị liên
tục (số nguyên, số thực)
7/2/14
b. Phân tích giá trị biên(tt)

Phương pháp:
B1: Xác định các lớp tương đương EC
B2: Xác định biên tương ứng với mỗi EC
B3: Tạo các ca kiểm thử cho mỗi giá trị biên của mỗi lớp tương đương :

1 Test case cho giá trị biên.

1 Test case ngay dưới biên.

1 Test case ngay trên biên.
7/2/14
b. Phân tích giá trị biên(tt)

Một số lưu ý:

Nếu EC xác định 1 dãy các giá trị: ta xây dựng TC dựa trên điểm biên và
các điểm cận biên của dãy đó

Nếu EC xác định 1 tập các giá trị số: ta xây dựng TC cho giá trị lớn nhất,
giá trị nhỏ nhất, giá trị nhỏ hơn giá trị nhỏ nhất và giá trị lớn hơn giá trị lớn nhất

Nếu EC xác định 1 tập lệnh như 1 danh sách tuyến tính, 1 bảng thì ta
quan tâm đến phần tử đầu tiên và phần tử cuối cùng.

7/2/14
b. Phân tích giá trị biên(tt)
Ví dụ: : Xem xét hệ thống quản lý nguồn nhân lực :
7/2/14
b. Phân tích giá trị biên(tt)

B1: Phân vùng tương đương :
EC1 : 0- 15 tuổi: Không thuê
EC2: 16-17 tuổi: Thuê dạng bán thời gian
EC3 : 18-54 tuổi: Thuê toàn thời gian
EC4: 55-99 tuổi : Không thuê
7/2/14
b. Phân tích giá trị biên(tt)

B2: Xác định các giá trị biên:
EC1 : 0, 15
EC2: 16, 17
EC3: 18, 54
EC4: 55, 99
B3: Tạo các ca kiểm thử tương ứng :
Các TC ứng với các tuổi :
-1, 0, 1, 14, 15, 16, 17, 18, 19, 53, 54, 55, 56, 98, 99, 100
7/2/14
c. Bảng quyết định
(Descion Tables)

Hạn chế kiểm thử dựa trên phân lớp tương đương là chỉ xem xét khía cạnh đầu
vào mà không xem xét đến sự kết hợp các điều kiện. Kiểm thử dựa trên bảng
quyết định sẽ xem xét xử lý nhiều dữ liệu đầu vào.


Được áp dụng cho các hệ thống có độ phức tạp cao.
7/2/14
c. Bảng quyết định(tt)

Cấu trúc bảng quyết định
7/2/14
Rule 1 Rule 2 Rule k
Condition 1 value value value value

Condition n value value value value
Effect
Effect 1

Effect m
c. Bảng quyết định(tt)
Phương pháp :

B1: Xác định điều kiện, kết quả cho mỗi đơn vị Test.

B2: Điền các điều kiện và kết quả vào bảng

B3: Tính số lượng các sự kết hợp (số giá trị lũy thừa vs số điều kiện)

B4: Điền vào bảng các trường hợp kết hợp. Mỗi cột tương ứng với 1 sự kết hợp
của các giá trị. Mỗi 1 hàng thực hiện :
7/2/14
c. Bảng quyết định(tt)
B4.1: Xác định số lượng yếu tố lặp lại (RF)
B4.2: Viết các RF vào bảng quyết định


B5: Giản lược các sự kết hợp (các quy tắc)

B6: Kiểm tra mức độ phủ của sự kết hợp (quy tắc) : Với mỗi một cột tính ra số
lượng kết hợp mà nó biểu thị . Cộng tổng và so sánh với bước 3. 2 kết quả
phải giống nhau.

B7: Thêm các kết quả vào các cột trong bảng

B8: Chuyển các cột trong bảng thành các TC tương ứng
7/2/14
c. Bảng quyết định(tt)
Ví dụ : Xem xét việc thanh toán tiền lương :

Các chuyên viên : làm việc hơn 40h/tuần trả lương theo giờ: 40 giờ đầu và
lương gấp 2 lần trong các giờ tiếp theo.

Các chuyên gia : làm < 40h/tuần sẽ được trả lương theo giờ + đưa ra báo cáo
vắng mặt

Các công nhân: làm <40h/tuần được trả theo lương + phải đưa ra báo cáo vắng
mặt .

Các công nhân làm hơn 40h/tuần được trả theo lương của họ.
7/2/14
c. Bảng quyết định(tt)
Kết quả :
7/2/14
d. Đoán lỗi (Error Guessing)

Là 1 kỹ thuật thiết kế ca kiểm thử mà các tester sử dụng kinh nghiệm của bản

thân để:

Dự đoán loại và vị trí có thể gây ra lỗi.

Kiểm tra thiết kế đề tìm ra lỗi

Dựa trên kinh nghiệm có thể đưa ra danh sách các loại lỗi có thể được phát
hiện ra.

Danh sách lỗi có thể thể giúp ta đoán ra nơi mà có thể xảy ra lỗi.
7/2/14
d. Đoán lỗi(tt)

Đoán Lỗi không có quy tắc rõ ràng, nó chỉ sử dụng các kỹ năng kiểm thử trước
đó.

Các ca kiểm thử có thể được thiết kế tùy thuộc vào tình hình, hoặc hoặc luồng
công việc trong các tài liệu mô tả chức năng hoặc khi một lỗi không mong muốn/
không được mô tả trong tài liệu được tìm thấy trong khi kiểm thử.
7/2/14
d. Đoán lỗi(tt)
Một số vùng có thể tìm thấy lỗi :

Mã nguồn

Các đoạn mã mới được thêm vào hoặc sửa đổi cũng tiềm tàng các lỗi.

Các đoạn mã mà trước đó bị lỗi cũng sẽ có thể dẫn đến việc gây lỗi.

Một phần mới của hệ thống, 1 công nghệ mới chưa được chứng minh

7/2/14

×