96
Lời nói đầu Để có được thành quả học tập như ngày hôm nay, ngoài sự nỗ lực phấn đấu không ngừng của bản thân thì một phần không nhỏ đóng góp nên thành công ấy là nhờ sự hướng dẫn, dạy dỗ của các thầy cô trong viện CNTT&TT nói riêng và trong trường ĐHBK Hà Nội nói chung trong suốt gần năm năm em học tập và nghiên cứu tại ĐHBK Hà Nội. Em xin gửi lời cảm ơn chân thành đến thầy Ths. Thạc Bình Cường – giảng viên bộ môn Công nghệ phần mềm, Viện Công nghệ thông tin và Truyền thông, trường Đại Học Bách Khoa Hà Nội đã định hướng, hướng dẫn và chỉ bảo tận tình trong quá trình em làm báo cáo thực tập tốt nghiệp này. Em xin chúc thầy và gia đình luôn luôn mạnh khỏe và hạnh phúc. Cuối cùng, em xin được cảm ơn đến gia đình, ta bè đã động viên, chăm sóc, đóng góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành báo cáo thực tập tốt nghiệp này. Tuy nhiên, do thời gian và trình độ có hạn nên báo cáo không thể tránh khỏi những thiếu sót. Chính vì vậy, em rất mong có được sự góp ý từ các thầy cô giáo và toàn thể các ta. Sinh viên thực hiện Nguyễn Vương Quyền Lí do lựa chọn đề tài Ngày nay công nghệ thông tin đang ngày càng phát triển nhanh chóng, kéo theo đó là hệ thống mạng và các phần mềm cũng gia tăng cả về số lượng theo quy mô rộng và cả về chất lượng phần mềm theo chiều sâu. Nhưng cũng từ đó đã nảy sinh ra nhiều vấn đề về lỗi hỏng hóc phần mềm không đáng có gây ra các ảnh hưởng nghiêm trọng đến xã hội, kinh tế,...Những lỗi này có thể do tự bản thân phần mềm bị hỏng do không được kiểm duyệt kĩ lưỡng trước khi đưa cho người dùng cuối hay cũng có thể do có người cố tình phá hoại nhằm đánh cắp thông tin cá nhân như mã số tài khoản ngân hàng, số điện thoại, danh bạ, tin nhắn,...Những vấn đề nan giải và cấp thiết này càng có xu hướng mở rộng trong các năm gần đây, điển hình như sự cố máy tính Y2K năm 2000 làm tê liệt nhiều hệ thống máy tính lớn hay như càng có nhiều loại virus phá hoại mới xuất hiện, tấn công vào các lỗ hổng bảo mật phần mềm làm tê liệt nhiều hệ thống phần mềm và phần cứng. Từ đây ta dễ dàng nhận ra là mặc dù phần mềm phát triển ngày càng phức tạp nhưng vấn đề chất lượng vẫn là một dấu hỏi lớn cần xem xét cẩn thận. Do đó yêu cầu đặt ra là cần có công tác kiểm thử phần mềm thật kĩ lưỡng nhằm ngăn chặn các lỗi hay hỏng hóc còn tiềm tàng bên trong Page 1 of 96

Đồ án kiểm thử phần mềm

Embed Size (px)

Citation preview

Li ni u c c thnh qu hc tp nh ngy hm nay, ngoi s n lc phn u khng ngng ca bn thn th mt phn khng nh ng gp nn thnh cng y l nh s hng dn, dy d ca cc thy c trong vin CNTT&TT ni ring v trong trng HBK H Ni ni chung trong sut gn nm nm em hc tp v nghin cu ti HBK H Ni.Em xin gi li cm n chn thnh n thy Ths. Thc Bnh Cng ging vin b mn Cng ngh phn mm, Vin Cng ngh thng tin v Truyn thng, trng i Hc Bch Khoa H Ni nh hng, hng dn v ch bo tn tnh trong qu trnh em lm bo co thc tp tt nghip ny. Em xin chc thy v gia nh lun lun mnh khe v hnh phc.Cui cng, em xin c cm n n gia nh, ta b ng vin, chm sc, ng gp kin v gip trong qu trnh hc tp, nghin cu v hon thnh bo co thc tp tt nghip ny.Tuy nhin, do thi gian v trnh c hn nn bo co khng th trnh khi nhng thiu st. Chnh v vy, em rt mong c c s gp t cc thy c gio v ton th cc ta.Sinh vin thc hin

Nguyn Vng QuynL do la chn tiNgy nay cng ngh thng tin ang ngy cng pht trin nhanh chng, ko theo l h thng mng v cc phn mm cng gia tng c v s lng theo quy m rng v c v cht lng phn mm theo chiu su. Nhng cng t ny sinh ra nhiu vn v li hng hc phn mm khng ng c gy ra cc nh hng nghim trng n x hi, kinh t,...Nhng li ny c th do t bn thn phn mm b hng do khng c kim duyt k lng trc khi a cho ngi dng cui hay cng c th do c ngi c tnh ph hoi nhm nh cp thng tin c nhn nh m s ti khon ngn hng, s in thoi, danh b, tin nhn,...Nhng vn nan gii v cp thit ny cng c xu hng m rng trong cc nm gn y, in hnh nh s c my tnh Y2K nm 2000 lm t lit nhiu h thng my tnh ln hay nh cng c nhiu loi virus ph hoi mi xut hin, tn cng vo cc l hng bo mt phn mm lm t lit nhiu h thng phn mm v phn cng. T y ta d dng nhn ra l mc d phn mm pht trin ngy cng phc tp nhng vn cht lng vn l mt du hi ln cn xem xt cn thn. Do yu cu t ra l cn c cng tc kim th phn mm tht k lng nhm ngn chn cc li hay hng hc cn tim tng bn trong phn mm m ta cha kp nhn ra. Tuy nhin v phn mm ngy cng ln, hng nghn module, c th do c mt cng ty hng nghn ngi pht trin v vy kim th c mt phn mm ln nh vy s tn rt nhiu cng sc v thi gian nu lm th cng, cha k n cht lng kim th s khng cao va tht chnh xc ph hp cho yu cu. Theo nhiu tnh ton th cng vic kim th ng vai tr ht sc quan trng trong quy trnh pht trin phn mm, n ng gp ti 40% tng ton b chi ph cho vic sn xut phn mm. V vy cn c cc h thng kim th phn mm mt cch t ng cho php ta thc hin c cc cng vic mt cch nhanh chng v an ton, chnh xc cao nht c th. V chnh l l do em la chn ti ny nghin cu, tm hiu v ra cc gii php mi ci tin cc quy trnh kim th nh hin nay sao cho c nng sut cao nht.

Chng I Khi qut v phn mm v kim th phn mm1.Tng quan v phn mm1.1. nh nghaC nhiu nh ngha v phn mm, sau y l mt v dPhn mm my tnh (ting Anh: Computer Software) hay gi tt l Phn mm (Software) l mt tp hp nhng cu lnh hoc ch th (Instruction) c vit bng mt hoc nhiu ngn ng lp trnh theo mt trt t xc nh, v cc d liu hay ti liu lin quan nhm t ng thc hin mt s nhim v hay chc nng hoc gii quyt mt vn c th no .( Theo Wikipedia)1.2.Phn loi phn mmC nhiu cch thc phn loi phn mm, song c th chia thnh hai loi chnh sau:1.2.1.Theo phng thc hot ng-Phn mm h thng dng vn hnh my tnh v cc phn cng my tnh. y l cc loi phn mm m h iu hnh lin lc vi chng iu khin v qun l cc thit bphn cng.-Phn mm ng dng: ngi s dng c th hon thnh mt hay nhiu cng vic no .-Cc phn mm chuyn dchm bao gmtrnh bin dchvtrnh thng dch.-Cc nn tng cng ngh nh.NET,1C:DOANH NGHIP...1.2.2.Theo kh nng ng dng-Phn mm thi gian thc (cc PM anti-virus, PM chat,...)-PM gii tr (Game,...)-PM nhng: chy trn cc thit b c th nh in thoi di ng, TV, my lnh,...-PM phn tn: chy trn nhiu thit b, phi hp hot ng ng thi vi nhau1.3. Quy trnh pht trin phn mm1.3.1.Tng quanCng nh mi ngnh sn xut khc, qui trnh l mt trong nhng yu t cc k quan trng em li s thnh cng cho cc nh sn xut phn mm, n gip cho mi thnh vin trong d n t ngi c n ngi mi, trong hay ngoi cng ty u c th x l ng b cng vic tng ng v tr ca mnh thng qua cch thc chung ca cng ty, hay t nht cp d n.C th ni qui trnh pht trin/xy dng phn mm (Software Development/Engineering Process - SEP) c tnh cht quyt nh to ra sn phm cht lung tt vi chi ph thp v nng sut cao.Vy qui trnh l g?Qui trnh c th hiu l phng php thc hin hoc sn xut ra sn phm. Tng t nh vy, SEP chnh l phng php pht trin hay sn xut ra sn phm phn mm.Thng thng mt qui trnh bao gm nhng giai on c bn sau:c t yu cu (Requirements Specification): ch ra nhng i hi cho c cc yu cu chc nng v phi chc nng.Pht trin phn mm (Development): to ra phn mm tha mn cc yu cu c ch ra trong c t yu cu.Kim th phn mm (Validation/Testing): bo m phn mm sn xut ra p ng nhng i hi c ch ra trong c t yu cu.Thay i phn mm (Evolution): p ng nhu cu thay i ca khch hng.Ty theo m hnh pht trin phn mm, cc nhm cng vic c trin khai theo nhng cch khc nhau. sn xut cng mt sn phm phn mm ngi ta c th dng cc m hnh khc nhau. Tuy nhin khng phi tt c cc m hnh u thch hp cho mi ng dng.1.3.2.Cc m hnh SEPC kh nhiu m hnh SLC khc nhau, trong mt s c ng dng kh ph bin trn th gii:M hnh Waterfall (Waterfall model)M hnh ch V (V-model)Cc m hnh nhiu phin bn (Multi-version models)M hnh mu (Prototype)M hnh tin ha (Evolutionary)M hnh lp v tng dn (Iterative and Incremental)M hnh pht trin ng dng nhanh (RAD)M hnh xon c(Spiral) M hnh pht trin da trn kim th (Test Driven Development-TDD)1.3.3. M hnh pht trin da trn kim th (TDD)a) nh ngha:TDD l mt phng php tip cn mi nhm ci tin quy trnh pht trin phn mm trong kt hp phng php Pht trin kim th trc (Test First Development) v phng php iu chnh li m ngun (Refactoring). Mc tiu quan trng nht ca TDD l vit m ngun sng sa, r rng v c th chy c.b) Cc ci tin ca TDD-TDD hon ton thay i cch pht trin truyn thng.Khi ta bt u thc hin mt tnh nng mi, cu hi u tin t ra l liu thit k hin ti c phi l thit k tt nht cho php ta thc hin cc chc nng hay khng.Nu c, ta tin hnh thng qua mt phng php Pht trin kim th trcTFD.Nu khng, ta iu chnh li n mt cch cc b thay i ring phn thit k b nh hng bi tnh nng mi, cho php ta d dng b thm cc tnh nng c th.Kt qu l cht lng thit k ca ta s lun lun c nng cao, do s thun li hn khi lm vic vi n trong tng lai.-Mt gi nh c bn ca TDD l ta c sn mt nn tng (framework) cho kim th mc n v (unit-test). Nhng lp trnh vin phn mm theo phng php Agile thng s dng cc cng c m ngun m thuc h xUnit, nh JUnit hay VBUnit, mc d cc cng c thng mi cng l nhng la chn kh d. Nu khng c nhng cng c nh vy th TDD hu nh khng th thc hin c.

Hnh1.2.Cc bc trong TDDHai nguyn tc n gin cho TDD:Trc tin, ta nn vit m x l nghip v mi ch khi mu kim th t ng thc hin khng thnh cng.Th hai, ta nn loi b bt k s trng lp m ta tm thy.Nhng quy tc n gin: Thit k vi m ngun m chng chy c v to ra kt qu phn hi gia cc quyt nh. T vit cc mu kim th ca ring mnh, khng ch ngi khc Mi trng pht trin phi cung cp c kt qu nhanh vi nhng thay i nh (v d nh ta cn mt trnh bin dch nhanh v chui kim th hi quy (regression test) Thit k phi bao gm nhng thnh phn gn kt, s ph thuc ln nhau nh (loosely coupled) thc hin cc mu kim th d dng hn (iu ny cng lm cho qu trnh nng cp v bo tr cc h thng ca ta d dng hn).c) TDD v cch kim th truyn thngTDD l mt k thut thit k vi mt hiu ng ph l vic m bo ton b m ngun c thc hin kim th mc n v.Tuy nhin, c nhng iu cn quan trng hn c vic thc hin kim th. Ta s vn cn xem xt cc k thut kim th khc nh kim th chp nhn (acceptance test) hay kim th d hi (investigative test) theo kiu Agile. Ta c th thc hin nhiu nhng kiu kim th ny trong d n nu nh ta chn lm iu (v ta nn lm).Vi kiu kim th truyn thng, mt mu kim th thnh cng s tm ra mt hoc nhiu li. Tng t vi TDD, khi mt mu kim th tht bi th ta cng c s tin trin bi v by gi ta bit rng ta cn phi gii quyt mt s vn . Quan trng hn, ta c mt cch o r rng v s thnh cng khi mu kim th khng tht bi na. T TDD lm tng nim tin v h thng p ng c cc yu cu c nh ngha cho n.Nh vi th nghim truyn thng,h thng cng c nhiu ri ro ln cng cn phi c nhiu mu kim th c thc hin.Vi c haikiu kim thtruyn thng v TDD ta khng phn u cho s hon ho, thay vo takim thtm quan trng ca h thng.Mt hiu ng ph th v ca TDD l ta t c 100% khi kim th ph m ngun (coverage test) - mi dng m u c kim th - iu m kim th truyn thng khng bo m d cho n khuyn khch iu .Khng c g ngc nhin khi ni rng TDD l mt k thut c t (specification technique), vi mt tc dng ph c gi tr l n em li kt qu trong vic kim th m ngun tt hn ng k so vi cc k thut truyn thng.d) Ti sao nn dng TDD ?Mt li th ng k ca TDD l n cho php ta thc hin cc bc nh khi vit phn mm.y l mt thc t mngi ta pht huy trong nhiu nm qua bi v nmang lihiu qunhiu hnso vi c gngvit mtrongnhngbc ln.V d, gi s ta thm mt s m ngun cho chc nng mi, bin dch, v kim th n.Kh nng rt ln lcc kim th ca ta s tht bi bi nhng li c trong m ngun mi. S d dng hn nhiu trong vic tm kim, v sau sa cha nhng li nu ta vit thm hai dng m mi thay v hai nghn dng.Nhiu ngicho rng cc k thut Agile hot ng rt n vi nhng d n nh, cn mt s t ngi trong mt vi thng, nhng chng khng hot ng i vi nhng d n thc s ln hn. Tuy nhin, iu khng hon ton ng. Ngi ta a ra mt bn bo co rng lm vic vi mt h thng Smalltalk s dng hon ton phng php hng kim th (test-driven) ht 4 nm vi chi ph nhn cng 40 man-year, ra kt qu gm 250,000 dng m ngun chc nng v 250,000 dng m kim th. C 4000 mu kim th chy di 20 pht, cn vi b mu kim th y th cn chy vi ngy. iu chng t rng TDD vn hot ng tt vi nhng d n c kch thc ln.e) Cng c: Cc cng c phc v cho TDD, thng l cc nn tng cho kim th m ngun mc n v (unit test): xUnit (Nunit, Junit,...)1.4.Mi quan h gia quy trnh pht trin phn mm v kim th phn mmPht trin phn mm v kim th phn mm c mi quan h khng kht vi nhau. Pht trin phn mm ngay t nhng pha u tin nh phn tch yu cu, phn tch thit k h thng,... phi c tin hnh kim th mt cch c lp bi mt i ng c kinh nghim nu c pht hin ra sai st th phi tin hnh sa cha kp thi, nu cng v sau mi pht hin ra li th chi ph sa cha l v cng ln. th di y minh ha cho iu ny

Hnh 1.4.Nhn vo m hnh ta cng c th d dng nhn thy l nhng pha u tin ca quy trnh pht trin phn mm th chi ph l nh khng ng k nhng cng v sau th chi ph tng ln rt nhiu ln. V vy ta khng th ch quan m l l vic kim th ngay t giai on u ca pht trin phn mm. iu ny l cn thit nht l i vi cc d n phn mm ln ca cc doanh nghip ngy nay.2. Tng quan v kim th phn mm2.1.Khi nimKim th phn mm l hot ng kho st thc tin sn phm hay dch v phn mm trong ng mi trng chng d nh s c trin khai nhm cung cp cho nhng ngi c li ch lin quan nhng thng tin v cht lng ca sn phm hay dch v phn mm y. Mc ch ca kim th phn mm l tm ra cc li hay khim khuyt phn mm nhm m bo hiu qu hot ng ti u ca phn mm trong nhiu ngnh khc nhau. (Wikipedia)Software testing l mt trong nhng k thut phn mm xc minh v xc nhn (verification and validation hay gi tt l V&V). Verification (ch V u tin) l qu trnh nh gi mt h thng hoc thnh phn xc nh xem cc sn phm ca mt giai on pht trin nht nh p ng cc iu kin p t vo lc bt u ca giai on hay khng. Cc hot ng Verification bao gm vic kim th v nh gi. V d trong phn mm chi game Monopoly, chng ta c th xc minh rng hai ngi choi khng th s hu cng mt nh. Validationis qu trnh nh gi mt h thng hoc mt thnh phn trong hoc cui ca qu trnh pht trin xc nh xem n p ng yu cu quy nhVerificationValidation

Thng qua Verification chng ta mun chc chn rng phn mm c cc hnh vi ng nh chng ta mong i. V d:

Trong game Monopoly, ngi chi c th c cng 200 im nu h h cnh trn sn hoc i qua Go nhng ngi lp trnh li ci t l ngi chi phi i qua Go(?!).Thng qua Validation chng ta s xc nhn rng nhng ni khng ng vi yu cu ca khch hng s khng c thc hin tip theo trong sut qu trnh xy dng xy dng phn mm. Validation lun lun lin quan ti vic so snh vi cc yu cu ca khch hng. V d khch hng yu cu l lm cho h game Monopoly

nhng i ng pht trin li lm a cho game Life v h ngh l game Life hay hn game Monopoly nh yu cu ban u (?!).

2.2.Vai tr ca kim th phn mmVic to ra mt sn phm phn mm phi tri qua nhiu giai on, ngi ta gi l qui trnh pht trin phn mm, bt u t khi bt u c tng cho n khi a ra sn phm phn mm thc thi. Khi lng cng vic trong tng giai on ca qu trnh sn xut phn mm cng thay i theo thi gian. Bng 1.1 minh ha c th hn v iu ny.

Bng 1.1 - T l cng vic ca cc giai on pht trin phn mm Nh vy, mt sn phm phn mm khng ch n gin l cc on m chng trnh m cn rt nhiu phn n ng sau n (Hnh 1.1). V vy, vic mc li khng ch xy ra trong khi lp trnh m cn xy ra cao hn trong cc cng on khc ca qui trnh pht trin mt sn phm phn mm. Vic kim th cng v th phi c tin hnh trong tt c cc phn to nn mt sn phm phn mm.2.3.Cc k thut kim th phn mm Kim th hp en (Black Box testing): dng kim tra chc nng m khng xem xt m ngun cng nh cu chc chng trnh bn trong. Thng kim th hp en quan tm nhiu n cc b d liu kim th u vo. Kim th hp trng (White Box testing): khc vi kim th hp en, kim th hp trng xem xt mi module trong chng trnh, cc lung thc hin cng vic t a ra cc chin lc k hoch c th cho vic kim th. Kim th hp xm (Grey Box Testing): y l mt k thut kim th mi da trn nhng c tnh ca c kim th hp en v hp trng. Mc tiu chnh ca kim th hp xm l kim th cc ng dng trn nn web (web based).2.4.Cc giai on hay cp kim th phn mm Kim th n v (Unit test): kim th tng module nh trong chng trnh tm ra cc li v khc phc. Kim th tch hp: sau khi thc hin thnh cng kim th n v, ta s tin hnh tch hp cc module ny vi nhau v kim th trn ton b khi m lnh tch hp ny. Kim th h thng (System test): kim th trn ton b ng dng. Kim th chp nhn (Acceptance Test): khu ny do khch hng trc tip m nhn trc khi bn giao sn phm chnh thc Kim th hi quy l hot ng tr gip m bo rng cc thay i khng a ra nhng hnh vi hoc nhng li b sung khng mong i.2.5. Mt s loi hnh kim th ph binHin nay, do s pht trin mnh m ca cng nghm phn mm nn c mt s loi hnh kim th tiu biu nh: Kim th cc phn mm trn Desktop: y l cc ng dng c ci t trc tip trn my tnh c nhn nhm thc hin cc chc nng theo yu cu ngi dng. y vn ang l nhng ng dng ph bin nht. Kim th Web hay kim th trn m my: vi s ln mnh ca Internet th cc ng dng web cng ngy cng pht trin v ang dn thay th cc ng dng trn Desktop truyn thng nh Google Document, Microsoft web apps,... Kim th trn Mobile: ngy nay x hi vi s pht trin nhanh chng, cc thit b di ng (in thoi thng minh, my tnh bng,...) c s lng ngi dng cng ang tng ln chng mt, cng vi l s lng phn mm phc v cho nhu cu cng tng cao v vy y l mt lnh vc y tim nng v thch thc trong cng ngh phn mm.

Chng II Cc k thut c bn, giai on (cp ) v cng c kim th phn mm t ng1.Cc k thut c bn ca kim th phn mm1.1.Kim th hp en (Black Box Testing - BBT)1.1.1.nh nghanh ngha: Kim th hp en hay cn gi l kim tra chc nng v th nghim hnh vi. Xem chng trnh nh l mt hp en, hon ton khng quan tm v cch c x v cu trc bn trong ca chng trnh. Thay vo , Tp trung vo tm cc trng hp m chng trnh khng thc hin theo cc c t ca n.1.1.2.Cc phng php kim th hp en Phn lp tng ng Equivalence partitioning. Phn tch gi tr bin Boundary value analysis. Kim th mi cp All-pairs testing. Kim th fuzz Fuzz testing. Kim th da trn m hnh Model-based testing. Ma trn du vt Traceability matrix. Kim th thm d Exploratory testing. Kim th da trn c t Specification-base testing1.1.3.c im BBTKim th da trn c t tp trung vo kim tra tnh thit thc ca phn mmtheo nhng yu cu thch hp. Do , kim th vin nhp d liu vo, v ch thyd liu ra t i tng kim th. Mc kim th ny thng yu cu cc ca kim thtrit c cung cp cho kim th vin m khi c th xc minh l i vi dliu u vo cho, gi tr u ra (hay cch thc hot ng) c ging vi gi trmong mun c xc nh trong ca kim th hay khng. Kim th da trnc t l cn thit, nhng khng ngn chn nhng ri ro chc chn.1.1.4.Nguyn l thc hin ca BBTKim th hp en khng c mi lin quan no ti m lnh, v kim th vin ch rt n gin tm nim l: mt m lnh phi c li. S dng nguyn tc Hy i hi v ta s c nhn, nhng kim th vin hp en tm ra li m nhng lptrnh vin khng tm ra. Nhng, mt khc, ngi ta cng ni kim th hp enging nh l i trong bng ti m khng c n vy, bi v kim th vin khngbit cc phn mm c kim tra thc s c xy dng nh th no. l l do m c nhiu trng hp m mt kim th vin hp envit rt nhiu ca kim th kim tra mt th g m ng l c th ch cn kim tra bng 1 ca kim th duy nht, v/hoc mt s phn ca chng trnh khng c kim tra cht no.1.1.5.Cc trng hp ng dng Phn lp tng ng - Equivalence partitioning. tng : phn hoch min d liu vo thnh cc d liu c lin h vi nhauMi lp dng kim th 1 chc nng , gi l lp tng ng.Cc bc : i vi d liu u vo , xc nh cc lp tng ng t min d liu. Chn d liu i din cho mi lp tng ng Kt hp cc d liu th bi tch cc to ra b d liu kim th.Nguyn tc phn hoch cc lp tng ng Nu d liu vo ph thuc mt khong , xy dng 1 lp cc gi tr ln hn 1 lp cc gi tr nh hn N cc gi tr hp l Nu d liu l tp hp cc gi tr , Xy dng 1 lp tp rng 1 lp qu nhiu cc gi tr N lp hp l Nu d liu u vo l iu kin rng buc , xy dng 1 lp cc rng buc c tha mn. 1 lp vi rng buc khng c tha mn. Phn tch gi tr bin - Boundary value analysis.:C s : li thng xut hin gn cc gi tr bin ca min d liu.Tp trung phn tch cc gi tr bin ca min d liu xy dng d liu kim th.Nguyn tc kim th cc d liu bao gm: Gi tr nh nht. Gi tr gn k ln hn gi tr nh nht. Gi tr bnh thng. Gi tr gn k nh hn gi tr ln nht Gi tr ln nhtNguyn tc chn d liu th Nu d liu vo thuc mt khong , chn 2 Gi tr bin. 4 gi tr = Gi tr bin sai s nh nht Nu gi tr vo ph thuc danh sch cc gi tr , chn phn t ln th nht , phn t th hai , phn t k cui , phn t cui. Nu d u vo l iu kin rng buc s gi tr , chn s gi tr ti thiu v s gi tr ti a v mt s gi tr khng hp l. Bng quyt nh- Decision Table Bases testing-Lm gim s lng tets casse khng cn thit so vi 2 k thut trn v n loi tr cc php kt hp khng cn thit gia cc gi tr bin u vo.-Lit k nguyn nhn (cause) kt qu (result) trong mt ma trn. Mi ct ma trn i din cho 1 php kt hp gia cc cause trong trong vic to ra 1 result-Cc bc to bng quyt nh Lit k cc nguyn nhn trong bng quyt nh Tnh tng s lng kt hp gia cc cause in vo cc ct vi tt c cc kt hp c th c Rt bt s lng cc php kt hp d tha Kim tra cc php kt hp c bao ph ht mi trng hp hay khng B xung kt qu vo bng quyt nh th nguyn nhn kt qu.-L k thut thit k test case da tn th -Tp trung vo vic xc nh cc mi kt hp gia cc iu kin v kt qu m cc mi kt hp mang li.-Cc bc xy dng th: B1: Phn chia h thng thnh vng hot ng B2: Xc nh nguyn nhn kt qu B3: Chuyn ni dung ng ngha trong c t thnh th lin kt cc cause v result B4: Chuyn i th thnh bng quyt nh B5: Thit lp danh sch test case t bng quyt nh. Mi test case tng ng vi 1 ct trong bng quyt nh Kim th da trn yu cu - Specification-based testing.Phng php kim th da vo chc nng - Specification-based testing: Vic kim th c tin hnh da vo vic kim th chc nng ca phn mm xem n c ph hp vi yu cu ca ngi dng hay khng. V vy, cc tester nhp data vo phn mm v ch cn xem kt qu ca phn mm v cc mc tiu test. Mc test ny thng yu cu cc tester phi vit test case y trc khi test, khi test, n gin ch cn thc hin theo cc bc m t trong test case thao tc v nhp data vo, sau xem kt qu tr v hoc hnh vi ca phn mm, ri so snh vi kt qu mong i c vit trong test case, in kt qu test vo test case l OK (OK = is chng trnh lm ng theo mong i) hay NG (not good = is not chng trnh khng lm ng theo mong i). Specification-based testing l cn thit, nhng n khng bo m chc chn cc ri ro xy ra (n ch l iu in cn ch khng phi l iu kin ).1.1.6.u, nhc im ca BBTa)u dim: Tester khng cn kin thc thc hin, bao gm c ngn ng lp trnh c th. Tester thc hin trn quan im ca ngi s dng. Gip pht hin bt k s m h hoc khng nht qun trong cc c t chc nng.b)Nhc im: Ch c mt s nh cc yu t u vo c th thc s c th c th nghim, kim tra tt c cc dng u vo c th s mt gn nh mi mi. C th li nhiu phn chng trnh cha c kim tra.1.2.Kim th hp trng (White Box Testing - WBT)1.2.1.nh nghaL phng php kim nghim da vo cu trc/m lnh chng trnh. WBT kim nghim mt chng trnh (mt phn chng trnh, hay mt h thng, mt phn ca h thng) p ng tt tt c cc gi tr input bao gm c cc gi tr khng ng hay khng theo d nh ca chng trnh. Chin lc ny xut pht t d liu kim th bng s kim th tnh logic ca chng trnh. Kim th vin s truy cp vo cu trc d liu v gii thut bn trong chng trnh (v c m lnh thc hin chng).1.2.2.c im ca WBT Da vo thut gii c th, vo cu trc d liu bn trong ca n v phn mm cn kim th xc nh n v phn mm c thc hin ng khng. Ngi kim th phi c k nng, kin thc nht nh c th thng hiu chi tit v on code cn kim th. Thng tn rt nhiu thi gian v cng sc nu mc kim th c nng ln cp kim th tch hp hay kim th h thng. Do k thut ny ch yu c dng kim th n v. Trong lp trnh hng i tng, kim th n v l kim th tng tc v ca 1 class chc nng no . C 2 hot ng kim th hp trng : Kim th lung iu khin. Kim th dng d liu.Ph thuc vo cc ci t hin ti ca h thng v ca phn mm, nu c s thay i th cc bi test cng thay i theo c ng dng trong cc kim tra cp m un, tch hp v h thng ca qu trnh testphn mm.1.2.3.Cc k thut kim th ca WBTWBT da trn: Cc cu lnh (statement) :Thit k qu trnh kim tra sao cho mi cu lnh ca chng trnh c thc hin t nht mt ln. Phng php kim tra ny xut pht t tng: T phi mt cu lnh c thc hin, nu khng ta khng th bit c c li xy ra trong cu lnh hay khng Nhng vic kim tra vi mt gi tr u vo khng m bo l s ng cho mi trng hp ng dn (path) L phng php kim tra bao trm mi ng dn ca chng trnh v cn kt hp vi lc tin trnh.T tng: Vit cc ca kim th m mi quyt nh c kt lun ng hay sai t nht 1 ln. Ni cch khc, mi hng phn nhnh phi c xem xt k lng t nht 1 ln. Nhn xt: Phng php kim tra theo ng dn ph thuc nhiu vo cc biu thc iu kin. Tuy nhin, c nhng trng hp s lng ng dn qu ln (trng hp vng lp). V vy thng khng phi l la chn thc t tin hnh vic kim tra tnh ng n ca chng trnh. Cc iu kin (condition) L phng php kim tra cc biu thc iu kin trn 2 gi tr true v false. Vit cc ca kim th m bo rng mi iu kin trong mt quyt nh m nhn tt c cc kt qu c th t nht mt ln. Nhn xt: Khi kim tra bng phng php kim tra theo iu kin cn xem xt kt hp cc iu kin vi nhau. Vng lp (loop) L phng php tp trung vo tnh hp l ca cc cu trc vng lp.- Cc bc cn kim tra cho vng lp n: + B qua vng lp. + Lp mt ln. + Lp hai ln. + Lp m ln (m