SOTFWARE TESTING
FUNTIONAL TESTING
SCRIPT TESTING
GVHD: ThS. Nguyễn Đăng Khoa
SVTH: Nguyễn Văn Hòa MSSV: 09520100
Võ Duy Luyện MSSV: 09520165
Thái Nguyễn MSSV: 09520196
Phạm Giang Sang MSSV: 09520246
Nội dung trình bày:
2
FUNTIONAL TESTING
3
Nội dung
Functional Acceptance Simple Tests (FAST)
Task-Oriented Functional Tests (TOFT)
Forced-Error Tests (FET)
Equivalence Class Partitioning
Boundary Value Analysis (BVA)
Exploratory Tests
4
Functional Acceptance Simple Tests
FASTs
Một trong những mục tiêu của FASTs là kiểm tra cách hành xử của các điều
khiển giao diện người dùng (như là: textbox, radio button, ).
FASTs không quan tâm đến tính chính xác của dữ liệu trả về.
5
Functional Acceptance Simple Tests FASTs
Trong môi trường Web, những thứ được kiểm tra theo phương pháp FASTs bao
gồm:
Đường dẫn (kiểm tra về nội dung đường dẫn, các đường dẫn hình, )
Các điều khiển cơ bản(backward, forward, các điều khiển giao diện khác, )
6
Functional Acceptance Simple Tests
FASTs
Kiểm tra xử lý các hành động (add, remove, update, create user profiles, )
Các điều khiển chính khác (đăng nhập, đăng xuất, xử lý quên mật khẩu, )
7
Functional Acceptance Simple Tests
FASTs
Một số lỗi cơ bản thường gặp là:
Liên kết hỏng
Thiếu hình ảnh
Liên kết sai
Hình ảnh bị sai
Liên kết chính xác nhưng nội dung không có hoặc cũ.
8
Functional Acceptance Simple Tests
FASTs
Lỗi tính toán
Máy chủ không đáp ứng
Tài khoản email người dùng không xác định được tính hợp lệ
9
Task-Oriented Funconal Tests TOFTs
TOFTs kiểm tra xem ứng dụng có thực hiện tốt các chức năng. Quan tâm tới độ chính
xác của dữ liệu đầu ra.
TOFTs được xây dựng từ danh sách các chức năng được kiểm tra. Cần chọn các
trường hợp kiểm tra sao cho phù hợp với chức năng kiểm tra trong quá trình thực hiện.
10
Forced – Error Tests
FETs
FETs là việc kiểm tra mà cố tình làm cho ứng dụng xảy ra lỗi.
Mục đích của FETs là tìm ra các điều kiện xảy ra lỗi mà không được phát
hiện hay xử lý sai.
Một danh sách các điều kiện xảy ra lỗi thì thường rất khó để tập hợp một
cách đầy đủ. Một số cách để tạo một danh sách các điều kiện xảy ra lỗi đầy đủ nhất
là:
11
Forced – Error Tests
FETs
Tập hợp tất cả các lỗi trong quá trình phát triển
Hỏi người phát triển
Kiểm tra các dữ liệu từ file
Tập hợp các thông tin từ thông số kỹ thuật
Sử dụng các công cụ trích xuất kiểm tra từ các nguồn nhị phân
12
Forced-Error Tests
FETs
Phân tích mọi khả năng xảy ra từ các trường hợp lỗi
Dùng kinh nghiệm bản thân
Dùng các tiêu chuẩn kiểm tra hợp lệ/ không hợp lệ
13
Forced-Error Tests
FETs
Khi đã có một danh sách các điều kiện xảy ra lỗi, mỗi điều kiện nên trải qua
các bước kiểm tra sau:
Force the error condition
Check the error detection logic
Check the handling logic
Check the error communication
Look for further problems
14
Equivalence Class Paroning
Định nghĩa: là quá trình làm giảm lượng tese case mà vẫn đảm bảo hiệu quả tương
đương như khi test với lượng tese case cũ
Ý tưởng của kỹ thuật này: Chia đầu vào thành những nhóm tương đương nhau. Nếu
một giá trị trong nhóm hoạt động đúng thì tất cả các giá trị trong nhóm đó cũng hoạt động
đúng và ngược lại.
Giảm đáng kể số lượng test case cần phải thiết kế vì với mỗi lớp tương đương ta chỉ
cần test trên các phần tử đại diện
Equivalence Class Paroning
Các lớp tương đương có thể chia làm 2 nhóm:
Positive tese case:
Test case dựa trên input
Test những trường hợp thông thường
Negative test case:
Test nhằm tìm ra lỗi
Test case nằm ngoài miền input
16
Equivalence Class Paroning
Tóm lại việc phân lớp tương đương:
Mang tính chủ quan
Chứa đầy rủi ro => tester phải thận trọng
Phân các tese case vào các class, mỗi class chứa các test case tương tự nhau
Trong mỗi class chỉ chọn một vài test case để test
Cần test nhiều class thay vì nhiều test case trong cùng 1 class.
17
Boundary value analysis
Phân tích giá trị biên - Boundary Value Analysis
Thường được áp dụng đối với các đối số của một phương thức
Tập trung vào việc kiểm thử các giá trị biên của miền giá trị inputs để thiết kế test case
do “lỗi thường tiềm ẩn lại các ngõ ngách và tập hợp tại biên” ( Beizer )
BVA hiệu quả nhất trong trường hợp “các đối số đầu vào (input variables) độc lập với
nhau và mỗi đối số đều có một miền giá trị hữu hạn”
18
Boundary value analysis
Giả sử hàm F có hai biến X1, X2 như sau:
a ≤ X1 ≤ b
c ≤ X2 ≤ d
Miền xác định:
X2
a b
c
d
X2
a b
c
d
19
Một số kỹ thuật BVA
Standard BVA ( Boundary Value Analysis )
Robustness testing
Worst-case testing
Robust worst-case testing
20
Standard BVA
Giả sử biến x có miền giá trị [min,max]
Các giá trị được chọn để kiểm tra
Min - Minimum
Min+ - Just above Minimum
Ave - Average
Max- - Just below Maximum
Max - Maximum
21
Số test case là 4n+1, với n là số lượng biến
Standard BVA
x1
x2
a
b
c
d
Boundary value analysis test cases for a
function of two variables
22
Robustness Tesng
Mở rộng của Standard BVA
Kiểm thử cả hai trường hợp:
Input variable hợp lệ (clean test cases)
Kiểm thử tương tự như Standard BVA trên các giá trị (min, min+, average, max-,
max)
Input variable không hợp lệ (dirty test cases)
Kiểm thử trên 2 giá trị: min-, max+ (nằm ngoài miền giá trị hợp lệ)
23
Số lượng test case là 6n + 1, với n là số lượng biến
Tập trung vào việc kiểm thử trên các giá trị không hợp lệ
Robustness Tesng
x1
x2
a
b
c
d
Robustness testing test cases for a
function of two variables
24
25
Số lượng test case là 5
n,
với n là số biến
x1
x2
b
c
d
“Worst case” test cases for a function of
two variables
Worst-case tesng
25