Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
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 [...]... trình a i ki m th ph i hi u t t c nh h ng c a các giá tr V i ph n m m yêu c u nh p chu i, ng H xem u vào v t lý và các s ki n tr u t c a m t ngôn ng chu n và i ki m th s nh p chu i ng nh các ký t trong b ng alphabet nh ngh a mô hình c a ngôn ng s trình bày, mô t làm th nào d li u nh p và các s ki n nh ng t và nh ng câu có cú pháp h p l Mô hình giúp ng tr ó Mô hình là m t c ph i h p t o i ki m th t p h... X X X X X X X X X ng 2-5 Các nhân t và Trang 25 o ch t l ng [1] Ch ng 2 - T ng quan v ki m th ph n m m 2.8.3 Vai trò c a vi c qu n lý ch t l H th ng qu n lý ch t l • ng ph n m m ng SQA30 hay SQS31 có hai m c tiêu chính: a vào vi c qu n lý ch t l ng ngay t khi b t tay vào xây d ng ph n m m • t m b o ch t l ng c a ph n m m trong su t quá trình phát tri n c hai m c tiêu trên, SQS òi h i s k t h p c a 10... th [1] u vào c cung c p cho ti n trình ki m th : • C u hình ph n m m g m: B n k và mã ngu n c a ch c t yêu c u ph n m m, b n c t thi t ng trình • C u hình ki m th g m: K ho ch và th t c ki m th , công c ki m th , tr ng h p ki m th và k t qu d ki n T t c các k t qu ki m th u c ánh giá b ng cách so sánh v i k t qu d ki n, n u có sai khác thì ó có th là l i Các k t qu ki m th s xác nh ch t l ng và Trang... 38 CC là m t y u t nh m c xây d ng m b o b t k s thay i nào c a m t th hi n u c ki m soát và ghi nh n l i CC bao g m các ho t thay i trong b ng ki m soát (control board CCB), ví d : xem xét và ki m soát nh ng thay • ng i trong các tài li u và mã ngu n 39 CA gi vai trò theo v t tình tr ng c a các th hi n s n ph m u này ngày càng quan tr ng h n trong vi c tích h p các module vào nh ng h th ng hay các... gian th y tr m t tên t p tin c tìm c khi nh n vào nút nh n Open? Nh ng câu h i này ã g n li n v i m c c nghiên c u và tr l i Câu tr l i hay nh t là nó bao ph c a mã ngu n và mi n nh p Nh ng nhà ki m th c g ng: • Bao ph h t các câu l nh (th c thi m i dòng mã ngu n ít nh t m t l n) ây là tiêu chu n (ph • Bao ph h t d li u ng pháp) ki m th ng i th c thi u vào (áp d ng m i s ki n c chu n ki m th mi n nh... t c d li u • M i n gi n u vào v t lý u khi n giao di n (window, menu, button,…) u c thao tác • Có tính ch t th ng kê cho toàn b mi n nh p • Các ng i u c th c thi Các nhà nghiên c u v ki m th b ki m th i di n cho t t c ã nghiên c u các thu t toán ng i có th ch n nh ng c th c thi và t t c mi n nh p có th có H u h t h cho r ng: c n th n tr ng khi k t h p nhi u tiêu chu n th và ánh giá ch t l chu n, v... vi c ki m nh ng n mã l p trình m i Các ki m th viên và phát tri n viên làm vi c cùng nhau nh ng ki m th h i quy làm gi m t i a các b ki m th và xác c u tiên M t h n ch khác nh ng ki m th này có th làm thay nh i v i ki m th h i quy là i tiêu chu n c a d li u lúc u 2.3.3.2 Các m i quan tâm liên quan13 Theo lý thuy t, ng mã ph i thi t k s vi t o n mã và t ki m tra N u nh c vi t khó ki m th thì nó nên c... thi và ánh giá các b ki m th , n u có l i thì ng mô ph ng l i các thao tác và nh ng bi u hi n l i B i vì các l i ng i ki m th nh ng l i c s a b i ng i ki m th nên c phát hi n b i i phát tri n Vi c này s n y sinh 2 v n : mô ph ng l i và tái th c thi k ch b n ki m th • Mô ph ng l i: l i x y ra nh th nào? Các bi u hi n c a nó • Tái th c thi k ch b n: g m nh ng thao tác nào? Tr ng thái c a h hành và ph... T ng quan v ki m th ph n m m • Có ph i tôi ch t p trung vào d li u bên trong • Tôi ã tìm ra t t c l i kh i ki m tra tính toàn v n ch c n ng, ng kh i t o và s d ng? u ch a? i ki m th nên tr l i nh ng câu sau: • Tôi ã ngh h t các cách mà ph n m m có th b l i và ch n nh ng cách ki m tra th hi n nó ch a? • Có ph i tôi ã áp d ng t t c nh ng d li u u vào? • Có ph i tôi ã hoàn t t vi c kh o sát không gian... 5 m b o r ng s lu ng các yêu c u và nh ng thu c tính c a yêu c u theo úng lý thuy t 6 m b o r ng nh ng yêu c u có th th c hi n c 2.4.1.2 Ki m th yêu c u ph n m m Ki m th yêu c u ph n m m là ki m tra chi ti t các yêu c u t nh ng module c a ph n m m M c ích: 1 Xác nh n ã hoàn thành và c t chính xác các y u t sau: • Nh ng ch c n ng c a ph n m m • Nh p xu t • Tr ng thái và ph • • 15 ng th c áp ng nh ng