1
TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI
KHOA CÔNG NGH THÔNG TIN
----------o0o---------
Thc Bình Cường
Bài ging đin t môn hc
KIM TH VÀ BO ĐẢM
CHT LƯỢNG PHN MM
2
M ĐẦU.........................................................................................................................................4
CHƯƠNG 1: CÁC KHÁI NIM .................................................................................................5
1.1. Các định nghĩa.........................................................................................................5
1.2. Vòng đời ca vic kim nghim (testing life cycle):...............................................6
1.3. Phân loi kim nghim:...........................................................................................7
1.4. S tương quan gia các công đon xây dng phn mm và loi kim
nghim: Mô hình ch V.......................................................................................................8
1.5. Sơ lượt các k thut và công đon kim nghim:....................................................9
CHƯƠNG 2: KIM CHNG VÀ XÁC NHN (V & V ) .......................................................13
2.1. Kim chng và hp l hoá.....................................................................................13
2.1.1. T chc vic kim th phn mm .........................................................................14
2.1.2. Chiến lược kim th phn mm ............................................................................15
2.1.3. Tiêu chun hoàn thành kim th...........................................................................17
2.2. Phát trin phn mm phòng sch (cleanroom software development)..................18
2.2.1. Ngh thut ca vic g ri.....................................................................................18
2.2.2. Tiến trình g li.....................................................................................................18
2.2.3. Xem xét tâm lý ......................................................................................................19
2.2.4. Cách tiếp cn g li ...............................................................................................19
CHƯƠNG 3: KIM TH PHN MM..................................................................................22
3.1. Quá trình kim th................................................................................................22
3.2. Kim th h thng .................................................................................................24
3.3. Kim th tích hp..................................................................................................25
3.4. Kim th phát hành ...............................................................................................27
3.5. Kim th hiu năng ...............................................................................................31
3.6. Kim th thành phn .............................................................................................32
3.7. Kim th giao din ................................................................................................33
3.8. Thiết kế trường hp th (Test case design)...........................................................35
3.9. T động hóa kim th (Test automation)..............................................................45
CHƯƠNG 4: CÁC PHƯƠNG PHÁP KIM TH..................................................................49
4.1. Phương pháp white-box:........................................................................................50
4.2. Phương pháp black-box:........................................................................................59
CHƯƠNG 5: KIM TH TÍCH HP......................................................................................66
5.1. Tích hp trên xung. .............................................................................................66
5.2. Tích hp dưới lên. .................................................................................................68
5.3. Kim th ni quy...................................................................................................69
5.4. Gi ý v vic kim th tích hp ............................................................................71
5.5. Lp tài liu v kim th tích hp...........................................................................72
CHƯƠNG 6: K NGH ĐỘ TIN CY PHN MM ............................................................75
6.1. Gii thiu...............................................................................................................75
6.2. Xác nhn tính tin cy.............................................................................................76
6.2.1. Sơ tho hot động..................................................................................................78
6.2.2. D đoán tính tin cy ..............................................................................................79
6.3. Đảm bo tính an toàn.............................................................................................82
6.3.1. Nhng lun chng v tính an toàn.........................................................................83
6.3.2. Đảm bo quy trình.................................................................................................86
6.3.3. Kim tra tính an toàn khi thc hin .......................................................................88
6.4. Các trường hp an toàn và tin cy được................................................................89
3
CHƯƠNG 7: KIM TH PHN MM TRONG CÔNG NGHIP .....................................95
7.1. QUY TRÌNH KIM TRA PHN MM CƠ BN...............................................95
7.2. MÔ HÌNH KIM TRA PHN MM TMM (TESTING MATURITY
MODEL)............................................................................................................................99
7.3. Các công c kim th (Test tools).......................................................................105
7.3.1. TI SAO PHI DÙNG TEST TOOL ................................................................105
7.3.2. KHÁI QUÁT V KTTĐ.....................................................................................106
7.3.3. GII THIU CÔNG C KTTĐ: QUICKTEST PROFESSIONAL...................108
7.3.4. Kim th đơn v vi JUnit...................................................................................112
CHƯƠNG 8: ƯỚC LƯỢNG GIÁ THÀNH PHN MM.....................................................129
8.1. Gii thiu.............................................................................................................129
8.2. Năng sut phn mn ............................................................................................131
8.3. K thut ước lượng..............................................................................................135
8.4. Mô hình hoá chi phí thut toán............................................................................137
8.5. Mô hình COCOMO.............................................................................................139
8.6. Mô hình chi phí gii thut trong kế hoch d án.................................................147
8.7. Nhân viên và khong thi gian ca d án ...........................................................149
CHƯƠNG 9: QUN LÝ CHT LƯỢNG PHN MM .......................................................153
9.1. Cht lượng quá trình và cht lượng sn phm:....................................................153
9.2. Cht lượng quá trình và cht lượng sn phm:....................................................155
9.3. Đảm bo cht lượng và các chun cht lượng.....................................................156
9.4. Lp kế hoch cht lượng......................................................................................163
9.5. Kim soát cht lượng...........................................................................................164
9.6. CMM/CMMi .......................................................................................................165
9.6.2. Cu trúc ca CMM ..............................................................................................166
9.6.3. So sánh gia CMM và CMMi .............................................................................172
CHƯƠNG 10: QUN LÝ CU HÌNH....................................................................................174
10.1. Gii thiu.............................................................................................................174
10.2. Kế hoch qun tr cu hình..................................................................................176
11.2. Qun lý vic thay đổi...........................................................................................179
11.3. Qun lý phiên bn và bn phát hành....................................................................183
11.4. Qun lý bn phát hành.........................................................................................186
11.5. Xây dng h thng ..............................................................................................189
11.6. Các công c CASE cho qun tr cu hình ...........................................................190
PH LC- CÁC CÂU HI ÔN TP......................................................................................197
1. Cht lượng và đảm bo cht lượng phn mm............................................................197
2. Các độ đo đặc trưng cht lượng phn mm.................................................................198
3. Kim th phn mm ....................................................................................................199
4. Qun lý cu hình phn mm........................................................................................201
TÀI LIU THAM KHO.........................................................................................................202
4
M ĐẦU
Qun lý cht lượng phn mm là vn đề không mi nhưng theo mt s đánh giá là còn
yếu ca các công ty phn mm Vit Nam. Mt s công ty trong nước hin đã đạt các chun
quc tế CMM/CMMI trong nâng cao năng lc và qun lý cht lượng phn mm, song ch
đếm được trên đầu ngón tay, và hin cũng chi gn trong vài công ty gia công cho th
trường nước ngoài.
Lâu nay, nói đến cht lượng phn mm, không ít người nghĩ ngay đến vn đề là xác
định xem phn mm đó có phát sinh li hay không, có "chy" đúng như yêu cu hay không
và cui cùng thường quy v vai trò ca hot động kim th phn mm (testing) như là hot
động chu trách nhim chính.
Vi quan đim ca khách hàng, điu này có th đúng, h không cn quan tâm ni tình
ca hot động phát trin phn mm, điu h cn quan tâm là liu sn phm cui cùng giao
cho hđúng hn hay không và làm vic đúng như h mun hay không.
Tuy nhiên theo quan đim ca người phát trin phn mm, thc tế cho thy hot động
kim th phn mm là quan trng, nhưng không đủ để đảm bo sn phm s được hoàn
thành đúng hn và đúng yêu cu. Kim th sau cùng để phát hin li là điu tt nhiên phi
làm, nhưng trong rt nhiu trường hp, điu đó thường quá tr và s phi mt rt nhiu
thi gian để sa cha.
Thc tế cho thy, để đảm bo được hai tiêu chí "đơn gin" trên ca khách hàng, đòi hi
t chc không ch vn hành tt khâu kim th phn mm, mà phi t chc và duy t s
hot động nhp nhàng ca c mt h thng các công vic liên quan đến mt d án phn
mm, t đây xut hin mt khái nim có tên là "h thng qun lý cht lượng phn mm"
bao gm các quy trình được thc thi xuyên sut chu k phát trin ca d án phn mm
song hành cùng vic kim th phân mm nhm đảm bo cht lượng cho phn mm khi
chuyn giao cho khách hàng.
Vi thc tế trên, là nhng người làm công tác đào to mong mun cung cp cho sinh
viên ngành công ngh phn mm - nhng người s là ngun nhân lc ch yếu trong tương
lai ca các doanh nghip phn mm – nhng khái nim, kiến thc và k năng cơ bn ban
đầu v kim th phn mm, v qui trình qun lý cht lượng, đảm bo cht lượng phn mm
thông qua giáo trình (ni b) Kim thđảm bo cht lượng phn mm (Software
Testing and Quality Assurrance).
Giáo trình này vi mc tiêu cung cp cho sinh viên công ngh phn mm có được kiến
thc và k năng v vic kim th phn mm, các công đon kim th, các loi kim th,
công c kim th, xây dng tài liu kim th, d liu kim th …. Và xây qui trình đảm
bo cht lượng phn mm, gii thiu tng quan v h thng qun lý cht lượng, nguyên
tc, k thut … để đảm bo rng d án phn mm s chuyn giao cho khách hàng đúng
hn, đúng yêu cu.
Đây là giáo trình sơ khi, còn nhiu vn đề chưa đi sâu phân tích và thc hin, còn
mang tính lý thuyết nhiu. Tác gi hy vng bn đọc đóng góp ý kiến để phiên bn 2 đáp
ng tt hơn yêu cu ca nhiu độc gi, ca sinh viên và k c nhng người đang công tác
ti các phòng phát trin và đảm bo cht lượng phn mm.
5
CHƯƠNG 1: CÁC KHÁI NIM
1.1. Các định nghĩa
“Li phn mm là chuyn hin nhiên ca cuc sng. Chúng ta dù c gng đến mc nào
thì thc tế là ngay c nhng lp trình viên xut sc nht cũng không có th lúc nào cũng
viết được nhng đon mã không có li. Tính trung bình, ngay c mt lp trình viên loi tt
thì cũng có t 1 đến 3 li trên 100 dòng lnh. Người ta ước lượng rng vic kim tra để tìm
ra các li này chiếm phân na khi lượng công vic phi làm đểđược mt phn mm
hot động được”. (Software Testing Techniques, Second Edition, by Boris Beizer, Van
Nostrand Reinhold, 1990, ISBN 1850328803).
Trên đây là mt nhn định v công vic kim nghim (testing) chương trình.
Tht vy, ngày nay càng ngày các chương trình (các phn mm) càng tr lên phc
tp và đồ s. Vic to ra mt sn phm có th bán được trên th trường đòi hi s n
lc ca hàng chc, hàng trăm thm chí hàng ngàn nhân viên. S lượng dòng mã lên
đến hàng triu. Và để to ra mt sn phm thì không phi ch do mt t chc đứng ra
làm t đầu đến cui, mà đòi hi s liên kết, tích hp ca rt nhiu sn phm, thư vin
lp trình, … ca nhiu t chc khác nhau… T đó đòi hi vic kim nghim phn
mm càng ngày càng tr nên rt quan trng và rt phc tp.
Song song vi s phát trin các công ngh lp trình, các ngôn ng lp trình… thì các
công ngh và k thut kim nghim phn mm ngày càng phát trin và mang tính
khoa hc. Bài tiu lun này vi mc đích là tp hp, nghiên cu, phân tích các k
thut, các công ngh kim nghim phn mm đang được s dng và phát trin hin
nay.
1.1.1. Định nghĩa:
Vic kim nghim là quá trình thc thi mt chương trình vi mc đích là tìm ra li.
(Glen Myers)
Gii thích theo mc đích:
Vic th nghim hin nhiên là nói đến các li (error), sai sót (fault), hng hóc (failure)
hoc các hu qu (incident). Mt phép th là mt cách chy phn mm theo các
trường hp th nghim vi mc tiêu là:
Tìm ra sai sót.
Gii thích s hot động chính xác.
(Paul Jorgensen)
1.1.2. Các thut ng:
Li (Error):
Là các li lm do con người gây ra.
Sai sót (Fault):
Sai sót gây ra li. Có th phân loi như sau: