Đề tài Thiết kế Test-Case trong kiểm thử phần mềm

MỤC LỤC

MỤC LỤC 1

DANH MỤC CÁC HÌNH 3

LỜI NÓI ĐẦU 4

TÓM TẮT NỘI DUNG 6

CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 7

1.1 Các khái niệm cơ bản về kiểm thử phần mềm 7

1.1.1 Kiểm thử phần mềm là gì? 7

1.1.2 Các phương pháp kiểm thử 8

1.1.2.1 Kiểm thử tĩnh – Static testing 8

1.1.2.2 Kiểm thử động – Dynamic testing 8

1.1.3 Các chiến lược kiểm thử 9

1.1.3.1 Kiểm thử hộp đen – Black box testing 9

1.1.3.2 Kiểm thử hộp trắng – White box testing 10

1.1.3.3 Kiểm thử hộp xám – Gray box testing 11

1.1.4 Các cấp độ kiểm thử phần mềm 11

1.1.4.1 Kiểm thử đơn vị – Unit test 12

1.1.4.2 Kiểm thử tích hợp – Intergration Test 13

1.1.4.3 Kiểm thử hệ thống – System Test 15

1.1.4.4 Kiểm thử chấp nhận sản phẩm – Acceptance Test 17

1.1.4.5 Một số cấp độ kiểm thử khác 18

1.1.5 Các phương pháp kiểm thử con người 19

1.1.5.1 Tổng duyệt – Walkthrough 19

1.1.5.2 Thanh tra mã nguồn – Code Inspection 20

1.2 Nguyên tắc kiểm thử phần mềm 20

CHƯƠNG 2. THIẾT KẾ TEST – CASE 22

2.1 Khái niệm 22

2.2 Vai trò của thiết kế test – case 22

2.3 Quy trình thiết kế test – case 22

2.3.1 Kiểm thử hộp trắng - Kiểm thử bao phủ logic 24

2.3.1.1 Bao phủ câu lệnh – Statement Coverage 25

2.3.1.2 Bao phủ quyết định – Decision coverage 26

2.3.1.3 Bao phủ điều kiện – Condition coverage 27

2.3.1.4 Bao phủ quyết định/điều kiện – Decision/condition coverage 29

2.3.1.5 Bao phủ đa điều kiện – Multiple condition coverage 30

2.3.2 Kiểm thử hộp đen 32

2.3.2.1 Phân lớp tương đương – Equivalence Patitioning 32

2.3.2.2 Phân tích giá trị biên – Boundary Value Analysis 35

2.3.2.3 Đồ thị nguyên nhân – kết quả - Cause & Effect Graphing 36

2.3.2.4 Đoán lỗi – Error Guessing 42

2.3.3 Chiến lược 43

CHƯƠNG 3. ÁP DỤNG 44

3.1 Đặc tả 44

3.2 Thiết kế test – case 46

3.2.1 Vẽ đồ thị nguyên nhân – kết quả 46

3.2.2 Phân lớp tương đương 50

3.2.2.1 Xác định các lớp tương đương 50

3.2.2.2 Xác định các ca kiểm thử 50

3.2.3 Phân tích giá trị biên 51

3.2.3.1 Xét các trạng thái đầu vào 51

3.2.3.2 Xét không gian kết quả 51

3.2.4 Các phương pháp hộp trắng 52

3.2.4.1 Bao phủ câu lệnh 52

3.2.4.2 Bao phủ quyết định 54

3.2.4.3 Bao phủ điều kiện 55

3.2.4.4 Bao phủ quyết định – điều kiện 55

3.2.4.5 Bao phủ đa điều kiện 55

TÀI LIỆU THAM KHẢO 57

KẾT LUẬN 58

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 59

 

 

doc59 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 3779 | Lượt tải: 5download
Tóm tắt nội dung Đề tài Thiết kế Test-Case trong kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
tam giác có 3 cạnh bằng nhau, tam giác cân là tam giác có 2 trong 3 cạnh bằng nhau, và tam giác thường thì có 3 cạnh khác nhau.
Mã lệnh của chương trình:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TMainForm = class(TForm)
AEdit: TLabeledEdit;
BEdit: TLabeledEdit;
CEdit: TLabeledEdit;
btnTest: TButton;
procedurebtnTestClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
Procedure TMainForm.btnTestClick(Sender: TObject);
var
a, b, c: Integer;
begin
try
a := StrToInt(AEdit.Text);
b := StrToInt(BEdit.Text);
c := StrToInt(CEdit.Text);
if (a < 0) Or (b < 0) Or (c < 0) then
ShowMessage('3 canh A, B, C khong thoa man la 3 canh cua mot tam giac.')
else
if (a + b > c) And (a + c > b) And (b + c > a) then
begin
if (a = b) And (b = c) then
ShowMessage('3 canh A, B, C lap thanh mot tam giac deu.')
else
if (a=b) Or (b=c) Or (c=b) then
ShowMessage('3 canh A, B, C lap thanh mot tam giac can.')
else 
ShowMessage('3 canh A, B, C lap thanh mot tam giac thuong.');
end
else
ShowMessage('3 canh A, B, C khong thoa man la 3 canh cua mot tam giac.');
except
ShowMessage('Loi dinh dang du lieu. De nghi ban xem va nhap lai.');
end;
end;
end.
Thiết kế test – case
Áp dụng chiến lược kiểm thử đã trình bày trong Chương 2, các ca kiểm thử được xây dựng như sau:
Vẽ đồ thị nguyên nhân – kết quả
Do đặc tả có sự kết hợp đầu vào nên trước tiên, áp dụng phương pháp vẽ đồ thị nguyên nhân – kết quả.
Nguyên nhân là:
Cả 3 giá trị nhập vào đều là số nguyên dương.
Tổng 2 số bất kỳ trong 3 số lớn hơn số còn lại.
Hai trong 3 số có giá trị bằng nhau.
Ba số có giá trị bằng nhau.
Kết quả là:
R1. Thông báo ba giá trị nhập vào lập thành tam giác thường.
R2. Thông báo ba giá trị nhập vào lập thành tam giác cân.
R3. Thông báo ba giá trị nhập vào lập thành tam giác đều.
R4. Thông báo ba giá trị nhập vào không lập thành một tam giác.
R5. Thông báo lỗi nhập dữ liệu.
Hình 3.1	Đồ thị nguyên nhân – kết quả:
Bước tiếp theo là tạo bảng quyết định mục vào giới hạn. Chọn kết quả R1 là đầu tiên. R1 có mặt nếu nút các nút 12 và 3 = 1,0. Nút 12 = 1 khi 1 và 2 = 1,1. 
Áp dụng lần lượt cho sự có mặt của từng kết quả đầu vào, ta được bảng quyết định như sau:
Hình 3.2	Bảng quyết định
1
2
3
4
5
1
1
1
1
1
0
2
1
1
0
3
0
1
4
1
R1
1
0
0
0
0
R2
0
1
0
0
0
R3
0
0
1
0
0
R4
0
0
0
1
0
R5
0
0
0
0
1
Bước cuối cùng là chuyển đổi bảng quyết định thành các ca kiểm thử. Các ca kiểm thử thu được như sau:
STT
Các điều kiện
Ca kiểm thử 
Hành động
1
Cả 3 giá trị nhập vào đều là số nguyên dương, và tổng của 2 số bất kỳ trong 3 số luôn lớn hơn số thứ 3, và không có cặp 2 số bất kỳ nào trong 3 số đó là = nhau.
2,3,4
2,4,3
3,2,4
3,4,2
4,2,3
4,3,2
R1
2
Cả 3 giá trị nhập vào đều là số nguyên dương, và tổng cảu 2 số bất kỳ trong 3 số luôn lớn hơn số thứ 3, và tồn tại một cặp 2 số trong 3 số đó là = nhau.
3,3,4
3,4,3
4,3,3
R2
3
Cả 3 giá trị nhập vào đều là số nguyên dương, và cả 3 số có giá trị bằng nhau.
3,3,3
R3
4
Cả 3 giá trị nhập vào đều là số nguyên dương, và tồn tại 2 số trong 3 số có tổng nhỏ hơn hoặc bằng số còn lại.
1,2,4
Và 5 hoán vị của nó
R4
5
Tồn tại một giá trị nhập vào không phải là số nguyên dương.
A,2,2
-1,1,1
1.1,1,1
Và 2 hoán vị của mỗi trường hợp 
R5
Phân lớp tương đương
Xác định các lớp tương đương 
Các giá trị nhập vào là số
Cả 3 giá trị đều là số (1)
Tồn tại 1 giá trị không phải là số (2)
Các giá trị là nguyên
Cả 3 giá trị đều nguyên (3)
Tồn tại 1 giá trị không nguyên (4)
Các giá trị là dương
Cả 3 giá trị đều dương (5)
Tồn tại 1 giá trị <=0 (6)
Hằng số
-32768 : 32767 (7)
32767 (9)
Tổng 2 số bất kỳ so với số thứ 3
Lớn hơn (10)
Nhỏ hơn hoặc bằng (11)
Xác định các ca kiểm thử
Các ca kiểm thử bao phủ các lớp tương đương hợp lệ:
Ca kiểm thử 2,3,4 và 5 hoán vị bao phủ các lớp (1), (3), (5), (7), (10).
Các ca kiểm thử tương ứng với từng ca kiểm thử không hợp lệ:
(2) A, 1, 1 và 2 hoán vị.
(4) 1.1, 1, 1 và 2 hoán vị.
(6) -1, 1, 1 và 2 hoán vị.
(8) -32769, 1, 1 và 2 hoán vị.
(9) 32768, 1, 1 và 2 hoán vị.
(11) 1, 2, 4 và 5 hoán vị.
Phân tích giá trị biên
Xét các trạng thái đầu vào
Xét các trạng thái đầu vào thu được các ca kiểm thử như sau:
1, 1, 1
A, 1, 1 và 2 hoán vị.
1.1, 1, 1 và 2 hoán vị.
0, 1, 1 và 2 hoán vị.
-1, 1, 1 và 2 hoán vị.
-32768, 1, 1 và 2 hoán vị.
-32769, 1, 1 và 2 hoán vị.
32767, 1, 1 và 2 hoán vị.
32768, 1, 1 và 2 hoán vị.
1, 2, 3 và 5 hoán vị.
1, 2, 4 và 5 hoán vị.
Xét không gian kết quả
Xét không gian kết quả, thu được các ca kiểm thử như sau:
Ba số đầu vào thỏa mãn là 3 cạnh của một tam giác đều 
 1, 1, 1
 32767, 32767, 32767
Ba số đầu vào thỏa mãn là 3 cạnh của một tam giác cân 
14. 1, 1, 2 và 2 hoán vị.
15. 32767, 32767, 32766 và 2 hoán vị.
Ba số đầu vào thỏa mãn là 3 cạnh của một tam giác thường
16. 2, 3, 4 và 5 hoán vị.
17. 32767, 32766, 32765 và 5 hoán vị.
Ba số đầu vào không thỏa mãn là 3 cạnh của 1 tam giác
18. 1, 2, 3 và 5 hoán vị.
19. 1, 2, 4 và 5 hoán vị.
20. 32767, 1, 32765 và 5 hoán vị.
21. 32767, 1, 32766 và 5 hoán vị.
Lỗi định dạng dữ liệu vào
22. A, 1, 1 và 2 hoán vị.
23. 0, 1, 1 và 2 hoán vị.
24. -1, 1, 1 và 2 hoán vị.
25. 1.1, 1, 1 và 2 hoán vị.
Các phương pháp hộp trắng
Bao phủ câu lệnh
Lưu đồ thuật toán cho chương trình tam giác:
a
a,b,c:integer;
a=b or b=c or c=b 
ShowMessage M5
Không có ngoại lệ
Show Message M1
Show Message M2
Show Message M4
owMessage M3
S
Đ
Đ
Show Message M3
a=b and b=c
s
Đ
ShowMessage M1
a<0 or b<0 or c<0
Lưu đồ thuật toán cho đoạn code của chương trình
a:= StrToInt(AEdit.Text);
b:= StrToInt(BEdit.Text);
c:= StrToInt(CEdit.Text);
Đ
b
S
c
d
e
a+b>c and a+c>b and b+c>a
g
f
h
i
S
Sk
Đ
j
l
Trong đó:
M1: Ba cạnh A, B, C không thỏa mãn là 3 cạnh của 1 tam giác.
M2: Ba cạnh A, B, C lập thành 1 tam giác đều.
M3: Ba cạnh A, B, C lập thành 1 tam giác cân.
M4: Ba cạnh A, B, C lập thành 1 tam giác thường.
M5: Lỗi định dạnh dữ liệu. Đề nghị bạn xem và nhập lại.
Các ca kiểm thử thu được:
-1, 1, 1	và các hoán vị 	(abdl)
1, 1, 1	(abefhl)
2, 2, 1	và các hoán vị 	(abefijl)
2, 3, 4	và các hoán vị 	(abefikl)
1, 2, 4	và các hoán vị 	(abegl)
A, 1, 1	và các hoán vị 	(acl)
1.1, 1, 1	và các hoán vị 	(a,c,l)
Bao phủ quyết định
Các ca kiểm thử thu được:
-32768, -32768, -32768 	và các hoán vị 	(abdl)
32767, 32767 , 32767 	và các hoán vị 	(abefhl)
32767, 32767, 327676	và các hoán vị	(abefijl)
32767, 32766, 32765	và các hoán vị 	(abefikl)
32767, 1, 2	và các hoán vị 	(abegl)
A, 1, 1	và các hoán vị 	(acl)
1.1, 1, 1	và các hoán vị 	(a,c,l)
Bao phủ điều kiện
Các ca kiểm thử thu được là:
-1, 1, 1	và các hoán vị.
2, 3, 4 	và các hoán vị.	
1, 2 , 4 	và các hoán vị.
2, 2, 1 	và các hoán vị.
1, 1, 1 	và các hoán vị.
A, 1, 1 	và các hoán vị.
1.1, 1, 1 	và các hoán vị.
Bao phủ quyết định – điều kiện
Các ca kiểm thử thu được là:
-1, 1, 1 	và các hoán vị.
2, 3, 4 	và các hoán vị.
1, 2 , 4 	và các hoán vị.
2, 2, 1 	và các hoán vị.
1, 1, 1 	và các hoán vị.
A, 1, 1 	và các hoán vị.
1.1, 1, 1 	và các hoán vị.
Bao phủ đa điều kiện
Các ca kiểm thử thu được là:
-1, 1, 1 	và các hoán vị.
2, 3, 4 	và các hoán vị.
1, 2 , 4 	và các hoán vị.
2, 2, 1 	và các hoán vị.
1, 1, 1 	và các hoán vị.
A, 1, 1 	và các hoán vị.
1.1, 1, 1 	và các hoán vị.
KẾT LUẬN
Kiểm thử phần mềm, một hướng đi không còn mới mẻ trên thế giới, nhưng lại là một hướng đi rất mới ở Việt Nam. Nó hứa hẹn một tương lai mới cho các học sinh, sinh viên ngành CNTT. 
Qua tìm hiểu và xây dựng đề tài này, em thấy mình đã đạt được một ưu điểm cũng như vẫn còn một số tồn tại.
Những điểm đạt được: 
Nắm được tổng quan về kiểm thử phần mềm: Các khái niệm cơ bản, các phương pháp kiểm thử phần mềm, và các vấn đề liên quan …
Tìm hiểu và nắm được các phương pháp và chiến lược thiết kế test – case trong kiểm thử phần mềm, và áp dụng được các phương pháp đã tìm hiểu để xây dựng các test – case cho 1 bài toán cụ thể - Chương trình “Tam giác”.
Bổ sung và rèn luyện thêm kỹ năng sử dụng phần mềm Word và Powerpoint.
Nâng cao khả năng đọc hiểu tài liệu Tiếng Anh.
Những điểm chưa đạt:
Sự áp dụng những kiến thức tìm hiểu được mới chỉ dừng lại ở một bài toán nhỏ, mà vẫn chưa thử áp dụng cho các bài toán hay ứng dụng lớn.
Từ những điểm đạt và chưa đạt ở trên, em hi vọng sẽ nhận được sự góp ý chân thành của các thầy cô và các bạn để bản báo cáo được hoàn thiện hơn.
	Sinh viên
	 Phạm Thị Trang
TÀI LIỆU THAM KHẢO
The Art of Software Testing, Glenford J. Myers, Second Edition, John Wiley and Sons, Inc.
Software Engineering - A Practitioner’s Approach, Roger S.Pressman, Sixth Edition, Ph.D, McGraw-Hill, Inc.
A Practitioner's Guide to Software Test Design, Lee Copeland, First Edition, Artech House Publishers Boston, London.
Effective methods for Software Testing, William E. Perry, 3rd Edition, Wiley Publishing, Indian.
Software Testing, Ron Patton, Second Edition, Sam Publishing.
Một số trang web về kiểm thử phần mềm khác.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Thái Nguyên, ngày … tháng 09 năm 2009	
Giáo viên hướng dẫn	
Nguyễn Hồng Tân	

File đính kèm:

  • docĐề tài Thiết kế Test-Case trong kiểm thử phần mềm.doc