Tải bản đầy đủ (.pdf) (12 trang)

Kỹ thuật sinh test case tự động từ yêu cầu phần mềm

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 (206.65 KB, 12 trang )

TR

IăH CăQU CăGIAăHĨăN I
NG
I H C CÔNG NGH

V TH

ÀO

K THU T SINH TEST CASE T
PH N M M

LU NăV NăTH CăS

HƠăN iă- 2008

NG T

YểU C U


TR

IăH CăQU CăGIAăHĨăN I
NG
I H C CÔNG NGH

V TH

ÀO



K THU T SINH TEST CASE T
PH N M M

NG T

YểU C U

Ngành :ăCôngăngh ăthôngătin
ChuyênăngƠnh:ăCôngăngh ăph năm m
Mƣăs :ă
LU NăV NăTH CăS
NG

IăH

NGăD NăKHOAăH C
TS.TR

NGăANHăHOĨNG
:

HƠăN iă- 2008


L IC M

N

Lu năv nănƠyălƠăthƠnhăqu ăc aăquáătrìnhăh căt pănghiênăc uăc aătôiăcùngăs ăgiúpă

đ ,ăkhuy năkhíchăc aăcácăquýăth yăsauă2ăn mătôiătheoăh căCh ngătrìnhăđƠoăt oăTh căs ,ă
chuyênăngƠnhăCôngăngh ăph năm măc aăKhoaăCôngăngh ,ăTr ngă iăh căCôngăngh ă
HƠăN i.
Tôiăxinăđ căbi tăc mă năTh yăgiáoăh ngăd nă TS. Tr ngăAnhăHoƠng. Th yăđƣă
nhi tătìnhăh ngăd nătôi,ăgiúpăđ ăvƠăđ ngăviênătôiăr tănhi u,ăchoătôiăcóăc ăh iăđ căti pă
xúcăv iăcácătƠiăli uăthamăkh oăquýăgiáătrongăquáătrìnhănghiênăc uăđ ăhoƠnăthƠnhăđ tài
này.
Xină trơnă tr ngă c mă nă cácă Th yă giáoă c aă Khoaă Côngă Ngh ă vƠă Vi nă Côngă ngh ă
thôngătinăđƣăd yăd ătôiătrongăhaiăn măh c,ăc mă năcácăcánăb ăcôngătácăt iăPhòngăSauă iă
h c- iăH căCôngăngh ăHƠăN iăđƣăgiúpăđ ătôiănhi uătrongăquáătrìnhăh căt păvƠăcôngătác
b oăv ălu năv n.

M T L N N A TÔI XIN CHỂN THÀNH C M

N!!


M CL C

CH NGă1.
T V Nă ................................................................................ 9
1.1. T m quan tr ng c a các yêu c u ph n m m ................................................. 9
1.2. Khái ni m v Test case .................................................................................. 9
1.3. V năđ sinh Test case t các yêu c u ph n m m . ...................................... 10
CH NGă2. T NG QUAN V QUÁ TRÌNH . Error! Bookmark not defined.
SINH TEST CASE T
NG .............................. Error! Bookmark not defined.
2.1. Gi i thi u ..................................................... Error! Bookmark not defined.
2.2. T ng quan v cácăph ngăphápăsinhăTestăcaseError! Bookmark not defined.
2.2.1. Sinh Test case d aătrênăđ c t ..................... Error! Bookmark not defined.

2.2.2. Sinh Test case d a trên mô hình.................. Error! Bookmark not defined.
2.2.3. SinhăTestăcaseăh ngăđ ng d n................. Error! Bookmark not defined.
2.3. Ki m th ph n m m và UML ..................... Error! Bookmark not defined.
CH NGă3. CÁC K THU TăVĨăPH NGăPHÁPăSINH Error! Bookmark
not defined.
TEST CASE T
NG ........................................ Error! Bookmark not defined.
3.1. Gi i thi u ..................................................... Error! Bookmark not defined.
3.2. K thu t sinh Test case d aătrênăđ c t ....... Error! Bookmark not defined.
3.2.1. Cácăph ngăth căđ c t tr ng thái SCR ...... Error! Bookmark not defined.
3.2.2. K thu t sinh ra Test case d aătheoăđ c t c a SCR .. Error! Bookmark not
defined.
3.2.3. K thu t t oăTestăcaseăchoăđ c t UML ...... Error! Bookmark not defined.
3.2.4. Các thu n toán sinh Test case d aătrênăđ c t .Error! Bookmark not defined.
3.3. K thu t sinh Test case d a trên mô hình ... Error! Bookmark not defined.
3.3.1. T o ra Test case b ng vi c s d ng các bi uăđ c ng tác UMLError! Bookmark
not defined.
3.3.2. T o Test case d a trên Use case c i ti n ..... Error! Bookmark not defined.
CH NGă4. PHÁT TRI NăCH
NGăTRÌNHă NG D NGError! Bookmark
not defined.
QUÁ TRÌNH SINH TEST CASE T
NG ....... Error! Bookmark not defined.
4.1. M c tiêu ....................................................... Error! Bookmark not defined.
4.2. Tóm t t quá trình sinh Test case t đ ng .... Error! Bookmark not defined.
4.2.1. Ví d ............................................................ Error! Bookmark not defined.
4.2.2. Các Test case c a ví d ............................... Error! Bookmark not defined.
4.2.3. Tính ng d ng,ăcácă uăđi măvƠănh căđi mError! Bookmark not defined.
4.2.4. K t lu n ....................................................... Error! Bookmark not defined.



4.3.

CƠiăđ t .......................................................... Error! Bookmark not defined.

DANH M C CÁC Kụ HI U THU T NG
T vƠ c m t vi t t t
UML
OCD
SCR
Test
Tester

VI T T T

Vi t đ y đ
Unified Modeling Language
Object Collaboration Diagram
Software Cost Reducation
S ăki măth
Ki măth ăviên



DANH M C CÁC HÌNH V
Stt
1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Tên hình v
M t quy trình ki mătraăc ăb n.
Ki măth ăd aătrênăđ căt

Ki măth ăd aătrênăch ngătrình
Xơyăd ngăcácăyêuăc uăTestăcaseăt ăcơyăbi uăth căcúăpháp
Qúaătrìnhăchungăc aăvi căt oăraăcácăTestăcaseăt ăđ căt ăSCR
S ăki năg iă(callăevents)
S ăki năbáoăhi uă(signalăevents)
S ăki năth iăgiană(timeăEvents)
S ăki năthayăđ iă(ChangeăEvents)
Qúaătrìnhăchungăchoăvi căt oăraăcácăTestăcaseăt ăđ căt ăUML
C u trúc c a file MDL cho bi uăđ l p và bi uăđ chuy n tr ng thái.
Bi uăđ ăl păc aămôăhìnhăthi tăk
OCDăchoăvi căsinhăraăcácăTestăcaseăch nhăs aăđ yăđ ăcácăthu cătính
OCDăchoăvi căsinhăraăcácăTestăcaseăch nhăs aăchuy năti p
OCDăchoăvi căsinhăraăcácăTestăcaseăch nhăs aăc păchuy năti p.
Thu tătoánăphơnătíchăđ căt ăSCR
Thu tătoánăphơnătáchăđ căt ăUML
Bi uăđ c ng tác m căđ đ c t
Bi uăđ c ng tác cho m t thao tác
Các c p c ng tác
M tăđ ng chu iăthôngăđi p
Thu t toán instrumentation
Môăhìnhăhóaăcácăvùngătrongăthi tăk ăph năm m
Cácăho tăđ ngăc aăcáchăti păc năđ căđ ăxu tăbênătrongăquáătrìnhăphátă
tri năph năm m.
Bi uăđ tr ng thái m căđ cao nh t cho ví d use case c a b ng 3.
C i ti n bi uăđ tr ng thái cho ví d use case c a b ng 3
Môăhìnhăcáchăs ăd ngăcóăth ăchoăvíăd ăth ăvi năc aăb ngă3.
Mô hình hành vi
Cácăl căđ ătestăvƠăcácăgiáătr ătest
Testăcaseăchoăk chăb năchính



DANH M C CÁC B NG BI U

Stt
1
2
3

Tên b ng bi u
Phân bi t các bi uăđ UML và các m căđ test
M u c i ti n các use case
M t ví d v m u chi ti t các use case


M

U

M cădùăvi cănghiênăc uăv ăcácăph ngăphápăvƠăk ăthu tăsinhăTest case t ăđ ngăt ă
yêuăc uăng iădùngăđƣăđ căquanătơmănhi uătrênăth ăgi i,ănh ngă ăVi tăNamăcácănghiênă
c uăvƠă ngăd ngăch ăm iă ăb căđ u.ăTh căv y,ăcôngăvi căsinhăTest case t ăđ ngăt ăyêuă
c uăng iădùngăm tăcáchăcóăhi uăqu ătrongăquáătrìnhăki măth ălƠăv năđ ăc năthi tăvƠăb că
xúcăc aăcácăcôngătyăs năxu tăph năm măc ngănh cácăt ăch căth căhi năphátătri năd ăánă
ph năm m.ă
Trong quá trình phátătri năd ăánăph n m m,ăth ngăcôngăvi căt oăraăcácăTest case
t ăyêuăc uăng iădùngădoăcácăTesterăph ătrách.ăNh ngăkhôngăph iăTesterănƠoăvi tăcácătƠiă
li uăTest case nƠyăc ngănh ănhau. Vìăv yătrongăcácăcôngătyăph năm măc ngănh ăcácăt ă
ch căth căhi năphátătri năcácăd ăánăph năm măs ăphátăsinhăm tăv năđ ălƠ:ăTesterănƠoăvi tă
tƠiăli uăTest case t t,ăcóăhi uăqu ăthìăch tăl ngăph n m măs ăt tăh nănh ngăd ăánăcó Test
case t i.ă V yă t iă saoă chúngă taă khôngă đ ngă nh tă hóaă côngă vi că vi tă Test case b ngă cácă

ph ngăphápă vƠă k ă thu tă t ă đ ngă nh mă gi mă b tăcôngă s că vƠă th iă giană c aă cácă tester,ă
lƠmăchoăch tăl ngăc aăTest case t tăh n.
Cóăcácăh ngăti păc năkhácănhauătrongăvi căsinh Test case t ăđ ng:ăth ănh tălƠăcóă
th ăsinhăTest case t ăđ ngăd aătrênăđ căt ăt ăm tăfileăinputăđƣăđ căđ nhăs n;ăth ăhaiălƠ
sinh Test case t đ ngă d aă trênă code,ă ch ngă trìnhă cóă s n;ă th ă ba là sinh Test case t ă
đ ngă d aă trênă cácă môă hìnhă UML.ă Trongă baă h ngă ti pă c nă trên chúng tôiă ch nă h ngă
ti păc năth ăba vƠănghiênăc uăcácăph ngăphápătheoăh ngăti păc nănƠy.
Trongă đ ă tƠiă lu nă v nă nƠyă chúng tôi nghiênă c uă cácă v nă đ ă v ă t oă Test case t ă
đ ngăt ăyêuăc uăng iădùng.ăSauăđó,ăchúngătôiăxemăxétăcácăph ngăphápăvƠăk ăthu tăhi nă
cóătrongăvi căt oăTest case t ăđ ngăđ ăt ăđóăcóăth ăđ aăra nh ngăc iăti năb ăsung và phát
tri n.ăCu iăcùngă lƠăxơyă d ngă m tăcôngăc ăsinhă Test case t ăđ ngăcóăth ăápăd ngă trongă
th căt .
B ăc căc aălu năv năg măph năm ăđ u,ăph năk tălu năvƠă4 ch ngăn iădung nh ă
sau:
 Ch ng 1: tăv năđ ,ăđ aăraăcácăv năđ ăc năthi tăvƠăc păbáchătrongăvi cănghiênă
c uăvƠăxơyăd ngăm tăk ăthu tăsinhăTest case hi uăqu ăt ăyêuăc uăng iădùng.
 Ch ng 2:ă Gi iăthi uă t ngă quană v ă sinhă Test case t ă đ ng.ă Trênă c ăs ăđóă ch nă
h ngăti păc năs ăđiăsơuăvƠoănghiênăc uă ăCh ngă3.
 Ch ng 3:ăTrìnhăbƠyăcácăph ngăphápăvƠăk ăthu tăsinhăTest case t ăđ ngăhi năcó.ă
T ăđóăđ ăxu tăm tăk ăthu tăsinhăTest case t ăđ ngăvƠăphơnătíchă uăđi măc aănóăsoăv iăcácă
k ăthu tătr c.


 Ch ng 4: Trình bày quá trình sinh Test case hi uăqu d aătrênăk ăthu tăđ căđ ă
xu t.ă ngăth iăxơyăd ngăch ngătrìnhădemoăquá trình sinh Test case t ăđ ng.
Sauăkhiănghiênăc uăvƠăth ănghi m,ătrongăph năK tălu năcóănêuăm tăs ăt ngăk tăvƠă
nh năxétăv ăvi căsinhăTest case t ăđ ng,ăđ ngăth iăđ ăraăh ngănghiênăc uăti pătheo.

CH


NG 1.

TV N

1.1. T m quan tr ng c a các yêu c u ph n m m
Cácă yêuă c uă ph nă m mă là r tă quană tr ngă v iă m iă d ă án ph nă m m. Các d ă ánă
thƠnhăcôngăho căth tăb iăcó nguyên nhân là doăch tăl ngăc aăcácăyêu c u.ăCácăyêuăc uă
này c uăthƠnh ph măviăc aăt tăc ăcácăcôngăvi căsauăđó cho nhóm phátătri năd ăán.ăKhôngă
cóăcácăyêuăc uăt t,ăcácăd ăánăs ăth tăb i,ăb ăch mătr ,ăt năkém,ăho călƠmăraăcácăh ăth ngă
khôngăbaoăgi ăđ căs ăd ng.
Cácăv năđ ăyêu c uănênăđ căc ăđ nh s m,ătr c khi vƠoăgiaiăđo n thi tăk ,ăb iăvìă
cácăv năđ ălƠădoăcácăyêuăc uăkémăcóăkhuynhăh ngăg năch tăvƠoătrongăthi tăk ăvƠăkhóăđ ă
choăvi căs aăch aăsauănƠy. Nh ngăng iăphátătri năvƠăng iădùngăcóăm tăcách nhìn khác
nhauăt ănh ngăyêuăc u khi ng iăphátătri năxem xétăyêuăc uăt ăquanăđi mălƠmăth nƠoăđ ă
th căhi năcònăng iădùngăch ăc mănh năv năđ ălƠăs ăd ngănóănh ăth ănƠo. Cách an toàn
nh tăđ ăb oăđ măr ngănhuăc uăc aăng iădùngăđƣăđ căđápă ngănh ngăgìăđƣăđ căđ aăra,ă
ta nên làm haiătƠiăli uăsongăsong,ănh ngăgìăng iădùngăc n,ăvƠănh ngăgìăm tăh ăth ngăs ă
ph iălƠmăđ ăđápă ngănhuăc uăđó. ơyălƠăcácăyêuăc uăng iădùngăvƠăcácăđ căt ăh ăth ngă
theoăth ăt ăđ nhăs n.
V yăt i saoăc năcóăcácăyêuăc u ph năm m t t? B tăk ăl iănƠoăđ căphátăhi nătrongă
giaiăđo n đ uătrongăquá trìnhăphátătri n d ăán ph năm m là k tăqu ăr t quan tr ng.ăN u ă
cácăgiaiăđo năsauăl iăm iăđ căphátăhi năraăthìăchiăphíăcho vi căs aăch aăh ăth ngăph nă
m măs t năkémăh n r t nhi u.ăN uănh ngăng iăthi tăk ăh ăth ngăh ngăt iăm cătiêuă
khôngăđúng,ăvi căth c thiăh ăth ngăs ăđiăch chăv iămongămu năbanăđ u.ăM tăyêuăc uăsaiă
cóăth ăt oăraăhƠngălo tăcácăl iăthi tăk . Vìăv yăđ ăm tăs năph măph năm măt tăthìăđi uăđ uă
tiênăquanătr ngălƠ chúng ta ph iăcó cácăyêuăc uăt t.ă
1.2. Khái ni m v Test case
Trong quá trình phát tri năd ăánăph măm m,ăthôngăth ngăm tăquyătrìnhăki măth ă
cóăcácăb căc ăb nănh ăsau: l păk ăho ch,ăthi tăk ăTest,ăphátătri nătestăscript,ăth căhi nă
testăvƠăđánhăgiáă(xemăHình 1)



Trongăđó Test case đ c vi tătrongăb c thi t k test. M căđíchăc a thi t k test là
vi t và ch đ nh các Test case trongăcácăb c ki m tra chi ti t cho m i phiên b n ph n
m m.ăGiaiăđo n thi t k test là h t s c quan tr ng, nó b oăđ m t t c các tình hu ng ki m
tra "quét" h t t t c yêu c u c n ki m tra.
Vì v y công vi c t o ra các Test case hi u qu lƠăđ c bi t quan tr ngăđ đ m b o
ch tă l ng ph n m m.ă
lƠmă đ c vi că đó,ă tr c h t ph i hi u Test case là gì?
M t Test case có th coi là m t tình hu ng ki m th ,ăđ c thi t k đ ki m th m tăđ i
t ng có th a mãn yêu c uăđ t ra hay không. M t Test case th ng bao g m 3 ph năc ă
b n:
•ăMô t :ăđ c t cácăđi u ki n c năcóăđ ti n hành ki m th .

uăvƠo:ăđ c t đ iăt ng hay d li u c n thi t,ăđ c s d ngălƠmăđ u vào đ
th c hi n vi c ki m th .
•ăK t qu mong mu n: k t qu tr v t đ iăt ng ki m th , ch ng t đ iăt ngăđã
th a mãn yêu c u.
Test case có m tăýăngh aăvôăcùngăquanătr ng, m căđíchăđ aăraăcácătr ng h p test
nh m phát hi n ra các l i nhi u nh t có th ,ăđ cho các d án phát tri n ph n m m có ch t
l ng t tăh n.
1.3. V n đ sinh Test case t các yêu c u ph n m m .
Trong quáătrìnhăphátătri năd ăánăph n m m,ăth ngăcôngăvi căt oăraăcácăTest case
t ăyêuăc uăng iădùngădoăcácăTesterăph ătrách.ăNh ngăkhôngăph iăTesterănƠoăvi tăcácătƠiă
li uăTest case nƠyăc ngănh ănhau.Vìăv yătrongăcácăcôngătyăph nă m măc ngănh ăcácăt ă
ch căth căhi năd ăánăph năm măs ăphátăsinhăm tăv năđ ălƠ:ăTesterănƠoăvi tătƠiăli uăTest
case t t,ăcóăhi uăqu ăthìăch tăl ngăph năm măs ăt tăh nănh ngăd ăán có các Test case t i
(cóănhi uătr ngăh pătestătrùngăl pănhau ho căthi uăcácătr ngăh pătest).ăV yăchúngătaă
ph iăchu năhóaăvƠăđ ngăb ăhóaăđ ălƠmăsaoăt oăraăTest case m tăcáchăhi uăqu ăvƠăcóăchu nă
v ăch tăl ng.ă ălƠmăđi uănƠy,ăchúngătaăph iănghiênăc uăcácăph ngăphápăvƠăk ăthu tă

đ ăt ăđ ngăt oăraăcácăTest case.ăVi căt oăraăTest case m tăcáchăt ăđ ngăc ngălƠmăgi mă
b tăcôngăs căvƠăth iăgianăc aăcácătester,ăgiúpăgi măb tăchiăphíăphátătri năph năm m.
Qúaătrìnhăt oăraăcácăTest case s ăgiúpăcácătesterăphátăhi năraăcácăv năđ ămơuăthu nă
ho căch aărõărƠngăc aăcác yêuăc uăph năm m.ăN uăb cănƠyăđ călƠmăs m,ăcácăv năđ ă
cóăth ăđ călo iăb ăs m,ăti tăki măth iăgianăvƠăngu năl căkhiăphátătri năcácăd ăánăph nă
m m.
V yăvi cănghiênăc uăcácăph ngăphápăvƠăcôngăc ăsinhăTest case m tăcáchăt ăđ ngă
t ăyêuăc uăng iădùngăr tăh uăíchăvƠăc năthi tătrongăquáătrìnhăphátătri năcácăd ăánăph nă
m m.ăQuá trình này nh măm căđíchăt oăraăTest case m tăcáchăcóăhi uăqu ,ăcóăch tăl ng.ă


TÀI LI U THAM KH O
[1] Andras Toth, Daniel Varro, Andras Pataricca, 2003, Model Level Automatic Test
Generation for UML State-Charts, Sixth IEEE workshop on Design and Diagnostics
of Electronic Circuits and System, (DDECS 2003).
[2] Clay E. Williams, November 1999, Software testing and the UML, International
SymposiumăonăSoftwareăReliabilityăEngineeringă(ISSRE’99),ăBoca,ăRaton.
[3] Jeff Offutt, Aynur Abdurazik, October 1999, Generating Tests from UML
specifications, Second International Conference on the Unified Modeling Language
(UML99).
[4] Jeff Offutt, Aynur Abdurazik, October 2000, Using UML Collaboration diagrams for
static checking and test generation, Third International Conference on UML, York,
UK.
[5] Jeff Offutt, Shaoying Liu, Aynur Abdurazik, Paul Ammann, March 2003, Generating
Test data from State based Specifications, The Journal of Software Testing,
Verification and Reliability.
[6] Matthias Riebish, Ilka Philippow, Marco Gotze, UML Based Statistical Test Case
Generation".




×