KHOA
BÁO CÁO TNG KT
TÀI KHOA HC VÀ CÔNG NGH CNG
XÂY DNG H THNG KIM TH PHN MM
T NG
Ch nhi n
I HM K THU
BÁO CÁO TNG KT
TÀI KHOA HC VÀ CÔNG NGH CNG
XÂY DNG H THNG KIM TH PHN MM
T NG
Xác nhn c ch tài Ch nhi tài
(ký, họ tên) (ký, họ tên)
Đào Anh Hiển
STT
1
n
2
Lê Th
Ging viên
K
3
Hoàng Quc Vit
Ging viên
C nhân
STT
THÔNG TIN KT QU NGHIÊN CU 1
I. Tng quan tình hình nghiên cu thuc c tài
c 3
1. Tình hình nghiên cc 3
2. Tình hình nghiên cc 3
II. Tính cp thit c tài 3
III. Mc tiêu c tài 3
IV. Cách tip cu 4
1. Cách tip cn 4
u 4
ng và phm vi nghiên cu 4
ng nghiên cu 4
2. Phm vi nghiên cu 4
VI. Ni dung nghiên cu 4
PHN II: KT QU 5
M TH PHN MM, KIM
TH T NG PHN MM 5
1.1 Tng quan v kim th phn mm 5
1.1.1 Các khái nin v kim th phn mm 5
1.1.1.1 Định nghĩa kiểm thử phần mềm 5
1.1.1.2. Lý do kiểm thử phần mềm 5
1.1.1.3. Vai trò của kiểm thử phần mềm 5
1.1.1.4. Mục tiêu của kiểm thử phần mềm 5
1.1.2. Tin trình thc hin kim th 6
m th phn mm 6
1.1.3.1. Kiểm thử hộp trắng 6
1.1.3.2. Kiểm thử hộp đen 6
1.1.4. Các c kim th phn mm 7
1.1.4.1. Kiểm thử đơn vị 7
1.1.4.2. Kiểm thử tích hợp 7
1.1.4.3. Kiểm thử hệ thống 8
1.1.4.4. Kiểm thử chấp nhận sản phẩm 8
1.2. Tng quan v kim th t ng phn mm 8
1.2.1. Khái nim kim th t ng 8
1.2.2. Mc tiêu ca kim th t ng 8
1.2.3. Quy trình kim th t ng 8
1.2.4 Kim th t ng chn mm 9
1.2.4.1. Khái niệm kiểm thử chức năng 9
1.2.4.2. Làm thế nào để kiểm thử tự động chức năng 9
1.2.5 Kim th t ng giao din phn mm 9
1.2.5.1. Khái niệm kiểm thử giao diện 9
1.2.5.2. Làm thế nào để kiểm thử tự động giao diện 9
1.2.5.3. Các thành phần GUI của ứng dụng cần kiểm thử: 9
M TH T NG VI
REFLECTION 10
2.1. K thut Reflection 10
2.2. Lp System.Type 10
2.3. S dng Reflection 10
THUT SINH KCH BN T NG S
DNG CODEDOM TRONG .NET 11
3.1. K thut CodeDom ca .NET 11
3.2. Mô hình các khái nim dùng trong CodeDom 11
3.3. Các lp trong namespace System.CodeDOM 11
3.3. S dng CodeDOM 12
THUT API CHO KIM TH GIAO DIN13
4.1. API là gì? 13
4.2. Các thành phn ca Windows API 13
4.3. Các hàm API ly thông tin v các thành phn GUI 13
NG NG DNG KIM TH T NG13
5.1 Gii pháp 13
5.2 Kin trúc ca công c 14
5.3 Th nghi 14
PH 15
1. Kt lun 15
2. Khuyn ngh 15
1
TRNG I HC S PHM K THUT HNG YÊN
T
1. Thông tin chung:
- tài: Xây dng h thng kim th phn mm t ng
- Ch nhim: Ks. n
- ch trì: Khoa CNTT -
- Thi gian thc hin: 10
2. Mc tiêu:
Nghiên cu k thut kim th phn mm t ng
Nghiên cu k thut phân tích t ng thông tin ca phn mm cn
kim th
Nghiên cu k thut sinh kch bn kim th t ng
Nghiên cu k thut sinh ca kim th, thc thi ca kim th
kt qu kim th t ng
Xây dng h thng kim th phn mm t ng
3. Tính mi và sáng to:
- Nghiên cu k thut sinh ca kim th t ng t phn mm cn kim
th
- Nghiên cu k thut sinh kch bn kim th da trên d liu
4. Kt qu nghiên cu:
c các kin thc kim th phn mm, kim th t ng
phn mm.
c k thut thu thp t ng thông tin ca phn mm
cn kim th
c k thut sinh ca kim th t ng t thông tin thu
thc
c k thut sinh kch bn kim th t ng t d liu
Xây dng c h thng kim th phn mm t ng h tr kim
th t ng phn mm v mt chn.
Vit b v nhng kin thu.
Công b c mt bài báo trong k yu hi tho quc gia ln th 1
ng tin b ca K thun n t và Công ngh thông
tin trong cuc s
2
5. Sn phm:
- thng kim th phn mm t ng
6. Hiu quc chuyn giao kt qu nghiên cu và kh
ng:
- S dng làm công c thc hành và hc to bo chng
phn mm.
2012
3
PHN 1:
I.
1.
gi n kim th, kim th t ng phn
mc chú trng nghiên cc bit trong vic xây dng các công c
kim th. Mt trong s các cách tip cn ca các nhà nghiên cu trên th gii
là xây dng các công c t ng giúp cho kim th c t ng hóa nhiu
nht có th nhm gim chi phí và công sc cho kim th phn mc:
sinh Test Case (TC) t gim chi phí và thi gian cho kim th viên,
nâng cao chng ca TC; sinh ca kim th t ng; thc thi ca kim th
t ng và t t qu ca ca kim th.
TC TC này là
TC
III
- Nghiên cu k thut kim th phn mm t ng
- Nghiên cu k thut phân tích t ng thông tin ca phn mm cn
kim th
4
- Nghiên cu k thut sinh TestCase, thc hi
TestCase t ng
- Xây dng h thng kim th phn mm t ng
IV.
TC
V
phân tích metad
TC TC
- c tài liu
- c nghim
- u
- u
V.
VI
+ Nghiên cu v kim th phn mm
+ Nghiên cu v kim th phn mm t ng
+ Nghiên cu cách thu thp thông tin v phn mm cn kim th
+ Nghiên cu cách sinh TestCase t ng
+ Nghiên cu cách tht qu test t ng
5
1.1
Kim th phn mm là quá trình kho sát mt h thng hay thành
phi nhu kinh, quan sát và ghi li các kt qu
giá mt khía ca h thng hay thành phBảng chú
giải thuật ngữ chuẩn IEEE của Thuật ngữ kỹ nghệ phần mềm- IEEE
Standard Glossary of Software Engineering Terminology) [7].
1.1
1.1
c
1.1
6
M
1.1
Tin trình thc hin kim th trong hình 1.1 [1].
Hình 1.1. Tin trình thc hin kim th.
1.1
1.1.3.1.
Kim th hp trng (white box testing) là loi kim th ng logic
nhm mo sát cu trúc bên trong c
ng ca kim th hp trng là mã ngu th
. Kim th hp trng tp trung vào vic kim tra các chi
tit th tc (logic x lý, thung logic (luu khin)
và các trng thái c liu cc b) [1]. Hin nay, có mt s
k thuc s dng trong kim th hp tr th dòng (do
u tiên), ma trn kim th (s ng s trên
tng cu khin theo dòng d liu, các cu trúc chu trình giá tr c
1.1.
g pháp
7
tron
M
Equivalence partitioning.
Boundary value analysis.
All-pairs testing.
Fuzz testing.
Model-based testing.
Traceability matrix.
Exploratory testing.
Specification-base testing [1].
1.1
Theo mô hình
Hình 1 các c kim th.
1.1
1.1
-
8
1.1
1.1
-
1.2.
Kim th t ng là quá trình thc hin mt cách t c
trong mt TC. Nó s dng mt công c kim th t rút ngn
thi gian kim th[1].
Gim bt công sc và thi gian thc hin
tin cy
Gim s nhàm chán
Gim chi phí cho tng quá trình kim th
Quy trình kim th t ng phn mc
hin kim th phn mng.
9
Hình 1.5: Quy trình i quan h vi KTPM.
1.2.4.
Kim th chm tra xem các thành phn cha
h thng hon hay không.
1.2.4
kim th t ng ta phi tuân theo qc trình bày trong
hình 1.6
Hình 1.6c ca kim th phn mm t ng v mt ch[3].
1.2.5
Kim th giao din chính là kim tra xem giao din s dng có nht
quán, rõ ràng, có d s di ci s dng hay
không.
1.2.5.2
Mt thành phn GUI có th c nhn dng bng tên, v trí ca nó,
lp thành phn ca nó, t ca s cha, vChúng ta da vào các
thu thc thông tin cn kim th và sinh ra TC
1.2.5.3
- Button: Thc hin s kin thc hin mt chc mt tp chc
ng dng.
10
- Combobox: i dùng chn giá tr t danh sách x xung và
thit lp giá tr cho nó.
- DialogBox: u khin DialogBox gm OpenFileDialog, SaveFileDialog,
FolderBowerDialog, FontDialog, ColorDialog, PrintDialog,
- Label: nhãn có tác dng ch dn, giu khi
- Menu: Là mt trong nhu khin giao din quan trng và phc tp
nht và khác vu khin khác trong vic kim th.
- TextBox: ng nhp liu.
REFLECTION
2.1. Reflection
K thuc ng dng trong nhiu ngôn ng lng
K thut Reflection [12c thông tin
t các siêu d liu (metadata) c to ra mng (có kiu
là Typei.
2
- c GetType() và toán t typeof
- Ly các thông tin t Type
+ GetConstructors() + GetEvents()
+ GetFields() + GetInterfaces()
+ GetMethods() + GetMembers()
+ GetNestedTypes() + GetProperties()
2.3
c cung cp mi dng các tp exe hoc
tc cung c
Assembly assembly=Assembly.Load(location);
Thu thp các thông tin ca assemb c cung cp bao gm lp,
c, thuc tính và s kin ca chúng.
foreach (Type type in assembly.GetTypes()){
Object obj =Activator.CreateInstance(type);
PropertyInfo[] memberInfo= type.GetProperties();
MethodInfo[] myMethodInfo = type.GetMethods();
}
11
3.1. K
CodeDOM (Code Document Object Model) [13] là mt API ca .NET
cho phép chúng ta vit ra nh ng sinh ra mã lnh và biên
dch mã lnh mt cách nhanh chóng và d dàng.
3
Hình 3.3: Mô hình các khái nin trong CodeDom.
3.3OM
Bảng 3.1: Thành phần chính trong Namespace System.CodeDom.
CodeNamespace
CodeNamespaceCollection
CodeNamespaceImport
namespace
CodeNamespaceImportCollection
namespace
- Các kiu c khai báo kiu cu trúc:
Bảng 3.2: Các kiểu của CodeDom để khai báo kiểu cấu trúc
CodeTypeDeclaration
IsInterface, IsStruct, and IsEnum.
CodeTypeDeclarationCollection
CodeTypeDelegate
12
- Các kiu c xây dng các thành phn:
Bảng 3.3: Các kiểu của CodeDom để xây dựng các thành phần.
CodeConstructor
CodeEntryPoint
.
CodeMemberEvent
CodeMemberField
CodeMemberMethod
CodeMemberProperty
CodeParameterDeclarationExp
ression
viên.
CodeTypeConstructor
CodeTypeMember
CodeTypeMemberCollection
MemberAttributes
3OM
+
CodeNamespace cNamespace = new CodeNamespace("TestScript");
cNamespace.Imports.Add(new CodeNamespaceImport("System"));
+
CodeTypeDeclaration cClass=new CodeTypeDeclaration("Test");
cNamespace.Types.Add(cClass);
+
CodeMemberField field1 = new CodeMemberField("Int32", "_length");
field1.Attributes = MemberAttributes.Private;
cClass.Members.Add(field1);
+
CodeMemberProperty property1 = new CodeMemberProperty();
property1.Name = "Length";
property1.Attributes = MemberAttributes.Public;
property1.Type = new CodeTypeReference("Int32");
+
13
CodeConstructor cConstructor = new CodeConstructor();
cConstructor.Attributes = MemberAttributes.Public;
CodeEntryPointMethod mainMethod = new CodeEntryPointMethod();
CodeMemberMethod cMethod = new CodeMemberMethod();
cMethod.Name = "Run";
cMethod.Attributes = MemberAttributes.Public;
4.1. API là gì?
API là vit tt ca Application Programming Interface (giao din lp
trình ng dng).
4
Các hàm (function)
Các cu trúc (structure)
Các ht tên (named constant)
Các hàm callback (callback function)
4
Hàm FindWindow() Hàm SetWindowText ()
Hàm GetFocus() Hàm GetCursorPos()
Hàm WindowFromPoint() Hàm mouse_event()
Hàm GetWindowRect() Hàm SetForegroundWindow()
Hàm GetWindow() Hàm GetDesktopWindow()
Hàm GetWindowLong() Hàm GetParent()
Hàm GetWindowText () Hàm GetWindowTextLength ()
Hàm GetMenu () Hàm GetMenuItemCount ()
Hàm GetMenuItemRect () Hàm GetMenuItemInfo ()
Hàm GetMessageExtraInfo () Hàm SetRect ()
5
14
c 1: Kho sát thông tin v lc, thuc tính trong phn mm
cn kim th
c 2: Sinh các ca kim th da trên các thông tin thu thc c 1
c 3: Sinh kch bn kim th cho các ca kim th thc hin vic kim
th
c 4: Thc thi kch bn kim th và ghi nhn kt qu
c 5: Trình bày kt qu
c 6: S dng li các kch bn kim th cho kim th hi quy và kim th
tích hp
5
Hình 5.1: Kin trúc ca công c kim th phn mm t ng
trình
n
kim tra (exe/dll)
Sinh các ca
kim th
các ca
kim th
Sa d liu các
ca kim th
Sinh kch bn
kim th
Thc thi ca kim
th
Xem kt qu
15
Bng k thuc
công c kim th t ng phn mm, nó có th kim th m
cho nhiu ng dng vit trên nn .NET. Công c m thi gian thit
k các ca kim th cho kim th viên bng cách sinh các ca kim th t
ng thch bn kim th t ng. Kch bn kim
th i dng d án C# rt thun li cho kim th viên có th
chnh sa. Công c không ch áp dng cho kim th m mà nó còn
có th s dng cho kim th hi quy và kim th tích hp bng cách s dng
li các kch bn kim th.
2.
g
Bảng 5.1: Dữ liệu các ca kiểm thử