Professional Documents
Culture Documents
6 Testing
6 Testing
Mc ch
z
Hiu cc khi nim: verification, valdation, v testing Nm c cc nguyn l v kim th Hiu khi nim ca kim th (test case) Cc phng php thit k test case Lm th no kim th chng trnh Lm th no kim th h thng
Ni dung
z
Gii thiu
Verification,Validation, v Testing
z z z
Ti liu
z
z z
Pressman, Software Engineering, McGraw Hill (chapter 18 & 19) Sommerville, Software Engineering, Addison-Wesley (chapter 22 & 23) Gio trnh k ngh phn mm (chng 5) Cc ti liu in t khc
Verification,Validation, v Testing
z
c ng c t khng, c ng thit k khng pht hin li lp trnh c p ng nhu cu ngi dng khng c hot ng hiu qu khng pht hin li phn tch, li thit k (li mc cao) mc tiu l pht hin v sa li PM, nh gi tnh dng c ca PM
Thm nh (Validation)
khng thc hin chng trnh xt duyt yu cu, thit k, m ngun tin hnh mi cng on pht trin kh nh gi tnh hiu qu ca sn phm thc hin chng trnh cn c m ngun pht hin li lp trnh nh gi tnh hiu qu phn mm l cch duy nht kim tra yu cu phi chc nng
6
M ha m un & kim th m un
Dch v
Thit k cc ca kim th (test cases) vi kh nng tm kim cc li/khuyt tt Thc hin chng trnh vi mc ch tm cc li/khuyt tt mt li c pht hin mt kt qu ch ra s tht bi ca th tc kim th c tr li
8
Kim th tm khuyt tt
tm li lp trnh tin hnh da trn phn tch c t chc nng, phn tch m ngun nh gi tnh dng c ca sn phm s dng d liu thc (da trn thng k) s ngi truy cp s giao tc c s d liu ln
Kim th thng k
Yu cu i vi kim th
z
Tnh lp li
kim th phi lp li c (kim tra xem li c sa hay cha) d liu/trng thi phi m t c m bo kim tra ht cc trng hp (coverage) kim sot tin trnh/kt qu
10
Tnh h thng
c lp ti liu
Cc nguyn l kim th PM
z z z
Cc php kim th phi tng ng vi cc yu cu ca HT Mi php kim th nn c lp k hoch t rt sm trc khi tin hnh kim th Qui lut Pareto hay qui lut 80/20 (qui lut thiu s quan trng v phn b nhn t)
khong 80% kt qu l do 20% nguyn nhn gy ra 80% of all errors uncovered during testing will likely be traceable to 20% of all program modules or classes
11
z z
12
d liu thng thng: s, xu k t, file,... mi trng th nghim: phn cng, OS,... th t thao tc (khi kim th giao din) thng thng: s, xu k t, file,... mn hnh, thi gian phn hi
Kt qu mong mun
Kt qu thc t
13
da trn c t chc nng pht hin cc sai st v chc nng khng quan tm n cch ci t kim th c nghin cu m ngun phn tch th t thc hin cc lnh
14
16
17
To test case cho cc trng hp c bit - bin ca s trong my tnh (vd. 32767, -32768) - s khng (0) - s m, s thp phn - d liu sai kiu - d liu ngu nhin
18
Kim th cu trc
Structural testing / White box testing Xy dng ca kim th da trn phn tch m ngun Xy dng b test case kim tra mi dng lnh Phn tch cc lnh r nhnh, vng lp Ph hp vi cc m un nh L s b sung cho kim th chc nng
19
ng i trong m un
Phn tch m un xc nh ng i ng i l th t thc hin cc lnh t im bt u n im kt thc ca m un Thit k cc test case kim th mi ng i
20
Xc nh ng i
nh s cc khi lnh - nh s cc khi lnh, cu lnh iu kin - nh s cc hp im ca lung lnh Rt gn flow chart ( th) - cc khi tun t c tch hp thnh mt khi - tch hp khi tun t vo cu lnh iu kin k tip
21
Start 1 2 11 End 6 7 9 8 10 3
4 5
22
1 ng i: 1-2-3-8-1-9 1-2-4-6-7-8-1-9
9 4
3 5 7 8
23
ng i c lp
Khng th chn mi ng i - chn cc ng i c lp ng i c lp - c t nht mt cp khi lnh (mt cnh ca th) cha xut hin trong cc ng i c B cc ng i c lp l mt tp hp tha mn - mi khi lnh u c thc hin t nht mt ln - mi iu kin u c kim th vi hai trng hp true v false
24
1 2 4 3 5 7 8 6
25
ng i c lp
26
27
1 2 4 3 5 7 8 6
phc tp: 4
28
29
30
Kim th v g ri
z z z z
Kim th v g ri l hai cng vic phn bit Kim th nhm pht hin s tn ti ca li G ri nhm nh v v sa cha m gy li G ri bao gm vic sinh ra cc gi thit v hot ng ca chng trnh v kim th chng trnh tm li
31
Tin trnh g ri
Test results
Specification
Test cases
Locate error
Repair error
Re-test program
32
Mini test
To test case (da trn phn hoch tng ng) cho hm tm kim sau: input: - mng s nguyn a[] sp xp - kha tm kim k (s nguyn) output: v tr ca k trong mng a[] nu c, -1 nu khng c
33
S phn t ca mng: - 0, 1 - ln hn 1 Kha tm kim: - khng c trong mng + nh hn, ln hn + xen k - c trong mng + phn t u tin, cui cng + phn t v tr bt k
34
Kha
7 20 3 10 1 30 8 3 20 7
Kt qu
-1 -1 -1 0 -1 -1 -1 0 3 1
35
7 7 7 7 7 7
10 10 10 10 10 10
20 20 20 20 20 20
Ni dung
z
Gii thiu
Verification,Validation, v Testing
z z z
36
Cc giai on kim th
z z
Kim th h thng
37
Kim th n v
Unit testing Kim th cc m un, chng trnh ring l Ngi tin hnh: thng l ngi lp trnh S dng cc stubs v drivers Phi hp gia kim th cu trc v kim th chc nng - kim tra cu lnh iu kin, cu trc d liu iu kin bin,... Ti liu thng s si
38
Kim th n v
driver
Module
stub
stub
RESULTS
39
V d s dng stub
Kim th m un calender() c gi n m un tnh ngy trong tun calc_day()cha c pht trin. calender() pht trin, cn kim th
calc_day()
40
V d s dng stub
M un tnh ngy trong tun calc_day(): - input: ngy, thng, nm - output: tr xu k t l th ca ngy cho
String calc_day(Date d) { return "Sunday"; }
41
V d s dng stub
tng thch nghi, c th thay th d liu c nh bng cch nhp kt qu trc tip t bn phm.
String calc_day(Date d) { String s; cout << Enter day_of_week of << d; cin >> s; return s; }
42
V d v test drive
Test drive th nghim calc_day()
void calc_day_test_drive() { Date d; String s; while (1) { cout << Enter date: ); cin >> d; s = calc_day(d); cout << s << endl; } }
43
Kim th tch hp
Intergration testing Kim th tch hp cc unit Ngi tin hnh: ngi lp trnh, ngi thit k... Cc unit c thm vo theo mt trong 2 chin lc top-down hoc bottom-up Mc ch: - kim tra giao din gia cc unit - kim tra tnh ng n so vi c t - kim tra tnh hiu qu Thng s dng kim th chc nng c lp ti liu
44
Cc chin lc tch hp
Kim th trn xung (top-down) Kim th di ln (bottom-up) Kim th quay lui (regression)
45
u nhc im ca top-down
u im:
Pht hin sm cc li thit k (li cu trc) - kim th trn xung kt hp vi pht trin trn xung s gip pht hin sm cc li thit k v lm gim gi thnh sa i C sm phin bn thc hin c - phin bn thc hin vi cc chc nng chnh c sm - c th thm nh tnh dng c ca sn phm sm
Nhc im Nhiu m un cp thp rt kh m phng - thao tc vi cu trc d liu phc tp - tr li kt qu phc tp (con tr, nh, ...)
48
Cc m un cp thp c kim th trc M un mc trn c thay th bng m un iu khin (test driver), c chc nng - gi m un cn th nghim - truyn d liu - hin th kt qu Thay th dn cc drive
49
Kim th di ln
A
cluster
cluster
u nhc im ca bottom up
u i m - Trnh xy dng cc m un tm thi (stub) phc tp - Trnh sinh cc kt qu nhn to (nhp t bn phm) - Thun tin cho pht trin cc m un dng li Nhc im - Chm pht hin cc li kin trc - Chm c phin bn thc hin
51
52
Kim th beta
M rng ca alpha testing c tin hnh vi mt lng ln users User tin hnh kim th khng c s hng dn ca ngi pht trin; thng bo li kt qu cho ngi pht trin
54
Kim th h thng
z
M rng phm vi kim th, nhn nhn phn mm l mt yu t trong mt HTTT phc tp Kim tra cc yu t
kh nng phc hi sau li an ton hiu nng v gii hn ca phn mm
55