2. SANCEMENTE TEAM
Dương Thị Vân
Team leader
Ngô Thị Lan Hoa
Member
Trần Hương Trang
Member
Nguyễn Hồng Nhung
Member
Nguyễn Thị Trang
Member
Bùi Thi Ngọc
Member
Nguyễn Thanh
Hải
Member
Trịnh Thị Mỹ
Duyên
Member
Đỗ Thị Ninh
Member
3. Khái niệm kiểm thử
Các kĩ thuật kiểm thử tiêu biểu
Pairwise testing
Các bước thực hiện Pairwise testing
Công cụ PICT sinh test case theo cặp
Đánh giá
NỘI DUNG CHÍNH
Demo
4. I. Kiểm thử là gì?
1. Khái niệm kiểm thử
Là quá trình thực thi chương trình/ứng dụng với
mục đích là tìm ra lỗi của phần mềm
2. Tiến trình kiểm thử
6. II.Một vài kĩ thuật kiểm thử tiêu biểu
1. White box testing
Khi thiết kế test case và test, các tester truy cập thẳng vào
bên trong source code, cấu trúc và thuật toán của chương
trình
2. Grey box testing
Grey box testing bao gồm các kiến thức về các thuật toán,
cấu trúc bên trong của chương trình để thực hiện mục đích
việc thiết kế các trường hợp test, nhưng việc test phải thực
hiện như là người dùng (suy nghĩ theo cách nghĩ của người
dùng cuối.
7. II. Một vài kĩ thuật kiểm thử tiêu biểu
3. Black box testing
Kiểm thử hộp đen coi chương tr ̀nh như một “hộp đen” ta không
quan tâm về cấu trúc bên trong chương tr ̀nh. Thay vào đó, ta tập
trung vào t ̀m các trường hợp mà chương tr ̀nh không thự hiện theo
yêu cầu của đặc tả.
Một số kỹ thuật kiểm thử hộp đen tiêu biểu:
● Equivalence Partitioning
● Boundary Value Analysis
● Decision table
● Pairwise testing
8. III. Pairwise testing
➢ Lỗi thường được phủ bởi sự tương tác của
hai cặp tham số, và có thể bị bắt bởi bởi
kiểm thử theo cặp.
➢ Kiểm thử theo cặp cũng được gọi là kiểm
thử 2-way.
➢ Chúng ta cũng có khả năng thực hiện
kiểm thử 3-way (kiểm thử dựa trên sự kết
hợp của 3 tham số đầu vào) hoặc 4 way
(kiểm thử dựa trên sự kết hợp của 4 tham
số đầu vào)
9. III. Pairwise testing
➢ Kiểm thử theo cặp (pairwise testing) là một
trong những phương pháp kiểm thử hộp đen
➢ Kiểm thử theo cặp tạo ra các testcase phủ
hết các giá trị của 2 tham số thay v ̀ các bộ
giá trị của tất cả các tham số.
➢ Thực tế cho thấy, số testcase giảm đi rất
nhiều so với kiểm thử tất cả các trường hợp
nhưng vẫn đảm bảo phát hiện được 70% lỗi
của phần mềm.
70%
Lỗi của phần mềm
10. III. Pairwise testing
Theo R.Kuhn và M.J.Reilly thì hơn 70% số lỗi đã được tìm ra với hai điều kiện hoặc
ít hơn.
11. IV. Các bước thực hiện Pairwise testing
Input
List các item Pairwise
testing
Output
Bảng testcase được sinh ra
theo cặp
12. IV. Các bước thực hiện Pairwise testing
Ví dụ:
Loại đặt
hàng
Địa điểm Loại xe Số đăng kí
xe
Mua Việt Nam BMW Valid
Bán Singapo Audi Invalid
Bảo hành Mỹ Mercedes
Camry
13. IV. Các bước thực hiện Pairwise testing
Bước 1. Xác định số lượng đầu vào
Loại đặt hàng Địa điểm Loại xe Số đăng kí xe
3 3 4 2
Bước 2. Xác định số lượng case thủ công
➢ Số lượng testcase sẽ bằng t ́ch của hai giá trị lớn nhất trong bảng.
➢ Ta có 4x3 = 12 tổ hợp giá trị của 2 tham số "Địa điểm" và "Loại xe",
tức là 3x4 = 12 testcase.
➢ Lúc này, ta xây dựng một bảng gồm 12 hàng tương ứng
14. IV. Các bước thực hiện Pairwise testing
Bước 3: Thực hiện kết hợp 2
giá trị đầu vào lớn nhất
Loại đặt hàng Địa điểm Loại xe Số đăng kí xe
Việt Nam BMW
Singapo BMW
Mỹ BMW
Việt Nam Audi
Singapo Audi
Mỹ Audi
Việt Nam Mercedes
Singapo Mercedes
Mỹ Mercedes
Việt Nam Camry
Singapo Camry
Mỹ Camry
15. IV. Các bước thực hiện Pairwise testing
Bước 4: Thực hiện mapping
các giá trị
➢ Ta điền các giá trị của
tham số
➢ "Loại đặt hàng" tương
ứng với các tổ hợp ở
bảng để phủ tất cả
những cặp giá trị của nó
với cả 2 tham số "Địa
điểm" và "Loại xe" cùng
lúc
Loại đặt hàng Địa điểm Loại xe Số đăng kí xe
Mua Việt Nam BMW
Bán Singapo BMW
Bảo hành Mỹ BMW
Bán Việt Nam Audi
Bảo hành Singapo Audi
Mua Mỹ Audi
Bảo hành Việt Nam Mercedes
Mua Singapo Mercedes
Bán Mỹ Mercedes
Mua Việt Nam Camry
Bán Singapo Camry
Bảo hành Mỹ Camry
16. IV. Các bước thực hiện Pairwise testing
Bước 5 . Lặp lại bước 4 cho
đến khi bảng được điền hết
giá trị
Ta điền các giá trị của tham
số “Số đăng ký xe” vào cột
cuối cùng, sao cho phủ hết tất
cả các trường hợp xảy ra giữa
tham số “Số đăng ký xe” và
các tham số còn lại như bảng
bên
Loại đặt hàng Địa điểm Loại xe Số đăng kí xe
Mua Việt Nam BMW Valid
Bán Singapo BMW Invalid
Bảo hành Mỹ BMW Invalid
Bán Việt Nam Audi Valid
Bảo hành Singapo Audi Valid
Mua Mỹ Audi Invalid
Bảo hành Việt Nam Mercedes Invalid
Mua Singapo Mercedes Valid
Bán Mỹ Mercedes Valid
Mua Việt Nam Camry Valid
Bán Singapo Camry Valid
Bảo hành Mỹ Camry Invalid
17. IV. Các bước thực hiện Pairwise testing
➢ Tuy nhiên việc sinh testcase theo cặp bằng tay sẽ vô cù ng phứ c tạp khi số lượng
cá c item trong mà n hı̀nh cà ng lớ n
➢ Việc á p dụng phương phá p nà y bằng tay sẽ rấ t khó khăn và rấ t khó đến đảm
bảo tı́nh đú ng đắn cũng như tı́nh đầ y đủ của bộ testcase tạo ra.
➢ Sử dụng công cụ PICT để sinh test case
Như vậy, bằng việc á p dụng kỹ thuật sinh test case theo
cặp thı̀ chú ng ta có tấ t cả 12 test case, ı́t hơn rấ t nhiều
so vớ i 72 test case sinh ra bằng việc kết hợp tấ t cả cá c
tham số đầ u và o.
18. V. Công cụ PICT sinh test case theo cặp
- PICT (The Pairwise Independent Combinatorial Testing tool)
được các tiến sỹ Jacek Czerwonka người Nga giới thiệu trong hội
nghị quốc tế tại Pháp vào ngày 4/3/2009.
- Công cụ hỗ trợ sinh test case theo cặp một cách đơn giản, hiệu
quả nhất giúp tiết kiệm thời gian và công sức
➢ Bước 1: Truy cập trang http://www.pairwise.org/tools.asp
➢ Bước 2: Tải phiên bản mới nhất của PICT về máy
➢ Bước 3: Chạy file cài đặt PICT
19. V. Công cụ PICT sinh test case theo cặp
Bước 4: Tạo ra được file đầu vào cho PICT
file đầu vào này được xác định theo định dạng sau đây:
Sau đó lưu nó dưới dạng fileName.txt
<ParamName> : <Value1>, <Value2>, <Value3>, ...
IF [A] = “a1” THEN [B] = “b1”;
LoaiDatHang : Mua, Ban, Baohanh
Diadiem : Vietnam, Singapor, My
Loaixe : BMV, Audi, Mes, Camry
Sodangky: Valid, Invalid
20. V. Công cụ PICT sinh test case theo cặp
Bước 5. Chạy PICT để sinh ca kiểm thử theo cặp cho file.txt vừa
sinh ra bằng comand {$Link}> pict fileName.txt
21. V. Công cụ PICT sinh test case theo cặp
Sau khi thực hiê ̣n các bước này, sinh ra được bộtestcase như sau:
22. ➔ Số lượng giá trị của mỗi đầu vào tăng tạo ra
sự tăng nhanh các ca kiểm thử.
➔ Chỉ cover được khoảng 70% bug
➔ Không áp dụng cho tất cả bài toán được: 1
số bài toàn ko có điều kiện rõ ràng thì khó
có thể áp dụng được
➔ Trường hợp nhiều điều kiện đầu vào việc
manual created gặp khó khăn ở logic sinh
case
VI. Đánh giá
22
➔ Dễ automatic vì có nhiều tool support
➔ Giảm số lượng case nên giảm effort
create và execute
➔ Xét được hết các trường hợp đầu vào kể
cả trường hợp ngẫu nhiên của người
dùng.
Ưu điểm Nhược điểm