Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
565,18 KB
Nội dung
Nghiên cu k thut sinhca kim th t môhình
máy hu hn trng thái
Research the method to generate test case from finite state machine model
trang 58 tr. +
Thùy Linh
i hc Công ngh
Lu: Công ngh phn mm; Mã s: 60 48 10
Cán b ng dn khoa hc:
o v: 2012
Abstract. Trình bày v môhình FSM và cách biu din mt FSM theo kiu li th hoc
dng bng. Ngoài ra, trình bày mt s tính cht ca mt máy hu hn trng thái. Nghiên cu mt
s nh chui kim chng trng thái ci vào ra duy
nht (UIO), chui phân bit (DS), chuu mi quan h mô phng ca hai
FSM và kim th s mô phng ca hai FSM và tng hp các lng gt FSM.
bao ph ca môhìnhmáy hu hn trng thái và la ch bao ph tt nh làm
ti sinhca kim thm th c th
ng kt nhng kt qu ng phát trin nghiên cu tip theo.
Keywords: Công ngh phn mm; Kim th phn mm; K thut sinh ca; Môhìnhmáy
Content.
I. C1.
A. 1.1. Đặt vấn đề
Hin nay có rt nhiu h thng có th c t t máy tr thng
c truyn thông, h thu khin, h thy vic nghiên cu
p cn chính th kim th các máy trng thái hu h khám phá các khía cnh
ca hành vi ca chún m bo cha h thng. Tuy nhiên tính chính xác ca
h tht so vc t nào, khi nào thì mt h thc gi là chp
nhc thì hin nay các tài lit rt chung chung. Trong lui thiu
khái nim mô phng ca hai máy hu hn tr p nhc
ca h thm th da trên môhìnhmáy hu hn tr
kim th s mô phng ca hai máy hu hn trng thái.
B. 1.2. Nội dung nghiêncứu
Lup trung nghiên cu mt s nh chui kim chng tr
chui vào ra duy nht (UIO), chui phân bit (DS), chum th h
thng da trên môhìnhmáy hu hn tr t m
th kim th t có mô phng bc t phn mm theo môhìnhmáy hu hn
trng thái hay không.
C. 1.3. Cấu trúc luận văn
Phn còn li ca lu
Chương 2: Máyhữuhạntrạngthái (FSM). môhình FSM và cách
biu din mt FSM theo kiu li th hoc dng b
mt s tính cht ca mt máy hu hn trng thái.
Chương 3: Một số phương pháp xác định chuỗi kiểm chứng trạng thái.
mt s nh chui kim chng trng thái ci vào ra duy
nht (UIO), chui phân bit (DS), chu
Chương 4: Kiểmthử dựa trên môhình FSM. Ngoài vic trình bày mi quan h mô phng ca
hai FSM và kim th s mô phng cng hp các lng gp khi cài
t FSM.
Chương 5: Kỹthuậtsinhcakiểm thử. Ngoài vi bao ph ca môhìnhmáy hu
hn trng thái và la ch bao ph tt nh làm ti sinhca kim th
m th c th
Chương 6: Kết luận tng kt nhng kt qu c ca lung phát trin nghiên
cu tip theo.
II. C2. MÁY THÁI (FSM)
A. 2.1. Định nghĩa FSM
Máy hu hn trng thái là mt b M = <S, I, O, s
o
s
0
là tr
B. 2.2. Biểu diễn FSM
1) 2.2.1. Biểu diễn kiểu liệt kê
Cho FSM M
1
= <S, I, O, s
0
0
1
, s
2
, s
n
}
1
, i
2
, , i
n
}
i
,s
j
) = s
t
∀ i
i
∈ I và s
j
, s
t
∈ S
i
,i
k
) = o
t
i
∈ S; ∀ i
k
∈ I; ∀o
t
∈ O
2) 2.2.2. Biểu diễn bằng đồ thị
Các FSM và các yu t c
c biu din b .
gm:
(node)
.
Ví d v biu din b th ca FSM M
1
:
Hình 2.1: Minh họa việc biểu diễn FSM M
1
bằng
đồ thị
3) 2.2.3. Biểu diễn bằng dạng bảng
Mt FSM có th biu din bng dng bng, b
(N x N ô)
C. 2.3. Một số tính chất của FSM
Các thut toán trình bày trong lu áp dng vi FSM có tính ch
chui input y chui phân bit các trng thái s c trình bày
III. C3. PHÁP TÌM
THÁI
Chui kim chng trng thái (state verification sequence) là chui mà có th phân bit trng thái này vi
trng thái khác ca mt FSM.
Theo [5] có 3 loi chu kim chng trng thái c
- Output sequence)
sequence)
Các phn tip theo s trình bày chi ti tìm 3 loi chui này.
A. .1. Chuỗi vào – ra duy nhất (Unique Input - Output sequence)
1) 3.1.1. Một số khái niệm
-
i
i
M
i
, y)
j
j và ∀s
j
∈ M.
2) 3.1.2. Thuật toán sinh cây UIO
Input:
Output: cây UIO.
Phương pháp: Thc hic sau
Bước 1: t ψ là mt tp các vec-ng da vec-u
c gán là không kt thúc.
Bước 2: Tìm mt phn t ∈ ψ
Nu không tn ti phn t y thì thut toán kt thúc.
Bước 3:
i
/b
i
ψ vi ∀a
i
/b
i
∈ L.
p nht cây UIO.
Bước 4: N
i
/b
i
Bước 3 thu kin ct t
mt nút kt thúc.
Bước 5: Quay lc 2.
Ví dụ: Cho FSM G1 như sau:
Hình 3.1: Đồ thị mô tả FSM G1
Cây UIO ca FSM G
1
c xây d
Hình 3.2: Cây UIO của FSM G1 ở Hình
3.1.
T cây UIO cc chui UIO
Bảng 3.1 Chuỗi UIO của FSM G
1
Trạng thái
Chuỗi vào
Chuỗi ra
A
010
000
B
010
001
C
1010
0000
D
11010
00000
B. 3.2. Chuỗi phân biệt (Distinguishing sequence)
1) 3.2.1. Một số khái niệm
Cho FSM M = <S, I, O, s
0
i
j
∀s
i
, s
j
∈ S và s
i
= s
j
.
2) 3.2.2. Thuật toán sinh cây DS
Input : M = <S, I, O, s
0
Output: Cây DS.
Phương pháp:
Bước 1: ψ ψ
Bước 2: ψ ∈ ψ
Bước 3: Tính toán ψ’ và thêm ψ’ vào ψ ∀a ∈
Bước 4: Bước 3
ψ’
Bước 5: Bước 2
Hình 3.2: Đồ thị mô tả FSM G2.
G
2
Hình 3.3: Cây DS của FSM G
2
ở Hình 3.2
Chui phân bit ca các trc kim chng ti bi.
Bảng 3.3 Bảng chuỗi phân biệt của các trạngthái của FSM G
2
Trạng thái
Chuỗi vào
Chuỗi ra
A
11
00
B
11
11
C
11
10
D
11
01
C. 3.3. Chuỗi đặc trưng (Characterizing sequence)
1) 3.3.1. Một số khái niệm
trong FSM M
-
k
là
1
, W
2
, , W
n
.
n
i = 1
W
i
= Q
i
i
và s
j
j
i
và s
j
2) 3.3.2. Phương pháp tìm W
Bước 1: Xây dng 1 chui cc k ca tp trng thái Q, gi s là P
1
, P
2
P
m
.
Bước 2: c k theo th t c l tìm chui phân bit cho mi cp
trng thái.
IV. C4. TRÊN MÔHÌNH FSM
A. 4.1. Mối quan hệ mô phỏng của hai FSM
⊆ S
1
× S
2
là quan h mô phng t FSM M
S
= <S
1
, I, O, s
01
1
1
> thành FSM M
I
= <S
2
, I, O,
s
02
2
2
> nu:
1. (s
01
, s
02
) ∈
2. (s
1
, s
2
) ∈
{∀i ∀o ∀s
1
1
<i/oM
S
> s
1
[(s
2
<i/oM
I
>s
2
∧ (s
1
2
∈
N tn ti thì M
I
mô phng M
S.
t M
I
M
S
, hay nói cách khác M
I
mô phng M
S
. Tuy nhiên vic
t M
I
có th có li dn M
I
không mô phng M
S
n tip theo s
kim th kim th xem M
I
có mô phng M
S
hay không.
B. 4.2. Kiểmthử dựa trên môhình FSM
Mt h thc t bi FSM M
S
t bng M
I
. Kim th xem h thng M
I
t
c t M
S
hay không bng cách so sánh hành vi ca hai máy trng thái da trên s
quan sát hành vi input/output ca M
I
gi là kim tra s phù hp hay s tìm li [6].
phù h
chúng ta có th t lun M
I
hoc t M
S
? Trong lu xut
khái nim mô ph M
I
c t hay không.
y, bài toán m th xem M
I
có mô phng M
S
hay không, nu M
I
không mô phng M
S
thì có lt.
m th vi vic kim chng tr giúp tr li xem FSM M
I
có mô
phng M
S
ng cc th hi
Hình 4.3: Môhình khái niệm kiểmthử với việc kiểm chứng trạngthái
C. 4.3. Một số lỗi thường gặp khi kiểmthử sự mô phỏng của 2 FSM
Khi có bc t FSM M
S
= < S
1
, I, O, s
01
1
1
> và h thng cài t FSM M
I
= < S
2
, I, O, s
02
2
,
2
> , mt câu ht ra là FSM M
I
có mô phng FSM M
S
hay không? Bng tng hp thông tin 4.1 sau
là li gii này
Bảng 4.1: Tổng hợp các trường hợp lỗi khi cài đặt M
I
∃
1
(s
01
, x) =
2
(s
02
, x)
∃
1
(s
01
, x
2
(s
02
, x)
∃
1
(s
1
2
(s
2
, a)]
∃
1
(s
2
2
(s
2
∃
1
(s
2
, x) =
2
(s
2
Kt lun
-
T
-
-
-
No
T
F
T
-
-
No
T
F
F
T
-
No
T
F
F
F
T
Yes
I
không mô phng M
S
I
có mô phng M
S
y qua bng tng hp 4.1 ta có th thy mt s lng gp khi kim th s mô phng ca hai
1. Ln output: Output ng vi transition t s
2
s
2
a M
I
không ging vi output ng
vi transition s
1
s
1
a M
S
.
2. Ln trng thái:
- Tru ca M
I
không mô phng tru ca M
S
- Trng thái tip theo ca mt chuyn trng thái ca M
I
không mô phng trng thái trng thái tip theo
ng vi chuyn trng ca M
S
.
V. C5. SINHCA TH
A. 5.1. Độ bao phủ môhìnhmáyhữuhạntrạngthái
kim th FSM M
I
thì cn thit k bao nhiêu ca kim th bic s ca kim
th s bao ph bao ph tr
bao ph chuyn trng thái (transition coverage).
1) 5.1.1. Độ bao phủ trạngthái (state coverage)
bao ph trng thái ta la chn chui các chuyi trng thái sao cho mi trng thái
t mt ln [5].
2) 5.1.2. Độ bao phủ chuyển trạngthái (transition coverage)
bao ph chuyn trng thái ta la chn chui các chuyn trng thái sao cho mi chuyn
trt mt ln [5]. Bài toán này s i vit c
các cnh ca m th ng sao cho mi cc qua ít nht mt ln. Vì mi cnh c th
i mt s chuyn trng thái mà các trng thái là hu hn nên vi
hoàn toàn có th thc hic.
bao ph chuyn trng thái ta xây dng cây kim th t môhình FSM. Cây kim th ca mt
FSM là mt cây có gc là tru. T tru, nó cha ít nht m
tru ti các trng thái còn li ca FSM [2].
ng cây kim th
Bước 1: Gc ca cây kim th là tru.
Bước 2: Gi s rng cây kim th c xây dn mc k, mc th k+1 s c xây d
sau:
Chn mt node n ti mc k.
Nu n xut hin mc bt k t n k thì n là node lá và không xây dng thêm nhánh này.
Nu n không phi là node lá thì tip tc xây dng nhánh này bng cách thêm mt nhánh t n ti
node mi m nu d(n, x) = m. Gán nhãn ca nhánh này là x/y v
Lp lc này vi tt c các nút mc k
Tip theo ta tìm tp bao ph trng thái P t cây kim th. Tp bao ph trng thái P = {p
1
, p
2
n
} là
mt tp tt c các chui con p
i
th hing dn con bu t nút gc trong cây kim th, ni các
nhãn theo các cnh cng dc mt chui thuc P.
B. 5.3. Kỹthuậtsinhcakiểmthử
Ca kim th tt là ca kim th có th bao ph toàn b môhình FSM. Do vy ta ch bao ph chuyn
trng thái, n bao ph là 100% thì có th phát hic tt c các li v output và các li v trng
thái.
1) 5.1.3. Khuôn dạng cakiểmthử
Thông ng khuôn dng ca mt ca kim th bao gm thông tin sau:
Bảng 5.1: Khuôn dạng cakiểmthử
TC_ID
Pre-Con
Input
Expected
Output
Post-Con
TC_1
Thông tin tin
u kin
Thông tin Input
Thông tin kt
qu i
Thông tin hu
u kin
C. 5.2. Phương pháp sinhcakiểmthử
T c t M
S
, ta sinhca kim th kim th M
I
1. Sinh cây kiểmthử và tìm tập bao phủ chuyển trạngthái
Vm th p bao ph chuyn tr
bày ti mc này ta có tp bao ph chuyn trng thái P.
2. Tìm chuỗi kiểm chứng trạngthái
Áp dng m tìm chui kim chng. Gi s
chui kim chc là x.
3. Sinhcakiểmthử
Vi mi phn t ca tp chuyn trng thái hay vi mng dn con trên cây kim th kt hp
vi vic kim chng tri vi trng trng thái cui cùng cng dn con s sinh ra
mt ca kim th.
Ngoài ra, cn phi thit k thêm mt ca kim th kim th xem tru ca M
I
có mô
phng tru ca M
S
kim th tru ca M
I
có mô phng M
S
hay
không ta dùng chui kim ch kim th. Vì vu vào ca ca kim th này là chui kim
chng, kt qu i là output sinh ra t FSM M
S
.
D. 5.3. Ví dụ
Cho FSM M
S
c biu din b th sau:
Hình 5.5: Đồ thị biểu diễn FSM M
S
Và FSM M
I1
là bt ca FSM M
S
, gi s
Hình 5.6: Môhìnhmáyhữuhạntrạng
thái M
I1
m th
kim th xem M
I1
có mô phng M
S
hay không
1. Tìm chuỗi kiểm chứng
Áp dng m
trình bày tìm chui kim
chng trng thái
Mô hìnhmáy hu hn trng thái M
S
có chui kim chng trng thái là 11 (áp d
2. Xây dựng cây kiểmthử
Xây dng cây kim th cho môhìnhmáy hu hn trng thái M
S
Hình 5.7: Cây kiểmthử của môhình
máy hữuhạntrạngthái M
S
3. Tìm tập bao phủ transition từ
cây kiểmthử
P = {0/0.B, 1/0.D, 0/0.0/0.A,
0/0.1/1.B, 1/0.0/1.D, 1/0.1/0.C,
1/0.1/0.0/1.D, 1/0.1/0.1/1.A}
Sinh cakiểmthử và kiểmthử
i vt FSM M
I1
, ta có kt qu kim th
[...]... môhìnhmáyhữuhạntrạng thái, và từ đó đƣa ra phƣơng pháp sinhcakiểmthử để kiểmthử xem hệ thống cài đặt có mô phỏng bản đặc tả phần mềm dựa trên môhìnhmáyhữuhạntrạngthái hay không Hƣớng phát triển tiếp theo của luận văn là tìm cách cải tiến phƣơng pháp sinhcakiểmthử sao cho số cakiểmthử là ít nhất nhƣng độ bao phủ là lớn nhất có thể Đồng thời, tác giả sẽ xây dựng một chƣơng trình sinh. .. trạngthái và đi sâu nghiên cứu về phƣơng pháp xác định chuỗi kiểm chứng trạngthái nhƣ: xác định Unique Input – Output sequence, Distingguishing sequence, Characterizing sequence Luận văn cũng trình bày phƣơng pháp kiểmthử dựa trên môhìnhmáyhữuhạntrạngthái và dùng khái niệm mô phỏng nhƣ là một tiêu chí để đánh giá sự cài đặt đúng đắn của hệ thống so với đặc tả Luận văn đi sâu nghiên cứu về... quả kiểmthử trên thì mọi Actual result đều giống nhƣ Expected Output tạicakiểmthử tƣơng ứng nên FSM MI1 mô phỏng FSM MS VI CHƢƠNG 6 KẾT LUẬN Kiểmthử phần mềm, một nội dung nghiên cứu đƣợc triển khai từ rất sớm và không phải là mới mẻ đối với thế giới, nhƣng luôn là vấn đề cấp thiết cho việc nâng cao chất lƣợng phần mềm Trong luận văn này, tác giả đã trình bày tổng quan về môhìnhmáyhữuhạn trạng. .. sinhcakiểmthử sao cho số cakiểmthử là ít nhất nhƣng độ bao phủ là lớn nhất có thể Đồng thời, tác giả sẽ xây dựng một chƣơng trình sinhcakiểmthửtự động dựa trên phƣơng pháp đã đƣợc cải tiến References Tiếng việt 1 Ngô Thùy Linh (2010), Nghiên cứu kiểm thửbao phủ phần mềm và ứng dụng, Luận văn Thạc sĩ, Trƣờng Đại học Công Nghệ, Đại học Quốc Gia Hà Nội, tr.43-53 Tiếng anh 2 Aditya P Mathur... FSMs”, The Computer Journal, 00, 0 7 Ngozi I Ihemelandu, Carl J Mueller (2011), “The Intractability of Finite State Machine Test Sequences”, Computer Science Technical Reports, (TXSTATE-CS-TR-2011-26), pp.6-12 8 Timothy Kam (1997), Synthesis of Finite State Machine, Kluwer Acad Publ., pp.200 9 www.cs.odu.edu~toidanerzic390techedregularfafa-applications.html ...Bảng 5.6: Kết quả kiểmthử của FSM MI1 TC_ID Pre-Con Input Expected Output Actual result TC0-1 Post-Con N/A 11 00 00 A TC1-11 Passed TC0- 011 011 011 A TC1-21 Passed TC0- 111 001 001 A TC2-11 Passed TC1- 0011 0000 0000 A . cho mô hình máy hu hn trng thái M
S
Hình 5.7: Cây kiểm thử của mô hình
máy hữu hạn trạng thái M
S
3. Tìm tập bao phủ transition từ
cây kiểm thử. 5: Kỹ thuật sinh ca kiểm thử. Ngoài vi bao ph ca mô hình máy hu
hn trng thái và la ch bao ph tt nh làm ti sinh ca