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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệ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 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 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ă 1.1 T m quan tr ng c a yêu c u ph n m m 1.2 Khái ni m v Test case 1.3 V năđ sinh Test case t 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 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 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 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 mô hình Error! Bookmark not defined 3.3.1 T o Test case b ng vi c s d ng bi uăđ c ng tác UMLError! Bookmark not defined 3.3.2 T o Test case d a 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 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 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 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 C i ti n bi uăđ tr ng thái cho ví d use case c a b ng 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 Tên b ng bi u Phân bi t bi uăđ UML m căđ test M u c i ti n use case M t ví d v m u chi ti t 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 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 sinh Test case t ă đ ngă d aă trênă cácă môă hìnhă UML.ă Trongă baă h ngă ti pă c 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ă 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 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 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 TV N 1.1 T m quan tr ng c a yêu c u ph n m m Cácă yêuă c uă ph nă m mă 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 doăch tăl ngăc aăcácăyêu c u.ăCácăyêuăc uă 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 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 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 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Ơ ph iăcó cácăyêuăc uăt t.ă 1.2 Khái ni m v Test case Trong 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 vi t ch đ nh 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 h t s c quan tr ng, b oăđ m t t 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 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 gì? M t Test case có th coi 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 hay không M t Test case th ng bao g m 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 l i nhi u nh t có th ,ăđ cho 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 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ó 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 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" ... 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 mô hình Error! Bookmark not defined 2.2.3 Sinh Test case h... c a yêu c u ph n m m 1.2 Khái ni m v Test case 1.3 V năđ sinh Test case t 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. .. 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,ă

Ngày đăng: 25/01/2017, 17:31

Tài liệu cùng người dùng

Tài liệu liên quan