1
2
B GIÁO D C VÀ ĐÀO T O
Cơng trình đư c hoàn thành t i
Đ I H C ĐÀ N NG
Đ I H C ĐÀ N NG
TR N TH DI U LINH
Ngư i hư ng d n khoa h c: TS. Nguy n Thanh Bình
Ph n bi n 1: TS. Nguy n T n Khôi
NGHIÊN C U PHƯƠNG PHÁP KI M TH
BI U Đ
D A TRÊN
TR NG THÁI
Ph n bi n 2: PGS. TS. Đoàn Văn Ban
Chuyên nghành: Khoa h c Máy tính
Lu n văn s đư c b o v trư c H i ñ ng ch m Lu n văn t t
Mã s : 60.48.01
nghi p th c sĩ k thu t h p t i Đ i h c Đà N ng vào ngày 15
tháng 10 năm 2011
TÓM T T LU N VĂN TH C SĨ K THU T
Có th tìm hi u lu n văn t i:
- Trung tâm Thông tin - H c li u, Đ i h c Đà N ng
Đà N ng - Năm 2011
- Trung tâm H c li u, Đ i h c Đà N ng.
1
M
Đ U
1. Lý do ch n ñ tài
Trong ti n trình phát tri n ph n m m, giai đo n ki m th
đóng m t vai trị r t quan tr ng. M t s n ph m ph n m m chưa th
g i là hoàn thi n n u chưa th c hi n nghiêm túc giai ño n ki m th .
Do tính ph c t p gia tăng c a các h th ng ph n m m và nhu c u
v ñ m b o ch t lư ng ph n m m, ki m th ñã tr thành m t ph n
c a ti n trình chung trong vi c đ m b o ch t lư ng ph n m m.
K t khi bi u ñ tr ng thái ñư c gi i thi u, nó đã tr thành
m t cơng c ph bi n cho các h th ng mơ hình hóa ph n m m. Hi n
nay bi u đ tr ng thái là m t chu n trong ngành cơng nghi p đ i
v i hành vi mơ hình hóa h th ng vì v y nó có th th c hi n ñư c
yêu c u cho vi c thi t k ki m th .
Ki m th d a trên bi u ñ tr ng thái là m t hình th c ki m
th đư c th c hi n trong đó s d ng các mơ hình ngh nghĩa như
máy tr ng thái, bi u đ chuy n tr ng thái. Các mơ hình này bi u di n
các ñ c t và ñư c s d ng ñ ch ng minh hành vi c a h th ng ho c
c a các ñ i tư ng.
V i mong mu n tìm hi u và ng d ng k thu t ki m th này
vào trong th c t đó là lý do vì sao tơi ch n ñ tài “Nghiên c u
phương pháp ki m th d a trên bi u ñ tr ng thái” dư i s hư ng
d n c a TS. Nguy n Thanh Bình.
2. M c tiêu và nhi m v nghiên c u
Lu n văn g m có hai m c tiêu chính: Th nh t là nghiên c u
các phương pháp ki m th d a trên bi u ñ tr ng thái ñ ng th i ñưa
ra nh ng nh n xét, đánh giá. Sau đó là trình bày quy trình cũng như
ng d ng th c hi n ki m th d a trên bi u ñ tr ng thái trong m t
phương pháp c th .
V i nh ng m c tiêu đó, nhi m v c a lu n văn bao g m các
công vi c sau: gi i thi u các ñ nh nghĩa, tính ch t cũng như ngh
nghĩa liên quan đ n bi u đ tr ng thái và các mơi trư ng thi t k s
d ng bi u ñ tr ng thái; trình bày và đánh giá m t s phương pháp
2
ki m th d a trên bi u ñ tr ng thái tiêu bi u; và trình bày vi c ng
d ng c a m t trong các phương pháp ñã ñư c gi i thi u.
3. Đ i tư ng và ph m vi nghiên c u
D a trên các k thu t ki m th ph n m m: ki m th d a trên
mơ hình, ki m th d a trên ñ c t , ki m th d a trên bi u ñ tr ng
thái… D a trên các đ nh nghĩa và tính ch t liên quan ñ n bi u ñ
tr ng thái.
Đ tài thu c lo i hình nghiên c u.
4. Phương pháp nghiên c u
Thu th p, phân tích tài li u và thơng tin liên quan đ n đ tài.
L a ch n phương hư ng gi i quy t v n ñ , nghiên c u v lý thuy t
liên quan. Trình bày và đánh giá các phương pháp th c hi n; ng
d ng qui trình ki m th .
5. K t qu lu n văn
Nghiên c u, trình bày và đánh giá m t s phương pháp ki m
th d a trên bi u ñ tr ng thái. Di n gi i vi c tri n khai ng d ng
c a m t phương pháp.
6. B c c lu n văn
Lu n văn g m 3 chương chính:
Chương 1: Bi u đ tr ng thái và mơi trư ng thi t k s d ng bi u
ñ tr ng thái
N i dung Chương 1 nh m gi i thi u các đ nh nghĩa, tính ch t
cũng như ngh nghĩa liên quan ñ n bi u ñ tr ng thái. Đ ng th i gi i
thi u các môi trư ng thi t k s d ng bi u ñ tr ng thái thư ng ñư c
áp d ng hi n nay.
Chương 2: Ki m th d a vào bi u ñ tr ng thái
N i dung Chương 2 gi i thi u v ki m th ph n m m, bao
g m các k thu t, các chi n lư c, các m c ñ ki m th . Đ ng th i
gi i thi u các mơ hình s d ng trong ki m th ph n m m, quy trình
tiêu bi u c a ki m th , các tiêu chí bao ph và gi i thi u m t s
phương pháp ki m th d a trên ngh nghĩa bi u ñ tr ng thái.
Chương 3: ng d ng ki m th d a trên bi u ñ tr ng thái cho h
th ng qu n lý âm thanh trong xe hơi
3
4
N i dung c a Chương 3 bao g m vi c gi i thi u quy trình
ki m th và th c hi n ki m th th công. Gi i thi u cách th c mơ
hình hóa h th ng b ng máy tr ng thái, nh ng khó khăn, thách th c
khi th c hi n ki m th th công.
CHƯƠNG 1:
N I DUNG BI U Đ
THI T K
S
TR NG THÁI VÀ MÔI TRƯ NG
D NG BI U Đ
TR NG THÁI
1.1 MÁY TR NG THÁI H U H N
1.1.1
Gi i thi u
Máy tr ng thái h u h n (Finite State Machine – FSM) hay
còn g i là m t Otomat tr ng thái h u h n ho c g i ñơn gi n hơn là
máy tr ng thái, thu c ngành toán h c tr u tư ng và ñư c dùng ñ
thi t k các m ch k thu t s logic ho c các chương trình máy tính.
Nó là m t mơ hình hành vi bao g m m t s h u h n các tr ng thái,
các chuy n ti p gi a các tr ng thái này, và các hành ñ ng, tương t
như m t ñ th lu ng, trong đó có th ki m tra logic cách th c hi n
khi m t s ñi u ki n ñư c ñáp ng.
1.1.2
Đ nh nghĩa và tính ch t
M t FSM M là m t b 6:
M = (S, I,O, s0,
,λ)
M t FSM có th có b n tính ch t dư i đây. Chúng có
th đư c bi u di n như sau:
-
Tính xác đ nh hồn tồn
-
Tính quy t đ nh
-
Tính y u
-
Tính k t n i m nh
1.2 MÁY TR NG THÁI H U H N M R NG
1.2.1 Gi i thi u
Máy tr ng thái h u h n m r ng (Extended Finite State
Machine - EFSM) là m t mơ hình nâng cao d a trên máy tr ng thái
h u h n truy n th ng, là m t mơ hình hành vi k t h p c a các tr ng
thái, các chuy n ti p và các hành ñ ng. Trong m t FSM thông
5
6
thư ng cịn thi u trong hai khía c nh quan tr ng: kh năng mơ hình
hóa thao tác c a các bi n m t cách thu n ti n và kh năng mơ hình
hóa chuy n giao các giá tr . Do đó EFSM đã đư c đ xu t ñ gi i
quy t v n ñ này.
1.2.2 Đ nh nghĩa và tính ch t
EFSM là m t b 7 ñư c ñ nh nghĩa như sau:
EM = (S, I, O, s0, E, T, V)
1.3 H TH NG CHUY N TI P ĐƯ C GÁN NHÃN
H th ng chuy n ti p ñu c gán nhãn (Labelled transition
systems - LTS) là m t bi n th c a FSM. Đó là m t c u trúc bao
g m các tr ng thái v i các chuy n ti p ñư c gán nhãn v i các hành
ñ ng gi a chúng.
1.4 BI U Đ TR NG THÁI
1.4.1 Gi i thi u
Bi u ñ tr ng thái (State Diagram, State Machine Diagram,
State Chart Diagram) là m t lo i sơ ñ ñư c s d ng trong khoa h c
máy tính và các lĩnh v c liên quan đ mô t hành vi c a h th ng.
Bi u ñ tr ng thái ñòi h i h th ng ñư c mô t bao g m m t s h u
h n các tr ng thái.
1.4.2 Đ nh nghĩa
M t d ng c a bi u ñ tr ng thái cho m t máy tr ng thái h u
h n là m t đ th có hư ng v i các ph n t sau (S, I, O,δ, s0, F)
1.5 BI U Đ CHUY N TR NG THÁI
1.5.1 Gi i thi u
Bi u ñ chuy n tr ng thái (Statechart) ñư c s d ng r ng rãi
t khi tr thành m t ph n c a ngôn ng mơ hình hóa h p nh t UML.
Bi u đ này cho phép mơ hình hóa các siêu tr ng thái, các mi n tr c
giao và các ho t ñ ng như là m t ph n c a tr ng thái.
1.5.2 Bi u di n và tính ch t
1.6 CÁC MƠI TRƯ NG THI T K
1.6.1 Ngơn ng mơ hình hóa h p nh t - UML
Ngơn ng mơ hình hóa h p nh t (Unifield Modeling
Language – UML) là m t ngơn ng đ bi u di n mơ hình theo hư ng
đ i tư ng đư c xây d ng v i các m c đích:
- Mơ hình hố các h th ng s d ng các khái ni m hư ng ñ i
tư ng.
- Thi t l p m t k t n i t nh n th c c a con ngư i ñ n các s ki n
c n mơ hình hố.
- Gi i quy t v n ñ v m c ñ th a k trong các h th ng ph c
t p, có nhi u ràng bu c khác nhau.
- T o m t ngơn ng mơ hình hố có th s d ng ñư c b i ngư i
và máy.
1.6.2 Ngôn ng Simulink Mathworks
1.6.3 Ngôn ng Scade
T NG K T CHƯƠNG
N i dung Chương 1 nh m gi i thi u các đ nh nghĩa, tính ch t
cũng như ngh nghĩa liên quan ñ n bi u ñ tr ng thái bao g m: máy
tr ng thái h u h n, máy tr ng thái h u h n m r ng, h th ng chuy n
ti p ñư c gán nhãn, bi u ñ tr ng thái, bi u ñ chuy n tr ng thái m c
ñích giúp hi u hơn vai trò cũng như t m quan tr ng c a bi u ñ tr ng
thái trong ho t ñ ng ki m th . Đ ng th i gi i thi u các môi trư ng
thi t k s d ng bi u ñ tr ng thái thư ng ñư c áp d ng hi n nay
như UML, Simulink, Scade.
7
CHƯƠNG 2:
KI M TH
2.1 KI M TH
8
based Testing - MBT) là m t thu t ng ch cách ti p c n các công
vi c ki m th chung như t o l p trư ng h p ki m th và ñánh giá k t
qu ki m th trên m t mơ hình đu c áp d ng cho ki m th .
D A VÀO BI U Đ
TR NG THÁI
PH N M M
2.1.1
Gi i thi u
Ki m th ph n m m là m t ph n quan tr ng c a quá trình
phát tri n ph n m m. Nó có th đư c s d ng cho m c đích đ m b o
ch t lư ng, d tốn, xác minh đ tin c y và phê chu n. Tuy nhiên,
ki m th ph n m m là vi c r t t n kém và m t th i gian. Các nghiên
c u ñã ch ra r ng hơn 50% chi phí phát tri n ph n m m ñư c dành
cho ki m th . Do đó, c n có m t u c u cho các chi n lư c ki m
th hi u qu .
2.1.2 Các k thu t ki m th
2.1.2.1 Ki m th tĩnh
2.1.2.2 Ki m th ñ ng
2.1.3 Các chi n lư c ki m th
2.1.3.1 Ki m th h p ñen
2.1.3.2 Ki m th h p tr ng
2.1.3.3 Ki m th h p xám
2.1.4
Các m c ñ ki m th
2.1.4.1 Ki m th ñơn v
2.1.4.2 Ki m th
2.1.4.3 Ki m th
2.1.4.4 Ki m th
2.1.4.5 Ki m th
2.2
2.2.1
tích h p
h th ng
ch p nh n
h i quy
KI M TH
D A TRÊN MƠ HÌNH
Gi i thi u
Hi n nay, ki m th d a trên mã ngu n khơng cịn là cách
ti p c n hồn tồn th a mãn đ t o ra s ñ m b o ch p nh n ñư c
các s n ph m ph n m m hi n ñ i. Ki m th d a trên mơ hình (Model
2.2.2
Khái ni m mơ hình ph n m m
M t mơ hình c a ph n m m là m t mô t v hành vi c a
ph n m m đó. Hành vi có th đư c mơ t dư i d ng các trình t ñ u
vào ñư c ch p nh n b i h th ng, các hành ñ ng, các ñi u ki n
và các giá tr ñ u ra logic ho c lưu lư ng d li u qua các modul và
các chương trình c a ng d ng
2.2.3 Các mơ hình s d ng trong ki m th ph n m m
2.2.3.1 Máy tr ng thái h u h n
Máy tr ng thái h u h n (Finite State Machine – FSM)
ñã ñư c s d ng t lâu ñ n m b t hành vi c a h th ng d a trên
các tr ng thái. Vi c s d ng các mơ hình tr ng thái h u h n trong
thi t k và trong ki m th c a các thành ph n ph n c ng máy tính
đã có t lâu đ i và đư c xem là m t chu n th c hi n nay.
2.2.3.2 Bi u ñ chuy n tr ng thái
Bi u ñ chuy n tr ng thái (Statechart) là m t ph n m r ng
c a máy tr ng thái h u h n mà c th là mô hình hóa các h th ng
ph c t p ho c h th ng th i gian th c. Chúng cung c p m t khn
kh đ xác đ nh các máy tr ng thái trong m t h phân c p, nơi m t
tr ng thái đơn có th ñư c phát tri n thành máy tr ng thái m c đ
th p hơn.
2.2.3.3 Ngơn ng mơ hình hóa h p nh t
2.2.3.4 Chu i Markov
2.2.3.5 M t s mơ hình khác
Ngồi nh ng mơ hình đư c gi i thi u trên, có m t s d ng
mơ hình khác đã đư c nghiên c u bao g m b ng ra quy t ñ nh, cây
quy t ñ nh, và các ngôn ng thi t k chương trình…
2.2.4 Quy trình tiêu bi u c a ki m th d a trên mơ hình
2.2.4.1 Nh n bi t v h th ng c n ñư c ki m th
9
10
Đ hi u v m t ng d ng, ki m th viên c n thi t ph i hi u
v c ph n m m và môi trư ng th c thi.
2.2.4.2 L a ch n mơ hình ki m th
Khơng có mơ hình ph n m m nào hi n nay là phù h p v i
ñ y đ ý nghĩa và m c đích. Do đó, đ i v i t ng quy t ñ nh mà nên
ch n mơ hình (ho c t p h p các mơ hình) nào là phù h p nh t.
2.2.4.3 Xây d ng mơ hình trung gian
Ki m th d a trên mơ hình tr ng thái đ nh nghĩa tính tr u
tư ng c a tr ng thái m c cao và sau đó tinh ch nh các tr u tư ng
hóa này thành m t khơng gian tr ng thái th c t . Đ i v i m t s
phương pháp ki m th , xây d ng mơ hình trung gian nh m gi m
thi u ñ ph c t p c a bi u ñ g c.
2.2.4.4 T o các k ch b n ki m th
M t k ch b n ki m th (test script) trong ki m th ph n m m
là m t t p h p các hư ng d n s ñư c th c hi n trên h th ng c n
ñư c ki m th ñ ki m tra các ch c năng c a h th ng như mong
ñ i.
2.2.4.5 T o các b ki m th
Trong phát tri n ph n m m, m t b ki m th (test suite)
thư ng ñư c bi t ñ n như là m t b xác nh n tính h p l , là m t t p
h p các trư ng h p ki m th ñư c s d ng ñ th nghi m m t
chương trình ph n m m nh m ch ra r ng nó có m t s quy đ nh v
các hành vi.
2.2.4.6 T o các trư ng h p ki m th t ñ ng
Trong m t s trư ng h p, các trư ng h p ki m th (test
cases) th m chí có th đư c th c hi n b ng tay, tuy nhiên, các b t o
ki m th thư ng là quá l n cho m t hư ng d n th c hi n.
2.3 CÁC TIÊU CHÍ BAO PH D A TRÊN BI U Đ
TR NG THÁI
2.4 M T S PHƯƠNG PHÁP KI M TH D A TRÊN BI U
Đ TR NG THÁI
2.4.1 Phương pháp c a Supaporn Kansomkeat và Wanchai
Rivepiboon
2.4.1.1 Gi i thi u
Phương pháp này ñư c gi i thi u v i m c đích đ xu t các
k thu t ki m th nh m gi i quy t m t ph n quy trình ki m th . K
thu t này có th t o ra các trư ng h p ki m th t bi u ñ chuy n
tr ng thái (statechart). Phương pháp này g m hai bư c sau:
- Th nh t, c n bi n ñ i bi u ñ này thành bi u ñ trung gian,
ñư c g i là bi u ñ lu ng ki m th (Testing Flow GraphTFG), m c ñích xác ñ nh rõ lu ng di chuy n c a bi u ñ
tr ng thái và làm cho d dàng ñ ki m th . Bi u ñ này làm
gi m s ph c t p c a bi u ñ tr ng thái. TFG là m t bi u đ
lu ng có c u trúc rõ ràng và ñơn gi n.
-
Th hai, t TFG t o ra các trư ng h p ki m th b ng cách
s d ng các tiêu chí ki m th , ñó là bao ph các tr ng thái và
các chuy n ti p c a bi u ñ . TFG ñư c s d ng ñ t o ra các
trình t ki m th b ng cách phân tích đ ñưa ra các tr ng thái
và các chuy n ti p.
2.4.1.2 Mơ hình hóa h th ng b ng bi u đ chuy n tr ng thái
not empty
push(num)
/top:=top+1
empty
push(num)[top
/top:=top+1
push(num)
[top:=max-2]
full
not
pop()
/top:=top-1
pop()[top=1]
/top:=top-1
pop()[top>1]
/top:=top-1
Hình 2.7: Bi u ñ chuy n tr ng thái cho Stack
2.4.1.3 Xây d ng trư ng h p ki m th trên TFG
a. Xây d ng thu t toán
11
12
Hình 2.8 cho th y TFG là m t đ th bao g m các chuy n
ti p và các nút. Có hai lo i nút đó là nút s ñư c v b i vòng tròn ñi n
ñ y và nút g đư c v b i vịng trịn r ng. Hai lo i chuy n ti p b t ñ u
t nút s và nút g ñư c g i là chuy n ti p s và chuy n ti p g, tương
ng:
V i trư ng h p ñ bao ph m i quy trình ki m th t các
tr ng thái h n h p, các tác gi chuy n ñ i tr ng thái B thành TFG
b ng cách chuy n ñ i t các tr ng thái c a tr ng thái h n h p có
ch a tr ng thái S và T. Đi u này có th đư c minh h a trong hình
2.10.
nút s
T
S
e
e
B
chuy n ti p s
S
nút g
S
e[g]
T
C
g
C
chuy n ti p g
-
Hình 2.10.a: Tr ng thái h n h p
Hình 2.8: Bi u di n m t TFG ñơn gi n
M i tr ng thái trong bi u ñ chuy n tr ng thái ñư c xem xét
trong các bư c sau:
Tr ng thái trong bi u ñ chuy n tr ng thái ñư c thay th b i nút s và
các chuy n ti p r i kh i tr ng thái này đư c nhóm l i theo các s
ki n. M i nhóm các s ki n bi u di n chuy n ti p s ñư c gán nhãn
b ng tên c a s ki n.
e1[g1]
A
e2[g3]
A
e1
e2
e1[g2]
g1
A1 g
2
A2 g3
Hình 2.9.a: Tr ng thái đơn
Hình 2.9.b: TFG c a Hình 2.9.a
Hình 2.9: Chuy n đ i tr ng thái ñơn
Hình 2.10.b: M t TFG cho tr ng
thái h n h p
Hình 2.10: Chuy n đ i tr ng thái h n h p
b. Xây d ng các trư ng h p ki m th
TFG ñư c tri n khai b ng cách phân tích các nhánh t nút
g c ñ n m i nút lá ñ bao ph nút và chuy n ti p ít nh t m t l n.
Trong ph n này, các TFG bi u di n cho stack, ñư c s d ng ñ t o
các trư ng h p ki m th .
13
INT
EM
push(num)
NF
push(num)
NF1
top=max-2
14
INT - tr ng thái ban ñ u cho Stack
EM - r ng
NEM - khơng r ng
NF - khơng đ y
FU - ñ y
Phương pháp này gi i thi u v b t o cũng như l a ch n các
trư ng h p ki m th d a trên bi u đ chuy n tr ng thái. Tiêu chí l a
ch n ki m th ñư c bi u di n cho phép ki m th m t cách hi u qu .
Qu n lý phòng
Error
pop()
NF2
top
top=1
tε
t7: delete
t8: edit
t9: save
t10: save
tγ
t11: add
t12:
delete
top>1
FU
NF
NF
EM
Empty
t1: add
Insert
t3: edit
Edit
pop()
NF
Hình 2.11: Bi u đ chuy n tr ng thái cho Stack
Đánh giá phương pháp:
Nhi m v chính c a phương pháp là chuy n bi u ñ chuy n
tr ng thái thành bi u ñ trung gian – bi u ñ lu ng ki m th . M c
đích c a vi c làm này là san b ng c u trúc phân c p c a các tr ng
thái, xác ñ nh rõ lu ng di chuy n cũng như làm gi m ñ ph c t p c a
bi u ñ chuy n tr ng thái trư c khi t o ra các trư ng h p ki m th .
Sau đó, t bi u ñ trung gian này, s d ng các tiêu chí bao ph các
tr ng thái và các chuy n ti p c a bi u đ , t đó xây d ng các trư ng
h p ki m th .
Phương pháp này ñư c th c hi n m t cách th cơng và chưa
có cơng c h tr .
2.4.2 Phương pháp c a Axel Hollmann, Fevzi Belli và Christof J.
Budnik
2.4.2.1 Gi i thi u
t2: delete
[#rooms=1
t4: save
t5: add
t6: delete [#rooms>1
]
Hình 2.12. Ví d bi u đ chuy n tr ng thái v i tr ng thái l i
2.4.2.2 M t mơ hình l i đư c đ xu t cho bi u ñ chuy n tr ng
thái
M t bi u ñ chuy n tr ng thái v i các chuy n ti p có khuy t
đi m và các tr ng thái b l i theo thu t toán sau đây:
B ng 2.2: Thu t tốn bi u di n l i
for each s ∈ S Or
if ∃u ∈ S Simple : u ∈ substate(s)
insert an error state es in s
for each u ∈ substate(s)
if u ∈ S Simple addFaultyTransitions(u,es)
15
16
2.4.2.3 Gi i thi u phương pháp t o trư ng h p ki m th và t o
trình t các trư ng h p ki m th
M t c p chuy n ti p là m t trình t c a chuy n ti p vào h p
lý ñ n chuy n ti p ra h p lý c a m t tr ng thái. M t c p chuy n ti p
có khuy t đi m là m t trình t c a chuy n ti p vào h p lý ñ n m t
chuy n ti p ra b l i.
Nh ng quan ni m trên cho phép t o ra các tiêu chí bao ph
sau đây:
- Bao ph c p chuy n ti p (Transition Pair Coverage-TPC):
T o dãy ki m th liên t c mà th c hi n tu n t m i c p
chuy n ti p.
- Bao ph c p chuy n ti p có khuy t đi m (Faulty Transition
Pair Coverage-FTPC): T o dãy ki m th liên t c mà th c
hi n tu n t m i c p chuy n ti p b l i c a m i tr ng thái b t
kỳ.
Bư c ti p theo là t o ra các trình t trý ng h p ki m th ð c
l p ð i v i c hai tiêu chí.
B ng 2.3: Trình t ki m th bao ph c p chuy n ti p
Hình 2.13: Đ th c p chuy n ti p
D a trên ñ th c p chuy n ti p m t t p t i thi u c a các
trình t ki m th đư c ư c tính cho k t qu trong sáu trư ng h p
ki m th dư i ñây:
Th t các
trư ng h p ki m th
#1
#2
#3
#4
#5
#6
Dãy trình t ki m th
tε t1 tγ
tε t1 t5 tγ
tε t1 t5 t6 t5 t6 t6 tγ
tε t1 t5 t5 t6 t3 tγ
tε t1 t3 t4 tγ
tε t1 t2 t1 t3 t4 t2 t1 t3 t4 t3 t4 t5t3 t4 t6 t2 tγ
B ng 2.4: Trình t ki m th bao ph c p chuy n ti p có khuy t đi m
Th t các trư ng
Các chuy n
K t
B t ñ u dãy
Các chuy n ti p
h p
ti p khơng
thúc
trình t
l i
ki m th
gây ra l i
dãy
#7
tε
t1
t10
tγ
#8
tε t1
t2
t7 t8 t9
tγ
#9
tε t1
t3
t11 t12 t13
tγ
#10
tε t1 t3
t4
t10
tγ
#11
tε t1
t5
t10
tγ
#12
tε t1 t5
t6
t10
tγ
#13
tε
t7 t8 t9
tγ
Đánh giá phương pháp:
T m t bi u ñ chuy n tr ng thái cho trư c, phương pháp
này d đốn các l i có th x y ra b ng cách thêm các tr ng thái b l i
và các chuy n ti p có khuy t ñi m vào trong bi u ñ . T ñó ñ xu t
phương án gi i quy t.
Phương pháp này nh m tách các c p chuy n ti p không b l i
và các c p chuy n ti p b l i riêng ra v i nhau. Sau ñó th c hi n hai
nhi m v : m t là xây d ng các trư ng h p ki m th v i tiêu chí bao
ph các c p chuy n ti p không b l i. Hai là, xây d ng các trư ng
h p ki m th v i tiêu chí bao ph các c p chuy n ti p b l i. M c
17
18
đích nh m t o ra các trư ng h p ki m th t bi u ñ chuy n tr ng
thái khơng ch xem xét các trình t h p lý c a các chuy n ti p mà
còn có nh ng trư ng h p khơng h p lý.
2.4.3
Phương pháp c a Dirk Seifert
2.4.3.1 Gi i thi u
Đây là phương pháp mô t m t cách ti p c n nh m ki m tra
tính phù h p c a h th ng ph n ng. D a trên m t đ c t hình th c,
c th là máy tr ng thái UML, t ñ ng t o ra các trư ng h p ki m
th và s d ng chúng đ ki m tra tính phù h p c a các giá tr vào và
ra c a m t h th ng c n ñư c th nghi m.
Nghiên c u g m hai ph n:
- Đ u tiên, tác gi mơ hình hóa m t t p con quan tr ng c a
máy tr ng thái UML bao g m các thao tác d li u có c u
trúc ph c t p.
- Th hai, trình bày m t phương pháp ki m th s phù h p
d a trên các máy tr ng thái, cho phép t o t ñ ng, th c thi và
ñánh giá các trư ng h p ki m th
2.4.3.2 Ng nghĩa máy tr ng thái
a. Gi i thi u
- Tr ng thái h n h p
- Tr ng thái tr c giao
- M t mơ hình ng nghĩa c a máy tr ng thái
- M t tr ng thái ng nghĩa
b. Gi i quy t các xung ñ t có th x y ra khi máy tr ng thái ho t
đ ng
Do có các mi n tr c giao, m t máy tr ng thái có th đang x
lý m t vài tr ng thái t i m t th i đi m. Ta g i đó là t p t t c các
ho t ñ ng trong m t c u hình. Cũng v i cùng m t lý do đó, có th
là nhi u hơn m t chuy n ti p có th th c thi t i m t th i ñi m
t i m t trong các mi n tr c giao ñang ho t ñ ng. Ta g i các t p t t c
các chuy n ti p th c thi cùng nhau t i m t th i ñi m là t p chuy n
ti p th c thi.
Thu t toán l a ch n chuy n ti p l a ch n t p t i ña các
chuy n ti p th c thi theo các yêu c u sau ñây:
- Đ u tiên, t t c các chuy n ti p trong t p chuy n ti p th c thi
ph i đư c kích ho t liên quan đ n c u hình hi n t i, s ki n
kích ho t và s phân cơng d li u hi n t i.
- Th hai, t t c các chuy n ti p trong t p là xung ñ t l n
nhau.
- Th ba, khơng có chuy n ti p đư c kích ho t bên ngồi t p
đó là xung ñ t v i các chuy n ti p bên trong t p ho c có ưu
tiên cao hơn m t chuy n ti p bên trong t p.
2.4.3.3 B t o trư ng h p ki m th
Vi c th c hi n g m hai ph n:
- Đ u tiên, m t hàng ñ i s ki n và các s ki n chưa ñư c
xét s đư c đưa vào mơ hình ng nghĩa c a máy tr ng thái.
- Th hai, c n ph i l a ch n t p chuy n ti p th c thi khác
nhau và th c thi các chi n lư c trong m t phương pháp ki m
th .
Hình 2.15: Ki n trúc ki m th tr u tư ng
a. L a ch n giá tr ñ u vào cho b t o trư ng h p ki m th
Tác gi s d ng b công c TEAGER trong đó cài đ t
m t s chi n lư c l a ch n ñ u vào.
b. Thu t toán t o trư ng h p ki m th
- Đ u tiên, kh i t o máy tr ng thái v i tình tr ng ban đ u c a
nó, ch ng h n: v i c u hình ban đ u và m t hàng đ i s ki n
r ng. Ti p theo chèn các s ki n vào ñ u tiên ñ n hàng ñ i
19
20
s ki n. B y gi áp d ng m t bư c ng nghĩa đ c u hình:
d tính t t c các chuy n ti p có th th c thi. Đ i v i m i t p
chuy n ti p và m i th t th c hi n các chuy n ti p bên
trong nh ng t p này ta ư c tính k t qu th c hi n. K t qu
tr v là m t t p t t c các tình tr ng có th truy c p bao
g m t t c các tình tr ng trung gian cho s ki n ñ u tiên.
- Ti p theo, chèn s ki n ti p theo đ n m i tình tr ng có th
truy c p trong bư c trư c. B ng cách đó chú ý đ n s xen
k có trư c c a các s ki n trong hàng đ i s ki n. Sau
đó, ư c tính l i t t c các tình tr ng có th truy c p cho ñ u
vào này và th c hi n tương t cho các y u t ñ u vào khác.
Ti p theo là ư c tính l i ñ th c a t t c các l trình th c
hi n bao g m các tình tr ng có th truy c p.
2.4.3.4 Cơng c h tr phương pháp
Đ ñánh giá và ch ra s kh thi c a phương pháp ti p c n,
các tác gi tri n khai b cơng c TEAGER.
v tính khơng ñơn ñ nh. Đ c bi t gi i quy t các v n đ v giao ti p
khơng đ ng b .
Hình 2.18: Ki n trúc c a b công c TEAGER
Đánh giá phương pháp:
V i cách ti p c n d a trên máy tr ng thái này có th đư c áp
d ng trong vi c b o ñ m ch t lư ng như là m t ñ c t cho các hành
vi ph n ng mong mu n c a h th ng. Có th l a ch n đ u vào có
liên quan cho m t trư ng h p ki m th và d tính các quan sát chính
xác có th cho đ u vào cho trư c ñ ng th i cho phép t đ ng đánh
giá q trình ki m th .
So v i các cơng trình nghiên c u khác, phương pháp này
không h n ch s lư ng các máy tr ng thái. Bên c nh đó, các tác gi
còn ch ra các chi ti t v ng nghĩa phát sinh t các ngu n khác nhau
Nh n xét chung v c 3 phương pháp nghiên c u
trên
Trong 3 phương pháp ñã nêu, hai phương pháp ñ u các tác
gi d a trên mơ hình bi u đ chuy n tr ng thái ñ áp d ng ki m th .
M i phương pháp có hư ng nghiên c u riêng. Phương pháp th nh t
s d ng bi u ñ lu ng ki m th làm bi u ñ trung gian ñ làm gi m
ñ ph c t p c a bi u ñ chuy n tr ng thái. Sau đó s d ng các tiêu
chí bao ph tr ng thái và bao ph chuy n ti p ñ t o ra các trư ng
h p ki m th .
Phương pháp th hai, v n gi nguyên bi u đ chuy n tr ng
thái nhưng thêm vào đó các tr ng thái b l i và các chuy n ti p có
khuy t đi m mà ta có th d tính trư c. Sau đó tách các c p chuy n
ti p không b l i và các c p chuy n ti p b l i ra riêng thành hai
trư ng h p khác nhau. Sau đó s d ng tiêu chí bao ph c p chuy n
ti p khơng b l i và tiêu chí bao ph c p chuy n ti p b l i ñ t o ra
các trư ng h p ki m th .
Hai phương pháp trên ñư c các tác gi gi i thi u nhưng
chưa có cơng c h tr . phương pháp th 3, các tác gi s d ng
máy tr ng thái đ mơ hình hóa h th ng c n ñư c ki m th . Đ xu t
cũng như x lý trư ng h p nhi u chuy n ti p có th x y ra t i m t
th i ñi m do máy tr ng thái là khơng đơn đ nh. Có các chi n lư c l a
ch n giá tr ñ u vào cho b t o trư ng h p ki m th . S d ng hàng
ñ i s ki n ñ lưu tr các s ki n chưa ñư c x lý. Có xây d ng
thu t tốn đ t o các trư ng h p ki m th , k t qu tr v các l trình
ki m th mà ñư c th c thi m t cách t đ ng b i cơng c TEAGER.
T NG K T CHƯƠNG
K t qu ñ t ñư c trong Chương 2 là ñã gi i thi u cũng như
ñưa ra nh ng nh n xét, ñánh giá và so sánh gi a các phương pháp
nghiên c u. Đ ng th i ch ra đư c vai trị quan tr ng c a bi u ñ
tr ng thái trong ki m th ph n m m.
21
22
CHƯƠNG 3:
NG D NG KI M TH
D A TRÊN BI U Đ
TR NG THÁI
CHO H TH NG QU N LÝ ÂM THANH TRONG XE HƠI
3.1 QUY TRÌNH TH C HI N KI M TH
D A VÀO
PHƯƠNG PHÁP C A DIRK SEIFERT
Phương pháp này ñư c th c hi n theo các bư c sau:
Xây d ng máy tr ng thái cho h th ng
c n ñư c ki m th
Dãy trình t
Máy tr ng thái
v i tình tr ng
ban đ uc
Quá trình t o các trư ng
h p ki m th
tuy n tính c a
các s ki n đ u
vào và các đ th
ch p nh n
Hình 3.1: Quy trình th c hi n ki m th th công
3.2 GI I THI U NG D NG
D ki n các hành vi x y ra và các k t qu
mong ñ i
S d ng TEAGER ñ t ñ ng t o các
trư ng h p ki m th
Th c thi các trư ng h p ki m th m t
cách t ñ ng
So sánh k t qu t vi c th c hi n v i k t
qu mong ñ i
Đánh giá vi c th c hi n
Như v y, quá trình th c hi n ki m th th cơng v i:
Đ u vào: Máy tr ng thái v i tình tr ng ban đ u, mơ t ho t
đ ng c a h th ng qu n lý âm thanh trong xe hơi.
Đ u ra: T p các trư ng h p ki m th , bao g m dãy trình
t tuy n tính c a các s ki n ñ u vào cho h th ng c n ñư c ki m
th và các ñ th ch p nh n cho các quan sát t h th ng này.
Hình 3.2: Đ c t máy tr ng thái cho h th ng âm thanh trên xe hơi
3.3 MƠ HÌNH H TH NG ÂM THANH TRONG XE HƠI
m c cao nh t c a mơ hình tr u tư ng bao g m tr ng thái
g c Car Audio System ñư c c i ti n thành ba mi n tr c giao. Hai
mi n dành cho băng và ñĩa CD khi m t băng hay ñĩa ñư c chèn vào
h th ng, c th là CD Player - máy hát ñĩa CD, Tape Deck - máy
nghe băng t .
23
24
Mi n ph c t p hơn dành cho ch đ nghe đài dùng đ mơ
hình hóa vi c đi u khi n h th ng, c th là Audio Player - máy nghe
ñài.
3.4 THI T K TRƯ NG H P KI M TH
3.4.1 Thi t k chi ti t
3.4.2 Xây d ng các trư ng h p ki m th
V i dãy trình t đ u vào power – src, ta có tr ng thái ng
nghĩa v i c u hình ch a tr ng thái đang ho t ñ ng Tuner Mode, Tape
Mode, CD Mode, hàng ñ i s ki n ch a các s ki n vào power – src.
Áp d ng thu t toán l a ch n t p các chuy n ti p th c thi, xây d ng
các t p ư c tính quan sát có th , ta có th mơ hnh hóa các trư ng h p
ki m th như dư i ñây:
B ng 3.1: Xây d ng 2 trư ng h p ki m th th công
B ng 3.2: Dãy trình t tuy n tính c a các s ki n ñ u vào
B ng 3.3: Xây d ng các ñ th ch p nh n
công, th c thi các trư ng h p ki m th m t cách th công nhưng
tuân theo các nguyên t c ho t ñ ng c a phương pháp.
K ñ n là trình bày nh ng khó khăn khi th c hi n ki m th
th cơng cũng như đánh giá phương pháp th c hi n ki m th c a
Dirk Seifert.
3.5 ĐÁNH GIÁ K T QU TH NGHI M
Ph n 3.4 ch m i nêu hai trư ng h p ki m th . Đó là các
trư ng h p bao ph chuy n ti p t Tuner Mode ñ n CD Mode và bao
ph chuy n ti p t Tuner Mode ñ n Tape Mode. Do máy tr ng thái
là khơng đơn đ nh nên có th cùng th i ñi m có nhi u hơn m t
chuy n ti p th c thi, ñ ng th i s lư ng các quan sát cho các trư ng
h p tương ng là tăng lên d n ñ n hàng ñ i s ki n s lưu tr v i s
lư ng nhi u các s ki n s th c hi n. Đi u này d n ñ n vi c mô t
trên gi y là g p nhi u khó khăn.
K t qu nh n đư c là dãy trình t tuy n tính các s ki n đ u
vào và các ñ th ch p nh n.
T NG K T CHƯƠNG
T phương pháp ki m th c a tác gi
gi i thi u Chương 2, n i dung c a Chương
d ng phương pháp này cho ho t ñ ng ki m th
thanh trong xe hơi, t ñó t xây d ng các trư
Dirk Seifert ñã ñư c
3 bao g m vi c ng
h th ng qu n lý âm
ng h p ki m th th
K T LU N
Ki m th là m t giai ño n quan tr ng c a q trình ki m
sốt ch t lư ng trong quy trình phát tri n ph n m m. M c đích c a
ki m th ph n m m là tìm ra các l i hay khi m khuy t nh m ñ m
b o hi u qu ho t ñ ng t i ưu c a ph n m m. Hi n nay có r t nhi u
phương pháp ki m th và ñư c phân chia theo t ng c p ñ ki m th
khác nhau. Bài vi t này t p trung vào nghiên c u phương pháp ki m
th d a trên bi u ñ tr ng thái, ñây là m t k thu t ki m th mà
trong đó các trư ng h p ki m th ñư c thi t k ñ th c thi các giao
d ch tr ng thái h p l .
Bên c nh nh ng vi c đã làm đư c như trình bày và đánh giá
các phương pháp ki m th d a trên ng nghĩa bi u ñ tr ng thái; l a
ch n m t phương pháp và tri n khai ng d ng, nhưng công vi c ch
m i d ng l i vi c trình bày phương pháp và áp d ng ki m th th
cơng, chưa có cơng c tri n khai th c hi n c th .
V n ñ ki m th d a trên bi u ñ tr ng thái hi n nay ñang là
m t trong nh ng hư ng nghiên c u r t ñư c quan tâm, bao hàm
nhi u phương pháp ti p c n và k thu t áp d ng. Do th i gian nghiên
c u và ph m vi tìm hi u có gi i h n nên lu n văn không tránh kh i
nh ng h n ch và thi u sót.
T nh ng v n đ đã nêu trên, hư ng phát tri n trong th i
gian s p t i c a tơi đó là s tìm hi u và nghiên c u thêm m t s
phương pháp có liên quan, t đó đánh giá cũng như rút ra kinh
nghi m. Ti p theo s nghiên c u ñ ñ xu t m t phương pháp m i,
đ ng th i xây d ng cơng c h tr cho phương pháp m i này.