i cám n
Li u tiên, chúng em xin chân thành cám n thy Lâm Quang V, thy
Phm Minh Tun ã tn tâm hng dn chúng em, giúp chúng em hoàn thành
tài này.
Chúng em cng xin cám n các thy cô, cán b ging viên trã nhit tình
óng góp nhng kinh nghim, ý kin quý báu cho chúng em.
Chúng em xin gi li cám n tt c các quý thy cô ã ging dy, cung cp
cho chúng em vn kin thc quý báu sut nhng nm hc va qua.
Chúng em cám n khoa Công ngh thông tin trng i hc Khoa hc T
nhiên ã to u kin cho chúng em thc hin tài này.
Chúng tôi cng xin cám n các bn ã nhit tình giúp khi chúng tôi
ng phi nhng khó khn, ng viên chúng tôi trong sut quá trình thc hin
tài lun vn tt nghip này.
Mc dù chúng em ã c gng rt nhiu hoàn thành tt lun vn, nhng
chc chn không tránh khi nhng thiu sót, chúng em rt mong c s cm thông
và tn tình giúp ca quý thy cô.
Tp. H Chí Minh, 07/2004
Nhóm sinh viên thc hin
V Ngc Sen – Nguyn Th Quyên
i mu
Sau cuc khng hong trong ngành công ngh thông tin vào u nhng nm
2000, n nay, công ngh sn xut phn mm trên th gii và nht là Vit Nam
ang tin nhng bc tin mnh m hn. Vt qua cuc khng hong này, ngoài
nhng kinh nghim trong kinh doanh, các công ty tin hc Vit Nam nhn thc c
rng quy trình sn xut phn mm ca chính công ty h cn c nâng cp vi mc
tiêu u tiên là nâng cao cht lng, tng tính chuyên nghip trong sn xut phn
mm. Và t ó tin trình kim th phn mm tr thành tin trình vô cùng quan
trng trong quy trình sn xut phn mm.
Trong mt quy trình sn xut phn mm, ngoài vic thành lp các chun
coding, phân công sp xp các công vic cho các thành viên trong t chc, qun lý
các tài liu nh các bn c t yêu cu, bn phân tích thit k chng trình, chng
trình ngun,… thì mt yu t cng rt quan trng là h tr qun lý tin trình kim
th bao gm h tr qun lý các trng hp kim th, các bn báo cáo kim th, các
li…
Chúng emã thc hin tài “Tìm hiu v kim th phn mm và Xây dng
h thng h tr qun lý tin trình kim th” nhm hiu rõ tin trình kim th, các
loi kim th, cách kim th, vic qun lý kim th, nhng mc tiêu, thun li mà
tin trình này em li.
Lun vn ca chúng em c trình bày vi by chng chính, bao gm:
- Chng 1 Mu
- Chng 2 Tng quan v kim th phn mm
- Chng 3 Các loi kim th phn mm
- Chng 4 Các công c h tr
- Chng 5 Phát trin công c qun lý tin trình kim th
- Chng 6 Th nghim
- Chng 7 Tng kt và hng phát trin
- Ph lc
C LC
Chng 1 u 1
1.1 Tm quan trng ca vic qun lý tin trình kim th 1
1.2 Khái quát vai trò qun lý kim th 1
1.3 Mc tiêu tài 2
Chng 2 ng quan v kim th phn mm 4
2.1 Kim th phn mm là gì? 4
2.2 Mc ích ca vic kim th phn mm 4
2.3 Các giai n kim th phn mm 5
2.3.1 Giai n 1: Phác ha môi trng ca phn mm 6
2.3.2 Giai n 2: Tìm các kch bn kim th. 9
2.3.3 Giai n 3: Thc thi và ánh giá kch bn kim th 11
2.3.4 Giai n 4: ánh giá tin trình kim th 12
2.4 Kim th trong các giai n phát trin phn mm 13
2.4.1 Kim th trong giai n c t yêu cu 14
2.4.2 Kim th trong giai n thit k 15
2.4.3 Kim th trong giai n lp trình 16
2.5 Ngi ki m th 16
2.6 Lung thông tin kim th 18
2.7 Phân bit các khái nim 19
2.7.1 Phân bit QC và Q A 19
2.7.2 Phân bit Error, Fault, Failure 20
2.8 Cht lng phn mm và vic m bo cht lng phn mm 22
2.8.1 Các nhân t cht lng ca phn mm 22
2.8.2 o cht lng phn mm 24
2.8.3 Vai trò ca vic qun lý cht lng phn mm 26
2.8.4 Ti sao cn qun lý cht lng ? 30
Chng 3 Các loi kim th phn mm 31
3.1 Kim th hp e n 31
3.2 Ki m t h hp trng 33
3.3 Nhng nét khác nhau c bn gia kim th hp en và hp trng 34
3.4 Kim th cho h thng thi gian thc 35
3.5 Các loi kim th hp en 36
3.5.1 Oracles testing 36
3.5.2 Domain testing 37
3.5.3 Function testing 39
3.5.4 Combination testing 40
3.5.5 Regression testing 47
3.5.6 Risk based testing 50
3.5.7 Senario testing 55
3.5.8 Specification based testing 58
3.5.9 User testing 62
3.5.10 Stress testing 63
3.5.11 Integration Testing 64
3.5.12 Acceptance Testing 64
3.5.13 Beta Testing 65
3.5.14 Exploratory testing 66
3.6 Các loi kim th hp trng 70
Unit testing 70
Chng 4 Các công c h tr 72
4.1 Công c h tr qun lý kim th 72
4.1.1 Nhn xét chung 72
4.1.2 TestLink 73
4.1.3 Qatraq 75
4.1.4 RTH 77
4.1.5 Mantis Bugtracking 77
4.2 Công c kim th phn mm tng 78
4.2.1 TestComplete 78
4.2.2 Winrunner 80
4.3 Công c kim th web tng 81
4.3.1 Gii thiu 81
4.3.2 Proxy Sniffer 82
4.3 .3 Công c We bserve r St res s 84
4.3.4 Apche Jmeter 85
4.3.5 Wapt 86
4.4 Công c kim th Unit [6] 88
4.4.1 PHP Unit Testing 88
4.4.2 Cunit testing [7] 98
4.4.3 JUnit Testing [8] 100
Chng 5 Phát trin công c qun lý kim th 108
5.1 Gii thiu công c RTH 108
5.2 Lý do chn công c RTH 114
5.3 Phát trin công c RTH 114
5.4 Mt v ài giao di n .117
Chng 6 Th nghim 118
6.1 Th nghim vi các loi test 118
6.1.1 Oracles 118
6.1.2 Domain testing 120
6.1.3 Function testing 121
6.1.4 Combination testing 123
6.1.5 Regressiont testing 125
6.1.6 Risk-based testing 128
6.1.7 Scenario testing 130
6.1.8 User testing 134
6.1.9 Stress testing 135
6.1.10 Exploratory testing 135
6.2 Th nghim công c RTH 140
6.2.1 To d án 140
6.2 .2 Thêm Requirem e nt v ào Pro jec t 140
6.2.3 Thêm mt release 141
6.2 .4 T hêm Build v ào Relea se 141
6.2 .5 T hêm Tes tSet v ào Build 141
6.2.6 T hêm Test vào T estSet 142
6.2.7 Thêm các bc cho Test 142
6.2.8 Cp nht kt qu test (To TestRun) 143
6.2.9 Thêm li Defects 143
6.3 Th nghim công c RTH kt hp vi WinRunner 144
Chng 7 ng kt và Hng phát trin 145
7.1 Tánh giá 145
7.1.1 Nhng kt qut c 145
7.1.2 Nhng mt còn hn ch 146
7.2 Hng phát trin ca chng trình 146
DANH SÁCH BNG
ng 2-1 Các trng hp kim th ph các nhánh và các câu lnh 6
ng 2-2 So sánh nh ngha ca QC và QA 19
ng 2-3 Nhng m khác nhau gia QC và QA 20
ng 2-4 Ví d so sánh error, fault, failure 20
ng 2-5 Các nhân t và o cht lng [1] 25
ng 3-1 Bng kt hp giá tr các bin 40
ng 3-2 Bng kt hp giá tr các bin vi cách tip cn th 1 41
ng 3-3 Bng kt hp giá tr các bin vi cách tip cn Kt hp y 41
ng 3-4 Bng kt hp giá tr các bin vi cách tip cn Kt hp tng ôi 42
CÔNG THC
Công thc 2-1 Công thc o cht lng phn mm [1] 23
DANH SÁCH HÌNH
H ình 2-1 Ng i l p trình 1 6
Hình 2-2 Ngi kimth 17
Hình 2-3 Kin thc cn có ca ngi kim th 17
Hình 2-4 Mô hình lung thông tin kim th [1] 18
Hình 2-5 Mô hình mô phng các bc QC c bn [9] 19
Hình 2-6 Mô hình mô phng các bc QA c bn [9] 19
Hình 2-7 Mô hình các nhân t cht lng ca McCall [1] 22
Hình 2-8 Mô hình các hot ng trong CM [10] 27
Hình 2-9 Tng quan v CM [10] 28
Hình 3-1 Kim th hp en [11] 31
Hình 3-2 Kim th hp trng [11] 33
Hình 3-3 Font trong Word và Word Pad 37
Hình 3-4 Chu trình kim th da trên ri ro 51
Hình 4-1 Mô hình use case ca công c qun lý kimth TestLink 73
Hình 4-2 Quá trình ghi li d liu – công c Proxy Sniffer 82
Hình 4-3 Qui trình thc thi load test – Công c Proxy Sniffer 83
H ình 4-4 Công c W apt 8 6
Hình 4-5 Giao din ha ngi dùng – JUnit testing 107
Hình 5-1 Giao din TreeView trc quan hn 117
Hình 5-2 Màn hình to Template Testcase 117
Hình 6-1 Th nghim thc t vi Oracles testing 119
Hình 6-2 Th nghim thc t vi Domain testing 121
Hình 6-3 Th nghim thc t 1 vi Function testing 122
Hình 6-4 Th nghim thc t vi Function testing 123
Hình 6-5 Th nghim thc t vi Combination testing 124
Hình 6-6 WinAmp phiên bn 2. 79 & phiên bn 5.03 125
Hình 6-7 Cp nht thông tin v bài hát trong Winamp. 126
Hình 6-8 Li trong Winamp v5.03 vi Regression testing 127
Hình 6-9 Th nghim thc t vi Risk-based testing 129
Hình 6-10 Th nghim thc t vi Scenario testing 130
Hình 6-11 Th nghim thc t vi User testing 134
Hình 6-12 Giao din ng dng Paint 136
Hình 6-13 Màn hình to d án ca RTH 140
Hình 6-14 Màn hình to yêu cu ca RTH 140
Hình 6-15 Màn hình to release ca RTH 141
Hình 6-16 Màn hình thêm build ca RTH 141
Hình 6-17 Màn hình thêm TestSet ca RTH 141
Hình 6-18 Màn hình thêm test ca RTH 142
Hình 6-19 Màn hình thêm tng bc test ca RTH 142
Hình 6-20 Màn hình thêm TestRun ca RTH 143
Hình 6-21 Màn hình thêm li Defect ca RTH 143
Hình 6-22 Giao din công c kim th phn mm tng WinRunner 144
Thut ng / T vit tt / Khái nim
APIs
Software Interfaces: Giao din phn mm.
BVA
Phân tích giá tr bin.
CSDL
s d liu.
F
false: Là giá tr sai (0)
GUI
Graphics User Interface: Giao din ha ngi
dùng.
QA
Quality Assurance: B phn bo m cht lng
Quality
Cht lng: Vic tha mãn mt sn phm theo úng
s mong i ca khách hàng, da vào nhng yêu cu
cho sn phm.
Software
Phn mm: Là nhng chng trình, nhng th tc
c gn lin vi các tài liu mô t và các d liu có
liên quan n tác v ca mt h thng máy tính.
SQS
Software Quality System: H thng cht lng phn
mm
T
true: Là giá trúng (1)
Chng 1 - Mu
Trang 1
Chng 1 u
1.1 Tm quan trng ca vic qun lý tin trình kim th
Tha mãn nhu cu ca ngi dùng là vic rt quan trng khi to ra sn phm.
Vì vy, m bo cht lng phn mm là mt phn không th thiu trong quá trình
sn xut phn mm. Và vn qun lý cht lng c t ra.
n na, quan m hin i v vic m bo cht lng ngày càng phc tp
n, không còn gii hn mc tiêu tha mãn yêu cu khách hàng. Mt sn phm
phn mm cht lng cao phi kt hp nhiu nhân t cht lng
1
(thuc tính cht
ng
2
). Có th chia các nhân t cht lng thành ba loi:
• Nhng nhân t có th tìm thy trong c t yêu cu, ví d nh tính linh
ng.
• Nhng nhân t mà phn mm có tháp ng, ví d nh tính hiu dng.
• Nhng nhân t mà ngi lp trình s chú trng nhng ngi dùng thì
không, ó là tính tái s dng.
mt sn phm t c nhng nhân t cht lng này không phi là mt
vic d dàng. Vì vy, vic qun lý cht lng phn mm là mt công vic không th
thiu trong công ngh phn mm.
1.2 Khái quát vai trò qun lý kim th
Thu ban u ca ngành công nghip máy tính nói chung và công ngh phn
mm nói riêng, vic phát trin phn mm c xem là mt tin trình “vit và sa”
3
,
không h có mt k hoch nào trc tin trình này. Yêu cu ca ngi dùng còn
phm vi nh nên bn thân ngi vit phn mm có th t nhc và t kim tra
tha mãn yêu cu ngi dùng. Nhng hin nay quy mô phn mm rt ln, cn
nhiu ngi làm vic chung; do ó kim th phn mm tr thành tin trình quyt
nh s thành công ca d án.
1
Nhân t cht lng: quality factors
2
Thuc tính cht lng: quality attributes
3
Vit và sa: code and fix
Chng 1 - Mu
Trang 2
Nu ta t qun lý tin trình kim th thì không n gin chút nào. Vì vi s
ng trng hp kim th rt ln, ta cn:
• Qun lý nhng trng hp kim th nào ã c thc hin và nhng
trng hp kim th nào cha c thc hin.
• Còn phi qun lý kt qu kim th thy c kh nng áp ng yêu
cu ca phn mm. Kt qu này sc thay i và phi c cp nht
li sau mi phiên bn ca sn phm.
• Yêu cu ngi dùng s còn c thay i trong sut quá trình phát trin.
Do ó các trng hp kim th liên quan n nhng yêu cu này cng
c thay i theo. Mt s trng hp kim th sc to mi, mt s
sc cp nht li và c coi là phiên bn mi ca trng hp kim
thó.
Tt c nhng thông tin này u phi c ghi nhn li.
Do ó chúng ta có th nói rng mt d án mun thành công không th không có
mt chng trình qun lý tin trình kim th.
1.3 Mc tiêu tài
Tìm hiu chi tit v tin trình kim th phn mm:
• nh ngha kim th
• Tm quan trng
• Mc ích, vai trò ca tin trình kim th
• Các giai on trong tin trình kim th
• Kim th trong các giai n phát trin phn mm
• Các chun trong kim th
• Tìm hiu rõ v các loi kim th và tin hành kim th thc ti vi
tng loi kim th.
Tìm hiu v mt s công c h tr qun lý tin trình kim th nh RTH,
TestLink, Qatraq,…
Chng 1 - Mu
Trang 3
Tìm hiu v mt s công c kim th tng:
+ Kim th phn mm tng: WinRunner
+ Kim th web tng: Proxy sniffer
và tin hành kim th thc t vi các công c này.
ng dng nhng kin thc ó phát trin h thng h tr qun lý:
• Các yêu cu
• Tin trình kim th
• Ghi
4
li
• Cho phép to các trng hp kim th mu
5
• Gi Emai thông báo li cho nhà lp trình ngay khi có li xut hin
• Kt hp kim th tng: winrunner_ công c kim th tng phn
mm, proxy sniffer_ công c kim th tng web.
4
Ghi: report
5
Trng hp kim th mu: Template testcase
Chng 2 - Tng quan v kim th phn mm
Trang 4
Chng 2 Tng quan v kim th phn mm
2.1 Kim th phn mm là gì?
Kim th phn mm là mt phn ca tin trình phát trin phn mm. Nó là
tin trình ánh giá mt h thng hoc thành phn ca h thng bng tay hoc t
ng, nhm xác nh li s tho mãn các yêu cu phn mm.
Kim th là tin trình thc thi các chng trình vi dnh tìm kim li. ây là
tin trình nng ng, sáng to và y th thách trí tu.
Các phát biu sai:
• Kim th là tin trình chng minh chng trình không b li.
• Kim th là tin trình xác minh, tin tng rng chng trình ã làm
c nhng gì ã c dnh.
Mt test thành công: là làm biu hin ra mt li.
Vic ngi dùng gi thông báo “phn mm có li” là iu mà các nhà phát
trin phn mm không mun. Khi ó, chc chn h s t hi: Làm th nào gii
quyt nhng li này? Và s mt rt nhiu thi gian kim tra cn thn hàng trm,
hàng ngàn bin, câu lnh. Vì vy cách hiu qu nht là làm th nào phòng tránh
nhng li này?
2.2 Mc ích ca vic kim th phn mm
Theo Deutsch[1]:
“Phát trin h thng phn mm gm rt nhiu hot ng sn xut, và nguy
có li là rt ln. Li có th xy ra ngay lúc khi u ca tin trình, hay trong
các giai on thit k và phát trin sau này
Kim th phn mm nhmm bo cht lng phn mm.
Theo Glen Myers[1]::
Kim th là tin trình thc thi chng trình tìm ra li.
• Mt trng hp kim th là trng hp có xác xut cao tìm ra li cha
biu hin.
• Kim th thành công khi phát hin li.
Chng 2 - Tng quan v kim th phn mm
Trang 5
Nhng mc ích trên ngc vi quan m thông thng là “kim th thành
công là kim th không tìm ra li nào”. Nu kim th không phát hin ra li thì ta
s ngh rng cu hình kim th này cha úng và li vn còn tim n trong phn
mm. Nu nhng li này c phát hin bi ngi dùng thì chi phí cho vic bo trì,
xác nh li có th gp rt nhiu ln chi phí tìm li trong quá trình phát trin. Vy
kim th thành công là kim th tìm ra li.
Chúng ta cn phi nh rng: “Kim th không th chng minh c vic
không có khim khuyt, nó ch có th chng minh rng khim khuyt phn mm hin
hu.”
2.3 Các giai n kim th phn mm
4 giai on trong quá trình kim th:
1. Phác ha môi trng ca phn mm: Tìm xem có khong bao nhiêu
trng hp cn kim th, là nhng trng hp nào.
2. Tìm kch bn kim th.
3. Thc thi và ánh giá kch bn kim th.
4. o lng s tin b ca phn mm sau khi ã c kim th.
hiu rõ v 4 giai on này ta xét mt ví dn gin v cng trình có hai d
liu u vào sau:
Thi gian hin ti: 9:28:32
Ngày hin ti: 24 Aug 2006
Thi gian nhp: ……………
Ngày nhp: ………………
Ni dùng giao tip vi phn mm bng cách nhp các d liu u vào cn
thit, và phn mm s cung cp d liuu ra. Vi ví d này, ngi dùng cung cp
u vào { thi gian, ngày tháng, phím Tab, phím Alt-F4}, h iu hành s cp b
nh chy chng trình hin th thi gian và ngày tháng hin hành.
Ngi kim th s kim tra tng d liuu vào, xem nó có hp l không,
b nh có thc hin chng trình không, hay h thng khoá chc nng chính.
Nhng nhà kim th phi kim tra tt c trng hp có th xy ra. H suy ngh cách
ngi dùng làm phn mm biu hin li.
Chng 2 - Tng quan v kim th phn mm
Trang 6
Sau ây là on mã ngun cho chng trình trên:
2.3.1 Giai on 1: Phác ha môi trng ca phn mm
Bng di ây là bng lit kê các trng hp kim th ph các nhánh và các
câu lnh ca n mã lnh trên.
Possible
While Case1 If1 Case 2 If 2 Case 3 If 3
1 F - - - - - -
2 T T T - - - -
3 T T F - - - -
4 T F - T T - -
5 T F - T F - -
6 T F - F - T T
7 T F - F - T F
8 T F - F - F -
ng 2-1 Các trng hp kim th ph các nhánh và các câu lnh
Chng 2 - Tng quan v kim th phn mm
Trang 7
Nhìn vào bng trên, chúng ta cn kim th 8 trng hp. Vi mi câu lnh
ch có mt cách nh giá kt qu True, có nhiu hn 2 cách nh giá kt qu
False. Thc t, chúng ta s tìm c 2
x
-1 cách( x là s iu kin trong câu lnh).
2.3.1.1 Gii thiu chung
Ngoài vic kim th mã ngun ca phn mm, ta còn phi kim nhng giá tr
t môi trng liên quan vi phn mm.
Có bao nhiêu giá tr thi gian trong mt ngày?
Tr li: 24ting*60phút*60giây = 86400 giá tr nhp khác nhau. ó là nhng
giá tr hp l, còn giá tr không hp l (ví d: 29 gi) cng phic kim tra.
Sau ó, ta phi kim th:
• D liu hp l ca ngày, ví d ngày 20.
• D liu không hp l ca ngày, ví d ngày 32.
• S kt hp gia thi gian và ngày tháng. Ví d: ngày 20 tháng 2 nm
2006 là d liu hp l, còn ngày 31 tháng 2 nm 2006 là không hp l vì
tháng 2 ch có 30 ngày.
Trên thc t, ta không th kim ht mi giá tr, mà ch tìm nhng d liuu
vào tiêu biu, chúng s c dùng trong sut quá trình kim th. iu quan trng là
các d liu u vào có bao ph ht mi trng hp cn kim không.
Nhim v ca ngi kim th là xác nh s nh hng ca môi trng lên
phn mm. H phi tìm hiu giao din phn mm và lit kê d liu nhp i vi
mi giao din. ó là nhim v c bn ca nhà kim th và nó có th rt khó.
Có 4 giao din thông thng:
1. Giao din ngi dùng
6
: Bao gm các thao tác thông thng con ngi
truyn t vi phn mm. Hay dùng nht là giao din ha ngi dùng GUI
7
.
Nhng thit b nhp bao gm: chut, s kin bàn phím, Nhng nhà kim th s
tìm cách thao tác trên các thit b này nhm làm cho phn mm biu hin li.
6
Human Interface
7
Graphics User Interface
Chng 2 - Tng quan v kim th phn mm
Trang 8
2. Giao din phn mm, APIs
8
: phn mm s dng mt h iu hành, c s
d liu. Khó khn ca ngi kim th là phi kim tt c nhng gì mà dch v cung
cp, c nhng chc nng mà ngi dùng mong i và không mong i.Ví d: các
nhà phát trin phn mm mun h iu hành lu tp tin. H thng không chú ý
n các thông báo t h iu hành rng thit b lu tr ã y. Thm chí các thông
báo li cng cn phi c kim tra.
3. Giao din h thng tp tin tn ti bt c khi nào phn mm c hoc vit
d liu t bên ngoài. Nhng nhà phát trin phn mm phi vit rt nhiu on mã
kim tra li phát hin ra li nu phn mm cha d liu và nh dng riêng.
4. Giao din giao tip: cho phép truy cp trc tipn nhng thit b vt lý
và yêu cu mt giao thc giao tip. kim th nhng phn mm này, ngi kim
th làm cho các giao thc hp l và không hp lc thc hin. H to ra các
cách kt hp khác nhau ca nhng câu lnh và d liu, trong nh dng gói tin
chun.
K tip, ngi kim th phi ngh xem các thao tác nào ca ngi dùng nm
ngoài phm vi u khin ca phn mm. Ví d:
• Khi s dng h iu hành, ngi dùng xoá mt tp tin mà ngi dùng
khác ang m. Phn mm s x lý nh th nào trong trng hp này?
• Mt thit b khi ng li khi ang thc hin vic giao tip. Phn mm s
phn ng li nh th nào?
2.3.1.2 S cân nhc, suy xét
Khi gp giao din phc tp, ngi kim th có hai khó khn:
• H phi tìm cn thn nhng d liu u vào.
• Phi xác nh trình t nhp nh th nào.
Ngi kim th thng dùng k thut “chia ct giá tr biên” tìm tng d
liu u vào ti các giá tr biên hoc xung quanh nhng giá tr biên. Ví d, vic
8
Software Interfaces
Chng 2 - Tng quan v kim th phn mm
Trang 9
kim th giá tr cc tiu, cc i hoc bng 0 trong yêu cu nhp mt s nguyên ca
phn mm. Nhng giá tr gia các biên có vai trò nh nhau.
Mt vn phc tp là vic chn nhng giá trng thi cho tin trình a
bin có kh nng nh hng ln nhau. Ngi kim th phi hiu tt cnh hng
ca các giá tr.
Vi phn mm yêu cu nhp chui, ngi kim th s nhp chui kim.
H xem u vào vt lý và các s kin tru tng nh các ký t trong bng alphabet
ca mt ngôn ng chun và nh ngha mô hình ca ngôn ng ó. Mô hình là mt
s trình bày, mô t làm th nào d liu nhp và các s kin c phi hp to
nhng t và nhng câu có cú pháp hp l. Mô hình giúp ngi kim th tp hp các
trng hp kim th có th có. Hu ht nhng mô hình thông thng là th hoc
biu trng thái. Nhng mô hình ph bin khác bao gm nhng biu thc và ng
pháp, nhng công c, t lý thuyt v ngôn ng.
2.3.2 Giai on 2: Tìm các kch bn kim th.
Vic phân chia nhng mô hình và giá tr s to ra vô s kch bn kim th.
Mi kch bn s có thi gian và chi phí cn thit. Ch chn mt s kch bn tiêu biu
dùng trong k hoch phát trin phn mm. Vy cách chn la nào là tt nht? 17
có là s nguyên tt hn 34? Mt bao nhiêu thi gian mt tên tp tin c tìm
thy trc khi nhn vào nút nhn Open?
Nhng câu hi này ã c nghiên cu và tr li. Câu tr li hay nht là nó
gn lin vi mc bao ph ca mã ngun và min nhp. Nhng nhà kim th c
gng:
• Bao ph ht các câu lnh (thc thi mi dòng mã ngun ít nht mt ln).
ây là tiêu chun (phng pháp) kim thng i thc thi.
• Bao ph ht d liuu vào (áp dng mi s kin c a ra), là tiêu
chun kim th min nhp.
ây là nhng tiêu chun h kim ht mi mt ca phn mm.
Chng 2 - Tng quan v kim th phn mm
Trang 10
2.3.2.1 Tiêu chun
9
kim thng i
10
thc thi
Tiêu chun kim th d liu tp trung vào vic:ng i nào hoc min
nhp nào c thc thi, him khi c hai. Tiêu chun tìm kim ng i thc thi
thng tp trung vào nhng ng có các cu trúc u khin. Ví d:
• Tìm kim mt tp kim th mà mi câu lnh c thc thi ít nht 1 ln.
• Tìm kim tp kim th mà mi cu trúc nhánh c ánh giá vi giá tr
có th có ca nó.
Thc t, li khi u rt c quan tâm. Trong phng pháp này, mt s li
c c ý chèn vào trong mã ngun. Sau ó ngi kim th s thit k kch bn
tìm nhng li này. Vic tìm kim các li c ý s giúp ngi kim th tìm ra nhng
li thc s.
2.3.2.2 Tiêu chun kim th min nhp
11
Tiêu chun kim tra min nhp t mc n gin n phc tp:
Tìm tp các trng hp kim th mà:
• Cha tt c d liuu vào vt lý.
• Mi u khin giao din (window, menu, button,…) u c thao tác.
• Có tính cht thng kê cho toàn b min nhp.
• Các ng i u c thc thi.
Các nhà nghiên cu v kim thã nghiên cu các thut toán chn nhng
b kim thi din cho tt cng i có thc thc thi và tt c min nhp có
th có. Hu ht h cho rng: cn thn trng khi kt hp nhiu tiêu chun kim
th và ánh giá cht lng sn phm. Ngi kim th nên có kin thc v tiêu
chun, v phng pháp mà h chn tìm, to ra các trng hp kim th. H phi
hiu gii hn ca các tiêu chun này, tránh trng hp có thông báo li nhng
không phi do phn mm b li, mà do các trng hp kim th không úng.
9
Tiêu chun: Phng pháp
10
ng i: Tng nhánh ca mã ngun
11
Min nhp: D liu u vào
Chng 2 - Tng quan v kim th phn mm
Trang 11
2.3.3 Giai on 3: Thc thi và ánh giá kch bn kim th
Thc thi kch bn kim th: kt lun kt qu kim th là úng hay sai,
ni kim th chuyn nó thành hình thc có th thc thi c bng cách thc hin
li các thao tác ca ngi dùng da trên kch bn kim thó. Các nhà kim th c
gng t ng hoá kch bn kim th.
ánh giá kch bn kim th: lúc bt u thì d nhng rt khó thc hin.
ánh giá phi da trên kt qu thc thi ca phn mm, kt qu thc thi kch bn
kim th, kt qu mong mun theo bn c t. Bn c t phi c m bo úng,
nu b lch là sai. Ngi kim th s so sánh kt qu thc thi và kt qu mong
mun xem có sai khác không. S so sánh này rt khó. V lý thuyt s so sánh ca
hai giá tr tu ý thì không th tìm ra li gii. Ví d: ng dng trình son tho: nu
xut ra “Tô sáng t sai li chính t”. Làm th nào chúng ta có th xác nh rng tt
c các trng hp sai li chính tã c dò tìm?
2.3.3.1 Kim th hi quy
12
Khi tin trình kim th kt thúc, các li ã c phát hin, thì các nhà phát
trin s to ra phiên bn mi ca phn mm. Vic kim th tin hành vi tt c các
phiên bn mi nht ca phn mm cho n khi xác nh c mt phiên bn thích
hp nht. Câu hi t ra: khi ta ã tin hành kim th phiên bn n-1, thì vi phiên
bn n, ta phi kim th nh th nào? Kim mi ht? Hay ch kim li nhng b
kim th c ca phiên bn n-1?
Mt vài trng hp sau khi sa cha li:
• Ch sa cha nhng vn ã c thông báo.
• Vic sa cha tht bi.
• Sa cha li nhng li làm ngng mt vài th khác mà trc ó ang làm
vic
• Không nhng li không c sa cha mà còn làm ngng tr mt vài th
khác na.
12
Kim th hi quy: Regression testing
Chng 2 - Tng quan v kim th phn mm
Trang 12
Vì nhng trng hp này rt có th xy ra, nên khi kim th phiên bn n, ta
phi thc thi li các b kim th t phiên bn n-1, ri mi tin hành các b kim th
mi. Phiên bn mi thng kèm theo các chc nng mi, nên kim th hi quy s
mt thi gian trong vic kim nhng n mã lp trình mi. Các kim th viên và
phát trin viên làm vic cùng nhau làm gim ti a các b kim th và xác nh
nhng kim th hi quy c u tiên. Mt hn ch khác i vi kim th hi quy là
nhng kim th này có th làm thay i tiêu chun ca d liu lúc u.
2.3.3.2 Các mi quan tâm liên quan
13
Theo lý thuyt, ngi thit k s vit on mã và t kim tra. Nu nhon
mãc vit khó kim th thì nó nên c vit li d kim hn. ng t, các
phng pháp kim th cng nên d thc hin, nu nó có th dùng trong kim th t
ng thì tt hn.
Khi thc thi và ánh giá các b kim th, nu có li thì ngi kim th nên
mô phng li các thao tác và nhng biu hin li. Bi vì các li c phát hin bi
ngi kim th nhng li c sa bi ngi phát trin. Vic này s ny sinh 2 vn
: mô phng li và tái thc thi kch bn kim th.
• Mô phng li: li xy ra nh th nào? Các biu hin ca nó.
• Tái thc thi kch bn: gm nhng thao tác nào? Trng thái ca hu
hành và phn mm, ví dng dng khách-ch.
2.3.4 Giai on 4: ánh giá tin trình kim th
14
Ta ánh giá tin trình kim th da trên o v kt qu kim th. o
này c tính bng vic m mt cái gì ó, ví d: m s ng d liu u vào mà
ta dùng kim th, s ln gi thc thi ng dng, t l mã ngunã kim soát, m
s ln kt thúc ng dng thành công, s li tìm thy, …
kim tra tính toàn vn cu trúc, ngi kim có th tr li các câu hi:
• Tôi ã kim tra nhng li lp trình ph bin cha?
• Tôi ã s dng toàn b mã ngun cha?
13
Các mi quan tâm liên quan: related concerns
14
ánh giá tin trình kim th phn mm: Measuring Testing Progress
Chng 2 - Tng quan v kim th phn mm
Trang 13
• Có phi tôi ch tp trung vào d liu bên trong khi to và s dng?
• Tôi ã tìm ra tt c li khi u cha?
kim tra tính toàn vn chc nng, ngi kim th nên tr li nhng câu sau:
• Tôi ã ngh ht các cách mà phn mm có th b li và chn nhng cách
kim tra th hin nó cha?
• Có phi tôi ã áp dng tt c nhng d liu u vào?
• Có phi tôi ã hoàn tt vic kho sát không gian trng thái ca phn
mm?
• Có phi tôi ã chy ht tt c nhng phng án mà tôi ngh rng ngi
dùng có th s thc thi?
2.4 Kim th trong các giai n phát trin phn mm
Chu trình kim th:
1. Phân tích yêu cu: Quá trình kim th nên c bt u t giai on yêu
cu ca phn mm
2. Phân tích thit k: Trong sut giai n thit k, nhóm kim th nên làm
vic vi nhóm phát trin hiu rõ cách thit k nhm kim th d dàng và sm
n.
3. Lên k hoch kim th.
4. Trình bày kim th: Th tc kim th, kch bn kim th, nhng trng
hp kim th, nhng tp lnh kim th s dng trong quá trình kim th phn
mm.
5. Tin hành kim th: Nhng nhà kim th tin hành thc thi các trng
hp kim th theo bn k hoch ã lp ra và thông báo tt c nhng li tìm c
cho nhóm phát trin.
6. Thông báo kt qu kim th: Khi quá trình kim th thành công, ngi
kim th thông báo kt qu nh các ng dng qun lý tin trình kim th, và tìm
cách thông báo chi tit v li.
Chng 2 - Tng quan v kim th phn mm
Trang 14
Không phi tt c li hoc khuyt m u phi c sa cha bi nhóm
phát trin phn mm. Mt s khuyt m có th do cu hình kim th cha phù
hp vi môi trng phn mm. Mt s li khác có th i sa phiên bn mi
ca phn mm, hoc nhng thiu sót có thc ngi dùng chp nhn. Nhóm phát
trin có th b qua nhng li mà h cho rng nó nh hng không áng kn
chng trình.
2.4.1 Kim th trong giai n c t yêu cu
15
2.4.1.1 Kim th yêu cu h thng
Mc ích ca kim th yêu cu h thng là:
1. m bo cu hình phn cng, hu hành phù hp vi phn mm cn
kim th.
2. Chc chn rng mi chc nng h thng phn mm u thc thi tt.
3. m bo các cu hình trong h thng phn mm u c nhn ra.
4. Kim chng s chính xác ca cu trúc h thng phn mm.
5. m bo rng s lung các yêu cu và nhng thuc tính ca yêu cu theo
úng lý thuyt.
6. m bo rng nhng yêu cu có th thc hin c.
2.4.1.2 Kim th yêu cu phn mm
Kim th yêu cu phn mm là kim tra chi tit các yêu cu tng ng vi
nhng module ca phn mm. Mc ích:
1. Xác nhn ã hoàn thành và c t chính xác các yu t sau:
• Nhng chc nng ca phn mm
• Nhp xut
• Trng thái và phng thc
• áp ng nhng yêu cu thi gian
• Giao din
15
Test in requirement
Chng 2 - Tng quan v kim th phn mm
Trang 15
2. m bo rng bn c t yêu cu áng tin cy, có th duy trì c, kh thi
và chính xác.
3. m bo kh nng làm úng các yêu cu mc cao nht.
4. Xác nhn rng nhng yêu cu ã cho vic thit k phn mm.
5. Xác nhn nhng yêu cu là thích hp và có th kim tra c.
2.4.2 Kim th trong giai on thit k
16
2.4.2.1 Kim th thit k kin trúc
Mc ích ca vic kim tra thit k kin trúc s là:
1. m bo vic thit k phù hp vi c t yêu cu.
2. m bo tt c các giao din c thit k mt cách úng n.
3. Xem li danh sách các môun và chc nng tng quát ca mi môun.
4. Phát hin các thit k không úng theo yêu cu, sau ó sa cha li theo
yêu cu.
5. Xác nhn cu trúc ca các thành phn ã phù hp vi c t yêu cu.
6. Xác nh các thành phn có th dùng li c.
7. m bo rng thit k bám sát vi c t yêu cu.
8. Xác nhn tính hp l ca các giao din nhp xut.
2.4.2.2 Kim tra thit k chi tit
Mc ích ca vic kim tra thit k chi tit:
1. m bo rng thit phù hp vi c t yêu cu.
2. Xác nhn tính hp l ca tt c thut toán logic, cu trúc d liu, và các
lnh c s dng trong phm vi mi moun.
3. Quyt nh vic thit k chi tit i vi mi môun c chp nhn hay
cn c thit k li?
4. m bo vic thit k bám sát vi bn c t yêu cu.
5. m bo rng tt c các thit ku tuân theo các qui nh và các chun
ã c ra.
16
test in design
Chng 2 - Tng quan v kim th phn mm
Trang 16
2.4.3 Kim th trong giai n lp trình
17
Mc ích:
1. m bo rng mã ngun phù hp vi c t yêu cu ã c phê duyt.
2. Xác nhn mc chính xác và tính hoàn tt ca vic lp.
3. Xác nhn rng tt c các chi tit thit kã c lp trình.
4. m bo rng vic lp trình theo sát c t yêu cu.
5. m bo rng tt c nhng gì c lp trình u c mô t theo bn thit
k chi tit.
2.5 Ngi kim th
18
chun b k hoch và thc hin kim th, ngi kim th phi tìm hiu v
phn mm, ngh ra nhng nghip v, d liu u vào và cách phi hp chúng. u
quan trng là phi có k thut gii và k hoch phù hp.
Ngi kim th không ch cn k nng phát trin phn mm tt mà còn phi
hiu rt k v các ngôn ng thông dng, nguyên lý th và các thut toán. Ngoài
ra, h phi có kh nng nhy bén trong vic phát hin nhng li phc tp. Nói
chung, ngi lp trình cn có kin thc sâu v chuyên môn, còn ngi kim th
phi có kin thc rng.
Hình 2-1 Ngi lp trình
17
SOURCE CODE INSPECTION
18
tester
n phm
Chyên môn
Chng 2 - Tng quan v kim th phn mm
Trang 17
Hình 2-2 Ngi kimth
Hình 2-3 Kin thc cn có ca ngi kim th
n phm
Chuyên môn
Kin thc v
thut
c t
n phm
Ah! n !
n
Tin tc c
a ra
Thông tin v
n
giao tip
ánh giá
n
Kin thc
min
Kinh nghim
Chng 2 - Tng quan v kim th phn mm
Trang 18
2.6 Lung thông tin kim th
Hình 2-4 Mô hình lung thông tin kim th [1]
u vào c cung cp cho tin trình kim th:
• Cu hình phn mm gm: Bn c t yêu cu phn mm, bn c t thit
k và mã ngun ca chng trình.
• Cu hình kim th gm: K hoch và th tc kim th, công c kim th,
trng hp kim th và kt qu d kin.
Tt c các kt qu kim thu c ánh giá bng cách so sánh vi kt qu
d kin, nu có sai khác thì ó có th là li.
Các kt qu kim th s xác nh cht lng và tin cy ca phn mm.