Tải bản đầy đủ (.doc) (175 trang)

luận văn thạc sĩ kiểm thử dựa trên mô hình với cách tiếp cận mô hình hóa chuyên biệt miền

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 (3.41 MB, 175 trang )

Đ„I HÅC QUÈC GIA HÀ NËI
TRƯÍNG Đ„I HÅC CÔNG NGH›

Chu Thà Minh Hu»

KIšM THÛ DÜA TRÊN MÔ
HÌNH VÎI CÁCH TI˜P
CŠN MÔ HÌNH HÓA
CHUYÊN BI›T MI—N
LUŠN ÁN TI˜N Sß CÔNG NGH› THÔNG TIN

Hà Nëi - 2019


LI CAM OAN
Tụi xin cam oan luên ỏn Kim thỷ dỹa trờn mụ hỡnh vợi
cỏch tiáp cên mụ hỡnh húa chuyờn biằt miãn l cụng trỡnh nghiờn cựu
cừa riờng tụi. Cỏc số liằu, kát quÊ ủc trỡnh by trong luên ỏn l hon
ton trung thỹc v cha tứng ủc cụng bố trong bĐt k mởt cụng trỡnh
no khỏc.
Tụi ó trớch dăn Ưy ừ cỏc ti liằu tham khÊo, cụng trỡnh nghiờn
cựu liờn quan trong nợc v quốc tá. NgoÔi trứ cỏc ti liằu tham
khÊo ny, luên ỏn hon ton l cụng viằc cừa riờng tụi.
Trong cỏc cụng trỡnh khoa hồc ủc cụng bố trong luên ỏn, tụi ó
th hiằn rừ rng v chớnh xỏc úng gúp cừa cỏc ỗng tỏc giÊ v
nhỳng gỡ do tụi ó úng gúp.
Luên ỏn ủc hon thnh trong thới gian tụi lm Nghiờn cựu sinh tÔi
Bở mụn Cụng nghằ phƯn mãm, Khoa Cụng nghằ Thụng tin, Trớng
Ôi hồc Cụng nghằ, Ôi hồc Quốc gia H Nởi.
Tỏc giÊ:


H Nởi:

i


LI CM N
Trợc hát, tụi muốn by tọ sỹ biát n án PGS. TS. Nguyạn Ngồc
Bỡnh v TS. ng ực HÔnh, cỏn bở hợng dăn, cỏc thƯy ó trỹc tiáp
giÊng dÔy v nh hợng tụi trong suốt thới gian hồc cao hồc, thỹc hiằn
luên vn thÔc s cng nh luên ỏn ny. Mởt vinh dỹ lợn cho tụi ủc hồc
têp, nghiờn cựu dợi sỹ hợng dăn cừa cỏc ThƯy.
Tụi xin by tọ sỹ biát n sõu s-c án cỏc ThƯy Cụ trong Bở mụn
Cụng nghằ phƯn mãm vỡ sỹ giỳp ù cừa cỏc ThƯy Cụ vã cỏc úng gúp rĐt
hỳu ớch cho luên ỏn.
Tụi xin trõn trồng cÊm n Khoa Cụng nghằ thụng tin, Phũng
o tÔo v Ban giỏm hiằu trớng Ôi hồc Cụng nghằ ó tÔo iãu kiằn
thuên lủi cho tụi trong suốt quỏ trỡnh thỹc hiằn luên ỏn.
Tụi cng by tọ sỹ biát n án Trớng Ôi hồc S phÔm K thuêt
Hng Yờn ó tÔo iãu kiằn vã thới gian v ti chớnh cho tụi thỹc hiằn luên ỏn
ny. Tụi muốn cÊm n án Ban chừ nhiằm, cỏc cỏn bở, giÊng viờn Khoa
Cụng nghằ thụng tin - Trớng Ôi hồc S phÔm K thuêt Hng Yờn ó cờ
v ởng viờn v sỏt cỏnh bờn tụi trong suốt quỏ trỡnh nghiờn cựu.

Tụi muốn cÊm n án tĐt cÊ nhỳng ngới bÔn cừa tụi, nhỳng
ngới luụn chia s, ởng viờn tụi bĐt cự khi no tụi cƯn v tụi luụn ghi nhợ
iãu ú.
Cuối cựng, tụi xin by tọ lũng biát n vụ hÔn ối vợi cha mà,
chỗng, con v gia ỡnh ó luụn ừng hở v yờu thng tụi mởt cỏch vụ
iãu kiằn. Náu khụng cú sỹ ừng hở cừa gia ỡnh v chỗng con tụi khụng
th hon thnh ủc luên ỏn ny.


ii


iii

TểM TT
Luên ỏn ny trỡnh by mởt số phng phỏp cho phộp sinh tỹ ởng
cỏc ca kim thỷ chực nng mực hằ thống tứ cỏc ca sỷ dửng ỏp dửng cỏc
k thuêt kim thỷ dỹa trờn mụ hỡnh vợi hợng tiáp cên mụ hỡnh húa chuyờn
biằt miãn (Domain Specific Modeling - DSM ). Cử th, luên ỏn quan tõm
án phng phỏp c tÊ rừ rng cỏc ca sỷ dửng v cỏc ca kim thỷ bơng
cỏc mụ hỡnh trong cỏc ngụn ngỳ mụ hỡnh húa chuyờn biằt miãn v
phng phỏp chuyn tỹ ởng cỏc mụ hỡnh ca sỷ dửng sang mụ hỡnh ca
kim thỷ trong cỏc ngụn ngỳ c tÊ chuyờn biằt miãn. Cỏc úng gúp
chớnh cừa luên ỏn nh sau.
ã xuĐt ngụn ngỳ USL (Use Case Specification Language) c
tÊ rừ rng cỏc ca sỷ dửng, hợng án khÊ nng sinh tỹ ởng cỏc chá tỏc
phƯn mãm (software artifacts) khỏc nhau trong quy trỡnh phỏt trin phƯn
mãm bơng cỏc chuyn ời mụ hỡnh. Ngụn ngỳ ủc xõy dỹng vợi cỏch
tiáp cên mụ hỡnh húa chuyờn biằt miãn.
Xõy dỹng ngụn ngỳ TCSL (Test Case Specification Language)
c tÊ rừ rng cỏc ca kim thỷ. Ngụn ngỳ ủc xõy dỹng vợi cỏch tiáp cên
mụ hỡnh húa chuyờn biằt miãn.
ã xuĐt mởt phng phỏp USLTG (USL-based Test Generation)
sinh tỹ ởng cỏc ca kim thỷ tứ ca sỷ dửng bơng cỏch chuyn ời tỹ
ởng cỏc mụ hỡnh USL vo trong mởt mụ hỡnh TCSL.
Xõy dỹng bở cụng cử hộ trủ USL hiằn thỹc húa nhỳng ã xuĐt cừa
luên ỏn. Bở cụng cử hộ trủ USL cho phộp tớch hủp ngụn ngỳ USL vo trong
phng phỏp phỏt trin phƯn mãm hợng mụ hỡnh. Cử th, bở cụng cử cung

cĐp trỡnh soÔn thÊo tÔo cỏc mụ hỡnh USL mởt cỏc trỹc quan v cung cĐp
cỏc bở sinh tỹ ởng cỏc chá tỏc khỏc nhau tứ mụ hỡnh. Trồng tõm chớnh
cừa luên ỏn ny l sinh cỏc ca kim thỷ tỹ ởng tứ cỏc mụ hỡnh USL. Ngoi
ra, luên ỏn cng trỡnh by cỏc vớ dử nghiờn cựu ủc ỏp dửng cho cỏc
phng phỏp cừa luên ỏn, cung cĐp cỏc ỏnh giỏ cừa ngụn ngỳ USL vợi
cỏc ngụn ngỳ c tÊ khỏc, v so sỏnh phng phỏp USLTG vợi mởt số
phng phỏp sinh ca kim thỷ tứ ca sỷ dửng khỏc.

Tứ khúa: ca sỷ dửng, ca kim thỷ, sinh ca kim thỷ tỹ ởng, mụ
hỡnh húa chuyờn biằt miãn, USL, TCSL, USLTG.


Mửc lửc
Lới cam oan
Lới cÊm n

i
ii

Túm t-t

iii

Mửc lửc

iv

Danh mửc cỏc tứ viát t-t

vii


Danh mửc cỏc bÊng

ix

Danh mửc cỏc hỡnh v

x

Danh mửc cỏc thuêt toỏn

xii

Danh mửc cỏc c tÊ

xiii

Chng 1. Mé U

1

1.1 t vĐn ã . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Mửc tiờu nghiờn cựu v cỏc úng gúp chớnh cừa luên ỏn . . .
1.3 CĐu trỳc luên ỏn . . . . . . . . . . . . . . . . . . . . . . . . . .
Chng 2. KIN THC C Sé

1
5
9
11


2.1 Kim thỷ dỹa trờn ca sỷ dửng . . . . . . . . . . . . . . . . . .
2.1.1 Kim thỷ phƯn mãm . . . . . . . . . . . . . . . . . . . .
2.1.2 Ca sỷ dửng . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Xõy dỹng cỏc ca kim thỷ tứ ca sỷ dửng . . . . . . . .
2.2 Mụ hỡnh húa chuyờn biằt miãn . . . . . . . . . . . . . . . . . .
2.2.1 Mởt số khỏi niằm c bÊn . . . . . . . . . . . . . . . . .
2.2.2 Phng phỏp xõy dỹng DSML . . . . . . . . . . . . . .
2.2.3 Xõy dỹng DSML trong Eclipse . . . . . . . . . . . . . .
2.3 Chuyn ời mụ hỡnh . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Chuyn ời mụ hỡnh sang mụ hỡnh . . . . . . . . . . . .

11
11
22
25
27
27
28
31
32
32

iv


Nởi dung
2.3.2 Chuyn ời mụ hỡnh sang vn bÊn . . . . . . . . . . . .
2.4


Ngụn ngỳ rng buởc ối tủng OCL . . . . . . . . . . . . . . .
2.4.1 C bÊn vã OCL . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Cụng cử hộ trủ OCL . . . . . . . . . . . . . . . . . . . .
2.5 Tờng kát chng . . . . . . . . . . . . . . . . . . . . . . . . . .
Chng 3. C T CA S DệNG THEO HẻNG Mễ
3.1
3.2
3.3
3.4

3.5
3.6

3.7

HèNH HểA CHUYấN BIT MIN
Giợi thiằu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cỏc nghiờn cựu liờn quan . . . . . . . . . . . . . . . . . . . . .
Xỏc nh miãn cho ngỳ cÊnh c tÊ ca sỷ dửng . . . . . . . .
Cỳ phỏp cừa USL . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Cỳ phỏp trứu tủng cừa USL . . . . . . . . . . . . . . .
3.4.2 Cỏc luêt hủp lằ trờn siờu mụ hỡnh cừa USL . . . . . . .
3.4.3 Cỳ phỏp cử th cừa USL . . . . . . . . . . . . . . . . .
Ngỳ ngha hỡnh thực cừa mụ hỡnh USL . . . . . . . . . . . . .
Chuyn ời mụ hỡnh USL . . . . . . . . . . . . . . . . . . . . .
3.6.1 Sinh cỏc ca kim thỷ . . . . . . . . . . . . . . . . . . . .
3.6.2 Sinh cỏc mụ hỡnh cĐu trỳc v mụ hỡnh hnh vi . . . . .
3.6.3 Sinh TUCDs . . . . . . . . . . . . . . . . . . . . . . . .
Tờng kát chng . . . . . . . . . . . . . . . . . . . . . . . . . .


v
34
38
38
41
46
47
47
49
52
58
58
62
66
69
76
76
77
78
81

Chng 4. PHNG PHP SINH Tĩ ậNG CC CA KIM
TH Tỉ Mễ HèNH CA S DệNG V Mễ HèNH
KHI NIM MIN CếA H THẩNG
82
4.1 Giợi thiằu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
4.2 Cỏc nghiờn cựu liờn quan . . . . . . . . . . . . . . . . . . . . .
85
4.3 Tờng quan phng phỏp ã xuĐt . . . . . . . . . . . . . . . . .

88
4.4 Ngụn ngỳ c tÊ cỏc ca kim thỷ TCSL . . . . . . . . . . . .
89
4.4.1 Xỏc nh miãn cho ngỳ cÊnh c tÊ ca kim thỷ chực
nng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4.2
nh ngha siờu mụ hỡnh TCSL . . . . . . . . . . . . . 92
4.5 Chuyn ời mụ hỡnh tứ USL sang TCSL . . . . . . . . . . . .
96
4.5.1
Xỏc nh tiờu chớ phừ . . . . . . . . . . . . . . . . . . . 96
4.5.2 Sinh cỏc kch bÊn ca sỷ dửng v cỏc rng buởc . . . . 97
4.5.3
Sinh cỏc bở dỳ liằu Ưu vo kim thỷ . . . . . . . . . . 101
4.5.4
Sinh mụ hỡnh TCSL . . . . . . . . . . . . . . . . . . . . 106
4.6 Tờng kát chng . . . . . . . . . . . . . . . . . . . . . . . . . .
109
111
Chng 5. THĩC NGHIM V NH GI


Nëi dung
5.1 Giîi thi»u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vi
111

5.2 Công cö hé trñ USL . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Ví dö minh håa . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4 Đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Đánh giá ngôn ngú USL . . . . . . . . . . . . . . . . . .
5.4.2 Đánh giá phương pháp sinh các ca kiºm thû USLTG .
5.5 Têng k¸t chương . . . . . . . . . . . . . . . . . . . . . . . . . .
Chương 6. K˜T LUŠN VÀ HƯÎNG PHÁT TRIšN

112
115
122
122
129
133
134

6.1 Các đóng góp cõa luªn án . . . . . . . . . . . . . . . . . . . . .
6.2 Hưîng phát triºn . . . . . . . . . . . . . . . . . . . . . . . . . .
DANH MÖC CÁC CÔNG TRÌNH KHOA HÅC

135
137
140

TÀI LI›U THAM KHƒO

140


DANH MệC CC Tỉ VIT TT

Tứ viát t-t

ATL

DÔng Ưy ừ
ATLAS Transformation

Diạn giÊi
Ngụn ngỳ chuyn ời ATLAS

Language
DSL

Domain-Specific Language

Ngụn ngỳ chuyờn biằt miãn

DSM

Domain-Specific Modeling

Mụ hỡnh húa chuyờn biằt miãn

DSML

Domain-Specific Modeling

Ngụn ngỳ mụ hỡnh húa

Language

chuyờn biằt miãn


EMF

Eclipse Modeling Framework Khung mụ hỡnh húa eclipse

GMF

Graphical Modeling

Khung mụ hỡnh húa

Framework

ỗ hồa

Keyword-Driven Testing

Khung kim thỷ

Framework

hợng tứ khúa

Labelled Transition System

Hằ thống chuyn ủc

KDTF
LTS


gỏn nhón
MBT

Model-Based Testing

Kim thỷ dỹa trờn mụ hỡnh

MDD

Model-Driven Deverlop

Phỏt trin hợng mụ hỡnh

MDE

Model-Driven Engineering

K nghằ hợng mụ hỡnh

MOF

Meta-Object Facility

Phng tiằn siờu ối tủng

M2M

Model to Model

Mụ hỡnh sang mụ hỡnh


M2T

Model to Text

Mụ hỡnh sang vn bÊn

NLP

Natural Language Processing Xỷ lý ngụn ngỳ tỹ nhiờn

vii


Danh mửc cỏc tứ viát t-t
NTD

RNL
RSL

viii

Navigational Development

Cỏc k thuêt phỏt trin

Techniques

iãu hợng


Restricted-form of Natural

nh dÔng b giợi hÔn

Language

cừa ngụn ngỳ tỹ nhiờn

Requirements Specification

Ngụn ngỳ c tÊ yờu cƯu

Language
RUCM

Restricted Use Case

Mụ hỡnh húa ca sỷ dửng

Modeling

ủc giợi hÔn

OMG

Object Management Group

Nhúm quÊn lý ối tủng

OCL


Object Constraint Language

Ngụn ngỳ rng buởc ối tủng

TCSL

Test Case Specification

Ngụn ngỳ c tÊ

Language

ca kim thỷ

TSL

Test Specification Language

Ngụn ngỳ c tÊ kim thỷ

UCTM

Use Case Test Model

Mụ hỡnh kim thỷ ca sỷ dửng

UML

Unified Modeling Language


Ngụn ngỳ mụ hỡnh húa thống nhĐt

USL

Use Case Specication

Ngụn ngỳ c tÊ ca sỷ dửng

Language
USLTG

USL-based Test Generation

Sinh kim thỷ dỹa trờn
mụ hỡnh USL

XML

eXtensible Markup Language Ngụn ngỳ ỏnh dĐu m rởng


DANH MệC CC BNG
2.1
2.2
2.3
2.4

Mởt mău mụ tÊ ca sỷ dửng . . . . . . . . . . . . . . . . . . . .
Cỏc kch bÊn cừa ca sỷ dửng ng nhêp . . . . . . . . . . . .

Cỏc ca kim thỷ cho ca sỷ dửng ng nhêp . . . . . . . . . .
Cỏc ca kim thỷ cừa ca sỷ dửng ng nhêp vợi cỏc giỏ tr xỏc
nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Mụ tÊ cừa ca sỷ dửng Lend book . . . . . . . . . . . . . . . . .

24
25
26

3.2
3.3
3.4
4.1

66
72
74
91

Cỏc ký hiằu ỗ hồa cừa cỏc khỏi niằm trong mụ hỡnh USL . .
Danh sỏch cỏc hm ủc nh ngha trong D . . . . . . . . . .
Ngỳ ngha dỹa trờn LTS cừa cỏc khỏi niằm USL c bÊn . . .
Hai ca kim thỷ cừa ca sỷ dửng Lend book . . . . . . . . . . .

5.1 Mụ tÊ ca sỷ dửng Withdraw . . . . . . . . . . . . . . . . . . .

26
54

115


5.2 Cỏc bián Ưu vo v cỏc iãu kiằn gỏc ó ủc xỷ lý cừa cỏc
kch bÊn ca sỷ dửng Withdraw . . . . . . . . . . . . . . . . . .
119
5.3 Cỏc ối tủng EV ủc sinh cừa cỏc kch bÊn ca sỷ dửng
Withdraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
119
5.4 Cỏc ca kim thỷ ủc sinh cừa ca sỷ dửng Lend book . . . . . 120
5.5 So sỏnh khÊ nng diạn tÊ giỳa cỏc ngụn ngỳ c tÊ ca sỷ dửng 124
5.6 Số cỏc kch bÊn ủc sinh trong mởt số nghiờn cựu . . . . . . 130
5.7 Sỹ so sỏnh cỏc thụng tin ủc xỏc nh v ngụn ngỳ c tÊ
kim thỷ cừa cỏc phng phỏp . . . . . . . . . . . . . . . . . .
131

ix


DANH MệC CC HèNH V
1.1 Ngỳ cÊnh nghiờn cựu, phng phỏp thỹc hiằn, v cỏc úng
gúp cừa luên ỏn. . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 CĐu trỳc luên ỏn. . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Cỏc pha kim thỷ v phỏt trin trong mụ hỡnh chỳ V [50]. . .

6
9
14

2.2 Quy trỡnh kim thỷ dỹa trờn mụ hỡnh [9]. . . . . . . . . . . .
16
2.3 Cỏc vớ dử cừa biu ỗ hoÔt ởng vợi cỏc cĐu trỳc lp [39]. . .

19
2.4 Vớ dử cừa biu ỗ hoÔt ởng cú chựa cỏc hnh ởng ỗng
thới [39]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.5 Biu ỗ ca sỷ dửng cừa hằ thống ng ký khúa hồc n giÊn. 22
2.6 Cỏc luỗng sỹ kiằn trong mởt ca sỷ dửng [26]. . . . . . . . . .
23
2.7 Mởt vớ dử vã siờu mụ hỡnh. . . . . . . . . . . . . . . . . . . . .
29
2.8 Cỏc kiu chuyn mụ hỡnh: (a) chuyn ngoÔi sinh v (b) chuyn
nởi sinh [9]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
2.9 Mởt phƯn siờu mụ hỡnh cừa sWML v MVC [9]. . . . . . . .
33
2.10 Cỏc mău, mỏy mău, v mụ hỡnh nguỗn cung cĐp vn bÊn [9]. 35
2.11 Cỏc ca sỷ dửng thâm nh v kim chựng [18]. . . . . . . . . .
42
2.12 Ưu vo v Ưu ra cừa cỏc ca sỷ dửng [18]. . . . . . . . . . . .
42
2.13 Biu ỗ ối tủng OMfull . . . . . . . . . . . . . . . . . . . . . .
45
3.1 Mụ hỡnh ca sỷ dửng n giÊn v mụ hỡnh cỏc khỏi niằm cừa

3.2
3.3
3.4
3.5
3.6
3.7


hằ thống Library. . . . . . . . . . . . . . . . . . . . . . . . . .
Biu ỗ hoÔt ởng c tÊ luỗng iãu khin cừa ca sỷ dửng
Lend book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Siờu mụ hỡnh USL. . . . . . . . . . . . . . . . . . . . . . . . . .
Vớ dử th hiằn cừa siờu mụ hỡnh USL. . . . . . . . . . . . . . .
c tÊ ca sỷ dửng Lend Book bơng mởt mụ hỡnh USL. . . . .
Mởt snapshot cừa ca sỷ dửng Lend Book. . . . . . . . . . . . .
Tằp TUCD ủc sinh cừa ca sỷ dửng Lend book. . . . . . . .
x

52
56
59
60
68
75
80


Danh mửc cỏc hỡnh v
4.1 Tờng quan cừa cỏch tiáp cên USLTG. . . . . . . . . . . . . . .
4.2
4.3
4.4
4.5

xi
88

Siờu mụ hỡnh cừa TCSL. . . . . . . . . . . . . . . . . . . . . .

Lu ỗ thuêt toỏn cừa Thừ tửc GenerateScenarios. . . . . . .
Lu ỗ thuêt toỏn cừa Thuêt toỏn GenTestInputData. . . . .
Biu ỗ lợp mụ hỡnh cỏc khỏi niằm cừa hằ thống Library v
biu ỗ cỏc ối tủng. . . . . . . . . . . . . . . . . . . . . . . .
4.6 Lu ỗ thuêt toỏn cừa Thuêt toỏn GenTCSLModel. . . . . .
4.7 Cỏc ca kim thỷ trong BÊng 4.1 ủc c tÊ trong mụ hỡnh
TCSL.................................
5.1 Cỏc thnh phƯn chớnh cừa cụng cử USL. . . . . . . . . . . . .

93
100
104

5.2
5.3
5.4
5.5
5.6

114
114
116
117
118

Kián trỳc cừa bở sinh USLTG. . . . . . . . . . . . . . . . . . .
Giao diằn cụng cử hộ trủ USL. . . . . . . . . . . . . . . . . . .
Mụ hỡnh USL cừa ca sỷ dửng Withdraw. . . . . . . . . . . . .
Mụ tÊ theo mău ủc sinh cừa ca sỷ dửng Withdraw. . . . . .
Biu ỗ lợp cừa ATM v mởt hỡnh chửp hằ thống. . . . . . . .


105
107
108
112


DANH MÖC CÁC THUŠT TOÁN
4.1 GenScenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 GenTestInputData . . . . . . . . . . . . . . . . . . . . . . . . .

98
102

4.3 GenTCSLModel . . . . . . . . . . . . . . . . . . . . . . . . . . .

106

xii


DANH MệC CC C T
2.1 Vớ dử mởt chng trỡnh chuyn trong ATL [9]. . . . . . . . .
2.2 Vớ dử mởt chng trỡnh chuyn trong Acceleo [9]. . . . . . .
2.3 Vớ dử mụ hỡnh Employee trong mụi trớng c tÊ dỹa trờn
UML.................................
2.4 Mụ hỡnh lợp CM trong cụng cử USE. . . . . . . . . . . . . . .
2.5 Tằp cĐu hỡnh CONF. . . . . . . . . . . . . . . . . . . . . . . .
2.6 Cỏc rng buởc bĐt bián INVS. . . . . . . . . . . . . . . . . . .
2.7 Cỏc ối tủng v liờn kát ó ủc xỏc nh trong biu ỗ lợp


34
37

OMpartial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Chuyn USL2TUCD . . . . . . . . . . . . . . . . . . . . . . .
3.2 Chuyn libraryUCD . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Tằp XML lu mụ hỡnh TCSL cừa ca sỷ dửng Withdraw . . .

44

xiii

39
43
44
44

79
80
121


Chng 1
Mé U
1.1

t vĐn ã

Ngy nay, cỏc hằ thống phƯn mãm cng ngy cng tr nờn phực tÔp

v ủc ựng dửng rởng rói trong hƯu hát lnh vỹc cừa ới sống xó hởi.
tng tớnh cÔnh tranh cừa cỏc sÊn phâm phƯn mãm, chi phớ phỏt trin phƯn
mãm cƯn phÊi ủc c-t giÊm trong khi chĐt lủng phƯn mãm phÊi ủc
nõng cao. Kim thỷ phƯn mãm (software testing) l mởt hoÔt ởng quan
trồng Êm bÊo chĐt lủng phƯn mãm. HoÔt ởng ny chiám nhiãu thới
gian v chi phớ trong phỏt trin phƯn mãm thớng tứ 30-60% [71]. Khi kim
thỷ mởt ựng dửng, cỏc kim thỷ viờn s xõy dỹng cỏc ca kim thỷ (test
cases) dỹa trờn ti liằu Ưu vo, sau ú khi cú chng trỡnh phƯn mãm thỡ
thỹc thi cỏc ca kim thỷ thừ cụng hoc tỹ ởng bơng cỏc cụng cử thỹc thi
kim thỷ tỹ ởng.
Trong thỹc tá, cỏc yờu cƯu phƯn mãm thớng hay thay ời trong suốt
quy trỡnh phỏt trin phƯn mãm. Khi cỏc yờu cƯu phƯn mãm thay ời, cỏc ca
kim thỷ liờn quan phÊi ủc xõy dỹng v thỹc thi lÔi (kim thỷ hỗi quy).
Vỡ vêy, nhỳng nộ lỹc ủc yờu cƯu xỏc nh, bÊo trỡ, v thỹc thi cỏc
ca kim thỷ khi cỏc yờu cƯu thay ời l rĐt lợn. ối vợi hoÔt ởng kim thỷ
phƯn mãm, giÊi phỏp sinh v thỹc thi cỏc ca kim thỷ mởt cỏch tỹ ởng
giỳp tiát kiằm rĐt nhiãu thới gian v cỏc nộ lỹc cng nh giÊm ủc số
lủng cỏc lội v cỏc sai sút trong hoÔt ởng kim thỷ phƯn mãm. Do ú,
nhiãu nghiờn cựu ó ã xuĐt cỏc giÊi phỏp tng tớnh tỹ ởng trong phỏt
trin phƯn mãm cng nh hoÔt ởng kim thỷ phƯn mãm.
1


M Ưu

2

Hiằn tÔi trong thỹc tá, kim thỷ tỹ ởng têp trung vo thỹc thi kim thỷ
tỹ ởng, cũn vĐn ã sinh cỏc ca kim thỷ tỹ ởng cha ủc giÊi quyát
triằt . Trong cỏc quy trỡnh kim thỷ phƯn mãm, quy trỡnh kim thỷ dỹa

trờn mụ hỡnh (Model-Based Testing - MBT ) ây mÔnh mực ở tỹ ởng
húa cao hn [71]. Quy trỡnh ny khụng ch tỹ ởng húa trong thỹc thi
kim thỷ m cũn tỹ ởng húa trong sinh cỏc ca kim thỷ. Lủi ớch chớnh
cừa MBT l tÔo iãu kiằn thuên lủi cho viằc duy trỡ bở kim thỷ v phừ
cừa bở kim thỷ. Khi tián húa phƯn mãm, cỏc mụ hỡnh ủc cêp nhêt, sau
ú bở kim thỷ ủc sinh cêp nhêt mởt cỏch tỹ ởng. Vợi ý ngha to lợn
cừa MBT trong cụng nghiằp phƯn mãm, phng phỏp ny ang l mởt
giÊi phỏp tối u giỳp tng tớnh tỹ ởng, tng nng suĐt, tng chĐt lủng,
v giÊm chi phớ trong phỏt trin phƯn mãm núi chung v trong kim thỷ núi
riờng. Quy trỡnh MBT gỗm nm bợc chớnh l (1) mụ hỡnh húa, (2) sinh
cỏc ca kim thỷ, (3) sinh cỏc têp lằnh thỹc thi kim thỷ (test scripts), (4)
thỹc thi kim thỷ, (5) phõn tớch cỏc ca kim thỷ ủc minh hồa nh Hỡnh
2.2. Trong ú, ba bợc cuối cựng ó ủc giÊi quyát rĐt tốt bơng cỏc
cụng cử thỹc thi kim thỷ tỹ ởng thng mÔi hoc miạn phớ trờn th
trớng. Hai bợc Ưu tiờn l (1) mụ hỡnh húa v (2) sinh cỏc ca kim thỷ
cũn gp nhiãu thỏch thực vợi cởng ỗng nghiờn cựu.
Trong hoÔt ởng kim thỷ phƯn mãm, cỏc yờu cƯu chực nng (functional
software requirements) cừa phƯn mãm l Ưu vo xõy dỹng cỏc ca kim
thỷ chực nng. Cỏc yờu cƯu chực nng phƯn mãm thớng ủc cĐu trỳc v
biu diạn bơng cỏc ca sỷ dửng. Mởt mụ hỡnh ca sỷ dửng thớng ủc c tÊ
bơng cỏc biu ỗ ca sỷ dửng v cỏc mụ tÊ cừa cỏc ca sỷ dửng dÔng vn
bÊn cú cĐu trỳc theo mău [53]. Vợi dÔng th hiằn ny thỡ mụ hỡnh ca sỷ dửng
s tÔo iãu kiằn thuên lủi cho cỏc bờn liờn quan trong phỏt trin phƯn mãm dạ
dng ồc, hồc, v sỷ dửng chỳng. Tuy nhiờn, cỏc mụ tÊ ca sỷ dửng trong
ngụn ngỳ tỹ nhiờn l rĐt khú xỏc nh tỹ ởng cỏc thụng tin ủc mụ tÊ
trong nú. Vỡ vêy, bi toỏn sinh cỏc ca kim thỷ chực nng tỹ ởng tứ mụ
hỡnh ca sỷ dửng văn cũn rĐt nhiãu thỏch thực.
Nhiãu nghiờn cựu nh trong [7, 11, 23, 24, 41, 43, 51, 58, 65, 67, 73] ó
ch dăn cỏc cỏch tiáp cên sinh tỹ ởng cỏc ca kim thỷ tứ mụ hỡnh ca sỷ
dửng. Mởt số nghiờn cựu nh trong [58, 73] ó ã xuĐt phng phỏp sinh tỹ ởng cỏc ca

kim thỷ chực nng tứ cỏc c tÊ ca sỷ dửng trong ngụn ngỳ tỹ nhiờn theo mău vợi cỏc luêt hÔn chá v
cỏc tứ khúa. sinh tỹ ởng ủc


M Ưu

3

cỏc ca kim thỷ, Ưu tiờn cỏc nghiờn cựu ny sỷ dửng k thuêt xỷ lý ngụn
ngỳ tỹ nhiờn sinh cỏc mụ hỡnh trung gian. Sau ú, cỏc mụ hỡnh trung
gian ny ủc sỷ dửng sinh cỏc ca kim thỷ. Tuy nhiờn, cỏc ngụn ngỳ
ủc sỷ dửng c tÊ trong cỏc nghiờn cựu ny l cỏc ngụn ngỳ khụng
hỡnh thực (informal) (khụng cú cỳ phỏp trứu tủng). Vỡ vêy, viằc Êm bÊo
tớnh ỳng -n cừa cỏc c tÊ cng nh sinh cỏc mụ hỡnh trung gian phÊi
sỷ dửng cỏc k thuêt xỷ lý ngụn ngỳ tỹ nhiờn vốn khú v ch ủc ỏp
dửng cho mởt ngụn ngỳ cử th. Hn nỳa, cỏc rng buởc ủc mụ tÊ
trong ngụn ngỳ tỹ nhiờn nờn muốn sinh ủc dỳ liằu kim thỷ cƯn phÊi
c tÊ chớnh xỏc lÔi cỏc rng buởc ny.
Nhiãu nghiờn cựu ã xuĐt sỷ dửng biu ỗ hoÔt ởng v tuƯn tỹ trong
UML c tÊ cỏc thụng tin mụ tÊ trong ca sỷ dửng, sau ú sinh cỏc ca
kim thỷ nh trong [24, 51, 67]. Tuy nhiờn, cỏc nghiờn cựu ny chừ yáu
têp trung ã xuĐt phng phỏp c tÊ phõn biằt ủc hnh ởng cừa
tỏc nhõn v hằ thống bơng cỏc biu ỗ trong UML cho mửc ớch sinh
cỏc ca kim thỷ trứu tủng (kch bÊn kim thỷ) m khụng ã cêp án sinh
tỹ ởng dỳ liằu cử th cho cỏc ca kim thỷ.
Mởt số nghiờn cựu khỏc ó ã xuĐt cỏch tiáp cên sinh tỹ ởng cỏc ca
kim thỷ chực nng tứ cỏc mụ hỡnh ca sỷ dửng ủc c tÊ trong cỏc ngụn
ngỳ chuyờn biằt miãn (Domain-Specific Language - DSL). Nh nghiờn cựu
trong [23], cỏc mụ tÊ cừa ca sỷ dửng ủc c tÊ trong ngụn ngỳ chuyờn
biằt miãn tờn l NDT (Navigational Development Techniques) ủc ã xuĐt

trong [16]. Tuy nhiờn, nghiờn cựu khụng ã cêp án phng phỏp xỏc nh
cỏc giỏ tr kim thỷ cho cỏc kch bÊn kim thỷ. Trong nghiờn cựu [65], cỏc
mụ tÊ ca sỷ dửng ủc c tÊ trong ngụn ngỳ RSL (Requirements
Specification Language) ó ủc ã xuĐt trong [63] sinh cỏc ca kim thỷ
chực nng. Cỏc ca kim thỷ ủc sinh cng ủc c tÊ rừ rng trong ngụn
ngỳ c tÊ kim thỷ tờn l TSL (Test Specification Language). Tuy nhiờn
trong nghiờn cựu ny, dỳ liằu kim thỷ ủc xỏc nh nh cỏc mụ tÊ vã iãu
kiằn thay vỡ l cỏc giỏ tr cử th.
Nh ó phõn tớch trờn sinh tỹ ởng cỏc ca kim thỷ chực nng tứ mụ hỡnh ca sỷ dửng, Ưu
tiờn cỏc nghiờn cựu ã xuĐt sỷ dửng mởt ngụn ngỳ c tÊ c tÊ cỏc thụng tin mụ tÊ trong ca sỷ
dửng. Sau ú, cỏc nghiờn cựu sỷ dửng cỏc c tÊ ny sinh tỹ ởng cỏc ca kim thỷ. Trong quỏ trỡnh
khÊo sỏt cỏc phng phỏp c tÊ cỏc thụng tin mụ tÊ trong ca


M Ưu

4

sỷ dửng, luên ỏn nhên thĐy rơng mụ hỡnh ca sỷ dửng l chá tỏc (artifact)
trung tõm trong phỏt trin phƯn mãm. Cỏc mụ hỡnh ca sỷ dửng khụng ch l
Ưu vo xõy dỹng cỏc ca kim thỷ chực nng m cũn l Ưu vo xõy
dỹng cỏc mụ hỡnh cĐu trỳc (biu ỗ lợp, biu ỗ trÔng thỏi, v.v.), cỏc mụ hỡnh
hnh vi (biu ỗ tuƯn tỹ, biu ỗ hoÔt ởng, v.v.), v lm ti liằu cho hằ
thống. tng tớnh tỹ ởng húa trong phỏt trin phƯn mãm, cỏc mụ hỡnh ca
sỷ dửng khụng ch cƯn ủc tớch hủp vo phng phỏp kim thỷ hợng mụ
hỡnh m cng cƯn ủc tớch hủp vo trong phng phỏp phỏt trin hợng
mụ hỡnh (Model-Driven Development - MDD). MDD cho phộp sỷ dửng mụ
hỡnh ca sỷ dửng l mụ hỡnh trung tõm sinh tỹ ởng cỏc ca kim thỷ, cỏc
mụ hỡnh cĐu trỳc, cỏc mụ hỡnh hnh vi. Vỡ vêy, cỏc ca sỷ dửng cƯn ủc c
tÊ rừ rng v ừ cỏc thụng tin cƯn thiát sinh tỹ ởng cỏc chá tỏc khỏc

nhau trong phỏt trin phƯn mãm. Trong cỏc nghiờn cựu m luên ỏn ó khÊo
sỏt, cú hai nghiờn cựu ó ã xuĐt cỏc ngụn ngỳ c tÊ RSL [63] v
SelabReq [59] vợi mửc ớch cho phộp tớch hủp c tÊ ca sỷ dửng vo trong
phng phỏp phỏt trin hợng mụ hỡnh. Tuy nhiờn, thụng tin mụ tÊ trong
cỏc ca sỷ dửng ủc c tÊ trong RSL khụng ừ chi tiát sinh ủc dỳ
liằu kim thỷ cử th nh trong nghiờn cựu [65] ó ã cêp
trờn. Ngụn ngỳ SelabReq ch ã cêp án khÊ nng sinh cỏc mụ hỡnh cĐu
trỳc v mụ hỡnh hnh vi m khụng ã cêp án viằc sinh cỏc ca kim thỷ.
Mc dự ó cú nhiãu nghiờn cựu quan tõm giÊi quyát bi toỏn sinh cỏc ca kim thỷ chực nng tứ mụ
hỡnh ca sỷ dửng, cng nh bi toỏn c tÊ thụng tin mụ tÊ trong ca sỷ dửng tớch hủp vo trong
phng phỏp phỏt trin hợng mụ hỡnh. Tuy nhiờn, bi toỏn ny văn cũn mởt số thỏch thực t ra nh
sau: thỏch thực thự nhĐt l mởt ngụn ngỳ c tÊ chuyờn biằt miãn cho phộp c tÊ cỏc thụng tin trong
ca sỷ dửng rừ rng v ừ chi tiát cú th tớch hủp mụ hỡnh ca sỷ dửng vo trong phng phỏp phỏt
trin hợng mụ hỡnh. Viằc tớch hủp mụ hỡnh ca sỷ dửng vo trong phng phỏp phỏt trin hợng mụ
hỡnh cho phộp sinh tỹ ởng cỏc ca kim thỷ, mụ hỡnh cĐu trỳc, mụ hỡnh hnh vi, v lm ti liằu. Cử th
trong luên ỏn ny, chỳng tụi têp trung vo hiằn thỹc húa khÊ nng sinh tỹ ởng cỏc ca kim thỷ. Thỏch
thực thự hai l mởt phng phỏp sinh tỹ ởng cỏc ca kim thỷ cú chựa cỏc thụng tin cƯn thiát cú th
sinh v thỹc thi tỹ ởng cỏc têp lằnh thỹc thi kim thỷ bơng cỏc cụng cử thỹc thi kim thỷ tỹ ởng.
Thỏch thực thự ba l mởt ngụn ngỳ c tÊ chuyờn biằt miãn c tÊ rừ rng v Ưy


M Ưu

5

ừ cỏc thụng tin cừa cỏc ca kim thỷ ủc sinh. Thỏch thực cuối cựng l
mởt cụng cử ừ tốt cho phộp tớch hủp ca sỷ dửng vo trong phng
phỏp phỏt trin phƯn mãm hợng mụ hỡnh cho mửc ớch sinh tỹ ởng cỏc
chá tỏc phƯn mãm khỏc nhau tứ mụ hỡnh ca sỷ dửng, trong ú cú sinh tỹ
ởng cỏc ca kim thỷ chực nng.

giÊi quyát cỏc thỏch thực trờn, luên ỏn hợng án giÊi quyát bi
toỏn trong ngỳ cÊnh phỏt trin hợng mụ hỡnh v têp trung vo sinh tỹ
ởng cỏc ca kim thỷ chực nng tứ cỏc ca sỷ dửng theo phng phỏp
kim thỷ dỹa trờn mụ hỡnh. Ưu tiờn, luên ỏn ã xuĐt phng phỏp c tÊ
rừ rng cỏc thụng tin mụ tÊ trong ca sỷ dửng v cỏc ca kim thỷ bơng
cỏch tiáp cên mụ hỡnh húa chuyờn biằt miãn (Domain-Specific Modeling DSM ). Sau ú, luên ỏn ã xuĐt phng phỏp sinh tỹ ởng cỏc ca kim
thỷ tứ ca sỷ dửng. Cuối cựng, luên ỏn xõy dỹng cỏc cụng cử hộ trủ cho
cỏc phng phỏp ó ã xuĐt cho phộp tớch hủp ca sỷ dửng vo trong
phng phỏp phỏt trin hợng mụ hỡnh v ỏnh giỏ cỏc phng phỏp
ó ã xuĐt vợi cỏc phng phỏp hiằn tÔi khỏc.
ối tủng nghiờn cựu cừa luên ỏn l cỏc mụ hỡnh ca sỷ dửng, cỏc ca
kim thỷ chực nng, v phng phỏp xỏc nh cỏc ca kim thỷ chực nng
tứ ca sỷ dửng, phng phỏp tỹ ởng húa trong kim thỷ phƯn mãm ỏp dửng
cho kim thỷ chực nng. thỹc hiằn mửc tiờu sinh tỹ ởng cỏc ca kim thỷ
chực nng tứ cỏc ca sỷ dửng, luên ỏn sỷ dửng phng phỏp kim thỷ dỹa
trờn mụ hỡnh vợi hợng tiáp cên mụ hỡnh húa chuyờn biằt miãn.

1.2

Mửc tiờu nghiờn cựu v cỏc úng gúp chớnh
cừa luên ỏn

Mửc tiờu cừa luên ỏn l t ca sỷ dửng vo trong ngỳ cÊnh cừa quy trỡnh
kim thỷ dỹa trờn mụ hỡnh. iãu ny cho phộp tỹ ởng húa hoÔt ởng kim
thỷ chực nng m Ưu vo l cỏc yờu cƯu chực nng cừa phƯn mãm. Hỡnh
1.1 minh hồa tờng quan nghiờn cựu cừa luên ỏn. Trong ú, cỏc Bợc

(1) mụ hỡnh húa, Bợc (2) sinh cỏc ca kim thỷ, Bợc (3) sinh cỏc têp
lằnh thỹc thi kim thỷ, Bợc (4) thỹc thi kim thỷ, v Bợc 5 phõn tớch cỏc
ca kim thỷ l nm bợc chớnh trong quy trỡnh kim thỷ dỹa trờn mụ hỡnh.

Luên ỏn têp trung vo hai bợc Ưu tiờn cũn nhiãu thỏch thực trong quy


M Ưu

6

trỡnh kim thỷ dỹa trờn mụ hỡnh cho bi toỏn kim thỷ chực nng tứ cỏc ca
sỷ dửng l Bợc (1) mụ hỡnh húa cỏc yờu cƯu v Bợc (2) sinh cỏc ca kim
thỷ tỹ ởng. Cỏc Bợc (3), (4), (5) ó ủc cung cĐp Ưy ừ bi cỏc cụng
cử thỹc thi kim thỷ tỹ ởng ủc trin khai rởng rói trong thỹc tá. Ôt
ủc mửc ớch tỹ ởng húa hon ton, cỏc ca kim thỷ ủc sinh trong
Bợc (2) cƯn chựa Ưy ừ cỏc thụng tin cƯn thiát l Ưu vo cho Bợc (3)
sinh v Bợc (4) thỹc thi tỹ ởng cỏc têp lằnh thỹc thi kim thỷ bơng cỏc
cụng cử thỹc thi kim thỷ tỹ ởng. Ngoi ra mửc tiờu hợng tợi cừa luên ỏn l
khụng ch t ca sỷ dửng vo trong ngỳ cÊnh cừa quy trỡnh kim thỷ dỹa
trờn mụ hỡnh m cũn t ca sỷ dửng trong ngỳ cÊnh phỏt trin hợng mụ
hỡnh núi chung. Mửc ớch ny cho phộp sinh tỹ ởng cỏc Ưu ra khỏc nhau
tứ mụ hỡnh ca sỷ dửng nh cỏc ca kim thỷ, cỏc mụ hỡnh cĐu trỳc, cỏc mụ
hỡnh hnh vi, cng nh sỷ dửng lm ti liằu c tÊ yờu cƯu phƯn mãm.
giÊi quyát bi toỏn ny, luên ỏn ó Ôt ủc bốn úng gúp chớnh nh ủc
th hiằn trong phƯn phớa trờn cừa Hỡnh 1.1.

Hỡnh 1.1: Ngỳ cÊnh nghiờn cựu, phng phỏp thỹc hiằn, v cỏc
úng gúp cừa luên ỏn.


M Ưu

7


Thự nhĐt, luên ỏn ã xuĐt mởt phng phỏp c tÊ ca sỷ dửng vợi cỏch
tiáp cên mụ hỡnh húa chuyờn biằt miãn. thỹc hiằn mửc tiờu ny, luên ỏn ã
xuĐt ngụn ngỳ c tÊ chuyờn biằt miãn cho ca sỷ dửng tờn l USL (Use
case Specification Language) vợi cỳ phỏp trứu tủng, cỳ phỏp cử th, v têp
cỏc luêt rng buởc trờn cỳ phỏp trứu tủng. cung cĐp mởt ngỳ ngha
thỹc thi cho ngụn ngỳ, luên ỏn ỏnh xÔ mởt mụ hỡnh USL sang mởt hằ thống
chuyn trÔng thỏi ủc gỏn nhón. Sỹ khỏc biằt cừa phng phỏp ã xuĐt
ối vợi cỏc nghiờn cựu trợc õy th hiằn khÊ nng c tÊ rừ rng v ừ
cỏc thụng tin mụ tÊ vã cĐu trỳc v hnh vi trong ca sỷ dửng bơng cỏc khỏi
niằm chuyờn biằt cho miãn ca sỷ dửng. Vỡ vêy, USL em lÔi khÊ nng tớch
hủp ca sỷ dửng vo trong phng phỏp phỏt trin hợng mụ hỡnh v dạ hiu
vợi cỏc bờn liờn quan phi k thuêt (non-technical stakeholders).
Thự hai, luên ỏn ã xuĐt mởt phng phỏp c tÊ ca kim thỷ. thỹc
hiằn ý tng ny, luên ỏn tián hnh khÊo sỏt miãn c tÊ cỏc ca kim thỷ
chực nng. Cỏc thụng tin cƯn thiát cỏc ca kim thỷ chực nng cú th l
Ưu vo cho cỏc cụng cử kim thỷ tỹ ởng sinh v thỹc thi tỹ ởng cỏc têp
lằnh thỹc thi kim thỷ. Ká tiáp, luên ỏn ã xuĐt ngụn ngỳ c tÊ chuyờn biằt
miãn tờn l TCSL (Test Case Specification Language) vợi cỳ phỏp trứu
tủng v têp cỏc luêt rng buởc hủp lằ. Sỹ khỏc biằt cừa phng phỏp ó
ã xuĐt vợi cỏc nghiờn cựu trợc õy l ngụn ngỳ TCSL cho phộp c tÊ
thụng tin cừa cỏc ca kim thỷ rừ rng v chi tiát hn cho mửc ớch sỷ dửng
l Ưu vo sinh v thỹc thi tỹ ởng cỏc têp lằnh thỹc thi kim thỷ. Ngụn
ngỳ cho phộp c tÊ cỏc thụng tin nh cỏc bợc kim thỷ, ối tủng kim
thỷ, hnh ởng trờn ối tủng kim thỷ, loÔi im kim tra (checkpoint type),
dỳ liằu Ưu vo, dỳ liằu Ưu ra mong ủi, tiãn v hêu iãu kiằn cừa cỏc ca
kim thỷ. Trong khi cỏc ngụn ngỳ c tÊ ca kim thỷ cừa cỏc nghiờn cựu
khỏc ch c tÊ bợc kim thỷ v dỳ liằu kim thỷ. Ngoi ra, dỳ liằu kim thỷ
ủc xỏc nh dỹa vo trÔng thỏi bờn trong cừa hằ thống trợc khi ca sỷ
dửng ủc thỹc thi. Tuy nhiờn, khụng cú ngụn ngỳ c tÊ ca kim thỷ no

ó ủc ã xuĐt c tÊ cỏc trÔng thỏi bờn trong cừa hằ thống trợc khi thỹc
hiằn kim thỷ, trong khi thụng tin ny ủc TCSL c tÊ.
Thự ba, luên ỏn ã xuĐt phng phỏp USLTG (USL-based Test Generation) chuyn tỹ ởng tứ cỏc mụ hỡnh ca sỷ dửng trong USL, v mụ
hỡnh lợp cỏc khỏi niằm miãn cừa hằ thống sang mụ hỡnh c tÊ ca kim thỷ
TCSL. TÔi mực kim thỷ hằ thống, cỏc yờu cƯu chực nng phƯn mãm ủc


M Ưu

8

sỷ dửng l Ưu vo xỏc nh cỏc ca kim thỷ chực nng. sinh tỹ ởng
cỏc ca kim thỷ tứ ca sỷ dửng, cỏc thụng tin mụ tÊ trong cỏc ca sỷ dửng ủc
c tÊ rừ rng bơng cỏc mụ hỡnh USL. Sau ú, cỏc mụ hỡnh USL ny kát hủp
vợi mụ hỡnh lợp c tÊ cỏc khỏi niằm miãn cừa hằ thống ủc sỷ dửng l Ưu
vo sinh cỏc kch bÊn, cỏc trÔng thỏi bờn trong hằ thống trợc khi ca sỷ
dửng ủc thỹc hiằn, v cỏc dỳ liằu kim thỷ. Cuối cựng, cỏc thụng tin cừa cỏc
ca kim thỷ ó ủc sinh ủc chuyn vo trong mởt mụ hỡnh TCSL. Sỹ khỏc
biằt cừa phng phỏp ó ã xuĐt ối vợi cỏc nghiờn cựu trợc õy th hiằn,
thụng tin cỏc ca kim thỷ chực nng ủc xỏc nh ừ chi tiát v rừ rng cú
th l Ưu vo cho cỏc cụng cử thỹc thi kim thỷ tỹ ởng cú th sinh v thỹc thi
tỹ ởng cỏc têp lằnh thỹc thi kim thỷ. Cử th thụng tin cỏc ca kim thỷ ủc
xỏc nh gỗm: cỏc bợc kim thỷ, kiu cừa bợc kim thỷ, hnh ởng v ối
tủng cừa bợc kim thỷ, trÔng thỏi bờn trong cừa hằ thống, dỳ liằu kim thỷ cử
th. Trong khi cỏc nghiờn cựu khỏc ch xỏc nh ủc thụng tin mụ tÊ cỏc
bợc kim thỷ v dỳ liằu kim thỷ dÔng mụ tÊ. Hn nỳa, cỏc ca kim thỷ
ủc sinh ủc c tÊ rừ rng bơng mởt mụ hỡnh trong TCSL. iãu ny tÔo
iãu kiằn thuên lủi thỹc thi v chuyn ời giỳa cỏc nh dÔng khỏc nhau cừa
cỏc ca kim thỷ.


Cuối cựng, luên ỏn xõy dỹng bở cụng cử hộ trủ USL. Cụng cử ny cho
phộp tớch hủp ca sỷ dửng vo trong phng phỏp phỏt trin hợng mụ
hỡnh. Cụng cử gỗm mởt trỡnh soÔn thÊo cỏc mụ hỡnh USL v cỏc bở sinh tỹ
ởng cỏc chá tỏc khỏc nhau tứ cỏc mụ hỡnh USL. Trong phÔm vi luên ỏn,
luên ỏn têp trung xõy dỹng bở sinh tỹ ởng cỏc ca kim thỷ tứ mụ hỡnh USL
v mởt bở cụng cử chuyn cỏc mụ hỡnh USL sang dÔng mụ tÊ ca sỷ dửng
theo mău trong ngụn ngỳ tỹ nhiờn lm ti liằu cho c tÊ phƯn mãm.
minh chựng khÊ nng ựng dửng USL vo trong thỹc tá, luên ỏn cng trỡnh
by cỏc kát quÊ khi ỏp dửng USL cho mởt số ca sỷ dửng. Ngoi ra, luên ỏn
cng a ra cỏc ỏnh giỏ, so sỏnh phng phỏp c tÊ ca sỷ dửng v
phng phỏp sinh cỏc ca kim thỷ vợi cỏc nghiờn cựu khỏc liờn quan.
Cỏc kát quÊ nghiờn cựu trờn cừa luên ỏn nhơm xõy dỹng mởt phng phỏp hon chnh sinh tỹ
ởng cỏc ca kim thỷ chực nng tứ cỏc ca sỷ dửng bơng phng phỏp kim thỷ dỹa trờn mụ hỡnh vợi
cỏch tiáp cên mụ hỡnh húa chuyờn biằt miãn. Tứ ú nghiờn cựu hợng án mởt phng phỏp hon chnh
cho phộp tớch hủp ca sỷ dửng vo trong phng phỏp phỏt trin hợng mụ hỡnh.


M Ưu

1.3

9

CĐu trỳc luên ỏn

Luên ỏn Kim thỷ dỹa trờn mụ hỡnh vợi cỏch tiáp cên mụ hỡnh húa
chuyờn biằt miãn bao gỗm sỏu chng. Trong ú Chng 1 M Ưu trỡnh
by vã lý do chồn ã ti v nởi dung nghiờn cựu cừa luên ỏn. Cỏc
chng cũn lÔi ủc tờ chực nh trong Hỡnh 1.2, cử th nh sau:


Hỡnh 1.2: CĐu trỳc luên ỏn.
Chng 2 trỡnh by vã cỏc kián thực nãn ủc sỷ dửng trong luên ỏn. Ưu
tiờn, luên ỏn trỡnh by vã kim thỷ dỹa trờn ca sỷ dửng. Ká tiáp, luên ỏn giợi thiằu
vã mụ hỡnh húa chuyờn biằt miãn. Mửc tiáp theo l ngụn ngỳ chuyn mụ hỡnh.
Cỏc ngụn ngỳ ủc sỷ dửng l phng tiằn xõy dỹng cỏc chuyn ời mụ
hỡnh trong cỏc ngụn ngỳ mụ hỡnh húa chuyờn biằt miãn. PhƯn cuối cựng cừa
chng l ngụn ngỳ rng buởc ối tủng (Object Constraint Language OCL), õy cng l phng tiằn ủc sỷ dửng cho cÊ hai cĐp ở siờu mụ hỡnh v
mụ hỡnh c tÊ cỏc luêt rng buởc hủp lằ trong cỏc siờu mụ hỡnh v c tÊ rừ rng cỏc loÔi rng buởc
khỏc nhau trong cỏc mụ hỡnh


M Ưu

10

ca sỷ dửng cừa luên ỏn ã xuĐt trong Chng 3 v 4. Trong phƯn ny luên
ỏn cng trỡnh by mởt cụng cử hộ trủ giÊi cỏc rng buởc trong OCL m luên
ỏn cú sỷ dửng nh cụng cử trung gian cho cỏc ã xuĐt trong Chng 4.

Chng 3 ã xuĐt mởt ngụn ngỳ c tÊ chuyờn biằt miãn cho miãn c
tÊ cỏc ca sỷ dửng tờn l USL. Ngụn ngỳ USL vợi mửc ớch c tÊ rừ
rng cỏc thụng tin trong cỏc ca sỷ dửng cho mửc ớch c tÊ yờu cƯu v
sinh tỹ ởng cỏc Ưu ra tứ mụ hỡnh ca sỷ dửng. Phng phỏp c tÊ
USL cho phộp tớch hủp ca sỷ dửng vo trong phng phỏp phỏt trin
phƯn mãm hợng mụ hỡnh.
Chng 4 trỡnh by phng phỏp sinh tỹ ởng cỏc ca kim thỷ chực
nng tứ mụ hỡnh ca sỷ dửng v mụ hỡnh khỏi niằm miãn cừa hằ thống.
Trong chng ny, trợc hát luên ỏn ã xuĐt mởt ngụn ngỳ c tÊ cỏc ca
kim thỷ hằ thống theo phng phỏp mụ hỡnh húa chuyờn biằt miãn tờn
l TCSL. Sau ú, luên ỏn ã xuĐt mởt phng phỏp cho phộp chuyn tỹ

ởng cỏc ca sỷ dửng ủc c tÊ trong cỏc mụ hỡnh USL v mụ hỡnh lợp
cỏc khỏi niằm miãn sang cỏc ca kim thỷ ủc c tÊ trong mởt mụ hỡnh
TCSL. Phng phỏp sinh tỹ ởng mụ hỡnh TCSL tứ cỏc mụ hỡnh USL
ủc ã xuĐt trong chng ny th hiằn tớnh thống nhĐt vã mt phng
phỏp luên v tớnh khÊ thi trong quỏ trỡnh thỹc nghiằm.
Chng 5 trỡnh by vã cụng cử hộ trủ v cỏc ỏnh giỏ cừa phng
phỏp ó ã xuĐt. Ưu tiờn, luên ỏn hiằn thỹc húa cỏc ã xuĐt trong cỏc
Chng 3 v 4 bơng mởt cụng cử hộ trủ USL. Sau ú, luên ỏn sỷ dửng
cụng cử ó ã xuĐt thỹc nghiằm trờn mởt số ca sỷ dửng. Sau ú, luên
ỏn trỡnh by cỏc so sỏnh v ỏnh giỏ cỏc kát quÊ ó ã xuĐt. Cụng cử hộ
trủ USL cho phộp tớch hủp cỏc ca sỷ dửng vo trong phng phỏp phỏt
trin hợng mụ hỡnh. Trong ú, cụng cử cho phộp tÔo ra cỏc mụ hỡnh c
tÊ ca sỷ dửng trong ngụn ngỳ c tÊ USL. Cụng cử cng cung cĐp cỏc
bở sinh khỏc nhau cho phộp sinh tỹ ởng cỏc Ưu ra khỏc nhau tứ cỏc
mụ hỡnh USL. Cử th, luên ỏn hiằn thỹc húa hai bở sinh l sinh cỏc c
tÊ ca sỷ dửng trong ngụn ngỳ tỹ nhiờn dỹa trờn mău ủc gồi l
USL2TUCD v sinh cỏc ca kim thỷ ủc c tÊ trong mụ hỡnh TCSL.
Cuối cựng, Chng 6 phõn tớch vã cỏc úng gúp chớnh cừa luên ỏn v
thÊo luên vã cỏc nghiờn cựu trong tng lai tứ cỏc kát quÊ ban Ưu ó Ôt
ủc.


Chng 2
KIN THC C Sé
Trong chng ny, luên ỏn s trỡnh by vã nhỳng kián thực c s ủc
sỷ dửng trong cỏc chng tiáp theo. M Ưu, Mửc 2.1 s lm rừ cỏc khỏi
niằm trong kim thỷ phƯn mãm, ca sỷ dửng, v phng phỏp xỏc nh
cỏc ca kim thỷ tứ cỏc ca sỷ dửng. Cỏc mửc tiáp theo, luên ỏn s lƯn lủt
mụ tÊ vã mụ hỡnh húa chuyờn biằt miãn (Domain-Specific Modeling DSM ), ngụn ngỳ chuyn mụ hỡnh (model transformation language), v
ngụn ngỳ rng buởc ối tủng OCL.


2.1

Kim thỷ dỹa trờn ca sỷ dửng

PhƯn ny, luên ỏn s trỡnh by cỏc kián thực nãn trong kim thỷ phƯn mãm,
ca sỷ dửng, v kim thỷ dỹa trờn ca sỷ dửng. Cỏc kián thực ny ủc luên
ỏn tỡm hiu khi nghiờn cựu bi toỏn kim thỷ chực nng tứ ca sỷ dửng.

2.1.1
2.1.1.1

Kim thỷ phƯn mãm
Cỏc khỏi niằm c bÊn

Lội phƯn mãm l mởt khiám khuyát trong mởt thnh phƯn hoc hằ thống
m nú cú th lm cho thnh phƯn hoc hằ thống ny khụng thỹc hiằn
ỳng chực nng yờu cƯu cừa nú, vớ dử nh thụng bỏo sai hoc nh
ngha dỳ liằu khụng ỳng [5].

11


×