Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý

154 524 2
Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý

i cám n Li u tiên, chúng em xin chân thành cám n thy Lâm Quang V, thy Phm Minh Tun ã tn tâm hng dn chúng em, giúp  chúng em hoàn thành  tài này. Chúng em cng xin cám n các thy cô, cán b ging viên trã nhit tình óng góp nhng kinh nghim, ý kin quý báu cho chúng em. Chúng em xin gi li cám n tt c các quý thy cô ã ging dy, cung cp cho chúng em vn kin thc quý báu sut nhng nm hc va qua. Chúng em cám n khoa Công ngh thông tin trng i hc Khoa hc T nhiên ã to u kin cho chúng em thc hin  tài này. Chúng tôi cng xin cám n các bn ã nhit tình giúp  khi chúng tôi ng phi nhng khó khn, ng viên chúng tôi trong sut quá trình thc hin  tài lun vn tt nghip này. Mc dù chúng em ã c gng rt nhiu  hoàn thành tt lun vn, nhng chc chn không tránh khi nhng thiu sót, chúng em rt mong c s cm thông và tn tình giúp  ca quý thy cô. Tp. H Chí Minh, 07/2004 Nhóm sinh viên thc hin V Ngc Sen – Nguyn Th Quyên i mu Sau cuc khng hong trong ngành công ngh thông tin vào u nhng nm 2000, n nay, công ngh sn xut phn mm trên th gii nht là  Vit Nam ang tin nhng bc tin mnh m hn. Vt qua cuc khng hong này, ngoài nhng kinh nghim trong kinh doanh, các công ty tin hc Vit Nam nhn thc c rng quy trình sn xut phn mm ca chính công ty h cn c nâng cp vi mc tiêu u tiên là nâng cao cht lng, tng tính chuyên nghip trong sn xut phn mm. t ó tin trình kim th phn mm tr thành tin trình vô cùng quan trng trong quy trình sn xut phn mm. Trong mt quy trình sn xut phn mm, ngoài vic thành lp các chun coding, phân công sp xp các công vic cho các thành viên trong t chc, qun lý các tài liu nh các bn c t yêu cu, bn phân tích thit k chng trình, chng trình ngun,… thì mt yu t cng rt quan trng là h tr qun tin trình kim th bao gm h tr qun các trng hp kim th, các bn báo cáo kim th, các li… Chúng emã thc hin  tài “Tìm hiu v kim th phn mm Xây dng h thng h tr qun tin trình kim th” nhm hiu rõ tin trình kim th, các loi kim th, cách kim th, vic qun kim th, nhng mc tiêu, thun li mà tin trình này em li. Lun vn ca chúng em c trình bày vi by chng chính, bao gm: - Chng 1 Mu - Chng 2 Tng quan v kim th phn mm - Chng 3 Các loi kim th phn mm - Chng 4 Các công c h tr - Chng 5 Phát trin công c qun tin trình kim th - Chng 6 Th nghim - Chng 7 Tng kt hng phát trin - Ph lc C LC Chng 1 u 1 1.1 Tm quan trng ca vic qun tin trình kim th 1 1.2 Khái quát vai trò qun kim th 1 1.3 Mc tiêu  tài 2 Chng 2 ng quan v kim th phn mm 4 2.1 Kim th phn mm là gì? 4 2.2 Mc ích ca vic kim th phn mm 4 2.3 Các giai n kim th phn mm 5 2.3.1 Giai n 1: Phác ha môi trng ca phn mm 6 2.3.2 Giai n 2: Tìm các kch bn kim th. 9 2.3.3 Giai n 3: Thc thi ánh giá kch bn kim th 11 2.3.4 Giai n 4: ánh giá tin trình kim th 12 2.4 Kim th trong các giai n phát trin phn mm 13 2.4.1 Kim th trong giai n c t yêu cu 14 2.4.2 Kim th trong giai n thit k 15 2.4.3 Kim th trong giai n lp trình 16 2.5 Ngi ki m th 16 2.6 Lung thông tin kim th 18 2.7 Phân bit các khái nim 19 2.7.1 Phân bit QC Q A 19 2.7.2 Phân bit Error, Fault, Failure 20 2.8 Cht lng phn mm vic m bo cht lng phn mm 22 2.8.1 Các nhân t cht lng ca phn mm 22 2.8.2 o cht lng phn mm 24 2.8.3 Vai trò ca vic qun cht lng phn mm 26 2.8.4 Ti sao cn qun cht lng ? 30 Chng 3 Các loi kim th phn mm 31 3.1 Kim th hp e n 31 3.2 Ki m t h hp trng 33 3.3 Nhng nét khác nhau c bn gia kim th hp en hp trng 34 3.4 Kim th cho h thng thi gian thc 35 3.5 Các loi kim th hp 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 loi kim th hp trng 70 Unit testing 70 Chng 4 Các công c h tr 72 4.1 Công c h tr qun kim th 72 4.1.1 Nhn 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 kim th phn mm tng 78 4.2.1 TestComplete 78 4.2.2 Winrunner 80 4.3 Công c kim th web tng 81 4.3.1 Gii thiu 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 kim 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 Chng 5 Phát trin công c qun kim th 108 5.1 Gii thiu công c RTH 108 5.2 do chn công c RTH 114 5.3 Phát trin công c RTH 114 5.4 Mt v ài giao di n .117 Chng 6 Th nghim 118 6.1 Th nghim vi các loi 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 nghim công c RTH 140 6.2.1 To d án 140 6.2 .2 Thêm Requirem e nt v ào Pro jec t 140 6.2.3 Thêm mt 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 bc cho Test 142 6.2.8 Cp nht kt qu test (To TestRun) 143 6.2.9 Thêm li Defects 143 6.3 Th nghim công c RTH kt hp vi WinRunner 144 Chng 7 ng kt Hng phát trin 145 7.1 Tánh giá 145 7.1.1 Nhng kt qut c 145 7.1.2 Nhng mt còn hn ch 146 7.2 Hng phát trin ca chng trình 146 DANH SÁCH BNG ng 2-1 Các trng hp kim th ph các nhánh các câu lnh 6 ng 2-2 So sánh nh ngha ca QC QA 19 ng 2-3 Nhng m khác nhau gia QC QA 20 ng 2-4 Ví d so sánh error, fault, failure 20 ng 2-5 Các nhân t o cht lng [1] 25 ng 3-1 Bng kt hp giá tr các bin 40 ng 3-2 Bng kt hp giá tr các bin vi cách tip cn th 1 41 ng 3-3 Bng kt hp giá tr các bin vi cách tip cn Kt hp y  41 ng 3-4 Bng kt hp giá tr các bin vi cách tip cn Kt hp tng ôi 42 CÔNG THC Công thc 2-1 Công thc o cht lng phn mm [1] 23 DANH SÁCH HÌNH H ình 2-1 Ng i l p trình 1 6 Hình 2-2 Ngi kimth 17 Hình 2-3 Kin thc cn có ca ngi kim th 17 Hình 2-4 Mô hình lung thông tin kim th [1] 18 Hình 2-5 Mô hình mô phng các bc QC c bn [9] 19 Hình 2-6 Mô hình mô phng các bc QA c bn [9] 19 Hình 2-7 Mô hình các nhân t cht lng ca McCall [1] 22 Hình 2-8 Mô hình các hot ng trong CM [10] 27 Hình 2-9 Tng quan v CM [10] 28 Hình 3-1 Kim th hp en [11] 31 Hình 3-2 Kim th hp trng [11] 33 Hình 3-3 Font trong Word Word Pad 37 Hình 3-4 Chu trình kim th da trên ri ro 51 Hình 4-1 Mô hình use case ca công c qun kimth TestLink 73 Hình 4-2 Quá trình ghi li d liu – công c Proxy Sniffer 82 Hình 4-3 Qui trình thc 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 din  ha ngi dùng – JUnit testing 107 Hình 5-1 Giao din TreeView trc quan hn 117 Hình 5-2 Màn hình to Template Testcase 117 Hình 6-1 Th nghim thc t vi Oracles testing 119 Hình 6-2 Th nghim thc t vi Domain testing 121 Hình 6-3 Th nghim thc t 1 vi Function testing 122 Hình 6-4 Th nghim thc t vi Function testing 123 Hình 6-5 Th nghim thc t vi Combination testing 124 Hình 6-6 WinAmp phiên bn 2. 79 & phiên bn 5.03 125 Hình 6-7 Cp nht thông tin v bài hát trong Winamp. 126 Hình 6-8 Li trong Winamp v5.03 vi Regression testing 127 Hình 6-9 Th nghim thc t vi Risk-based testing 129 Hình 6-10 Th nghim thc t vi Scenario testing 130 Hình 6-11 Th nghim thc t vi User testing 134 Hình 6-12 Giao din ng dng Paint 136 Hình 6-13 Màn hình to d án ca RTH 140 Hình 6-14 Màn hình to yêu cu ca RTH 140 Hình 6-15 Màn hình to release ca RTH 141 Hình 6-16 Màn hình thêm build ca RTH 141 Hình 6-17 Màn hình thêm TestSet ca RTH 141 Hình 6-18 Màn hình thêm test ca RTH 142 Hình 6-19 Màn hình thêm tng bc test ca RTH 142 Hình 6-20 Màn hình thêm TestRun ca RTH 143 Hình 6-21 Màn hình thêm li Defect ca RTH 143 Hình 6-22 Giao din công c kim th phn mm tng WinRunner 144 Thut ng / T vit tt / Khái nim APIs Software Interfaces: Giao din phn mm. BVA Phân tích giá tr bin. CSDL  s d liu. F false: Là giá tr sai (0) GUI Graphics User Interface: Giao din  ha ngi dùng. QA Quality Assurance: B phn bo m cht lng Quality Cht lng: Vic tha mãn mt sn phm theo úng s mong i ca khách hàng, da vào nhng yêu cu cho sn phm. Software Phn mm: Là nhng chng trình, nhng th tc c gn lin vi các tài liu mô t các d liu có liên quan n tác v ca mt h thng máy tính. SQS Software Quality System: H thng cht lng phn mm T true: Là giá trúng (1) Chng 1 - Mu Trang 1 Chng 1 u 1.1 Tm quan trng ca vic qun tin trình kim th Tha mãn nhu cu ca ngi dùng là vic rt quan trng khi to ra sn phm. Vì vy, m bo cht lng phn mm là mt phn không th thiu trong quá trình sn xut phn mm. vn  qun cht lng c t ra. n na, quan m hin i v vic m bo cht lng ngày càng phc tp n, không còn gii hn  mc tiêu tha mãn yêu cu khách hàng. Mt sn phm phn mm cht lng cao phi kt hp nhiu nhân t cht lng 1 (thuc tính cht ng 2 ). Có th chia các nhân t cht lng thành ba loi: • Nhng nhân t có th tìm thy trong c t yêu cu, ví d nh tính linh ng. • Nhng nhân t mà phn mm có tháp ng, ví d nh tính hiu dng. • Nhng nhân t mà ngi lp trình s chú trng nhng ngi dùng thì không, ó là tính tái s dng.  mt sn phm t c nhng nhân t cht lng này không phi là mt vic d dàng. Vì vy, vic qun cht lng phn mm là mt công vic không th thiu trong công ngh phn mm. 1.2 Khái quát vai trò qun kim th Thu ban u ca ngành công nghip máy tính nói chung công ngh phn mm nói riêng, vic phát trin phn mm c xem là mt tin trình “vit sa” 3 , không h có mt k hoch nào trc tin trình này. Yêu cu ca ngi dùng còn  phm vi nh nên bn thân ngi vit phn mm có th t nhc t kim tra  tha mãn yêu cu ngi dùng. Nhng hin nay quy mô phn mm rt ln, cn nhiu ngi làm vic chung; do ó kim th phn mm tr thành tin trình quyt nh s thành công ca d án. 1 Nhân t cht lng: quality factors 2 Thuc tính cht lng: quality attributes 3 Vit sa: code and fix Chng 1 - Mu Trang 2 Nu ta t qun tin trình kim th thì không n gin chút nào. Vì vi s ng trng hp kim th rt ln, ta cn: • Qun nhng trng hp kim th nào ã c thc hin nhng trng hp kim th nào cha c thc hin. • Còn phi qun kt qu kim th thy c kh nng áp ng yêu cu ca phn mm. Kt qu này sc thay i phi c cp nht li sau mi phiên bn ca sn phm. • Yêu cu ngi dùng s còn c thay i trong sut quá trình phát trin. Do ó các trng hp kim th liên quan n nhng yêu cu này cng c thay i theo. Mt s trng hp kim th sc to mi, mt s sc cp nht li c coi là phiên bn mi ca trng hp kim thó. Tt c nhng thông tin này u phi c ghi nhn li. Do ó chúng ta có th nói rng mt d án mun thành công không th không có mt chng trình qun tin trình kim th. 1.3 Mc tiêu  tài Tìm hiu chi tit v tin trình kim th phn mm: • nh ngha kim th • Tm quan trng • Mc ích, vai trò ca tin trình kim th • Các giai on trong tin trình kim th • Kim th trong các giai n phát trin phn mm • Các chun trong kim th • Tìm hiu rõ v các loi kim th tin hành kim th thc ti vi tng loi kim th. Tìm hiu v mt s công c h tr qun tin trình kim th nh RTH, TestLink, Qatraq,… Chng 1 - Mu Trang 3 Tìm hiu v mt s công c kim th tng: + Kim th phn mm tng: WinRunner + Kim th web tng: Proxy sniffer và tin hành kim th thc t vi các công c này. ng dng nhng kin thc ó  phát trin h thng h tr qun lý: • Các yêu cu • Tin trình kim th • Ghi 4 li • Cho phép to các trng hp kim th mu 5 • Gi Emai thông báo li cho nhà lp trình ngay khi có li xut hin • Kt hp kim th tng: winrunner_ công c kim th tng phn mm, proxy sniffer_ công c kim th tng web. 4 Ghi: report 5 Trng hp kim th mu: 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 các s ki n tr u t c a m t ngôn ng chu n 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 các s ki n nh ng t 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 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 ch t l H th ng qu n 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 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 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 th t c ki m th , công c ki m th , tr ng h p ki m th 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 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 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 ki m soát nh ng thay • ng i trong các tài li u 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 tr l i Câu tr l i hay nh t là nó bao ph c a mã ngu n 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 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 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 á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 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 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 thuy t, ng mã ph i thi t k s vi t o n mã t ki m tra N u nh c vi t khó ki m th thì nó nên c... thi á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 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 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 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 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 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 nh ng thu c tính c a yêu c u theo úng 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 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 ph • • 15 ng th c áp ng nh ng

Ngày đăng: 02/04/2014, 08:49

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan