Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Tìm hiểu về kiểm thử phần mền và xây dựng hệ thống hỗ trợ quản lý tiến trình kiể...

Tài liệu Tìm hiểu về kiểm thử phần mền và xây dựng hệ thống hỗ trợ quản lý tiến trình kiểm tra thử

.PDF
154
107
78

Mô tả:

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 nhiên ã t o u ki n cho chúng em th c hi n ng i h c Khoa h c T tài này. Chúng tôi c ng xin cám n các b n ã nhi t tình giúp ng ph i nh ng khó kh n, khi chúng tôi 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 và t n tình giúp c s c m thông 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 im u Sau cu c kh ng ho ng trong ngành công ngh thông tin vào 2000, u nh ng n m n nay, công ngh s n xu t ph n m m trên th gi i và nh t là ang ti n nh ng b c ti n m nh m h n. V Vi t Nam 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 r ng quy trình s n xu t ph n m m c a chính công ty h c n tiêu u tiên là nâng cao ch t l m m. Và t c c nâng c p v i m c ng, t ng tính chuyên nghi p trong s n xu t ph n ó 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 lý ti n trình ki m th bao g m h tr qu n lý 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 và Xây d ng h th ng h tr qu n lý 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 lý 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 lý ti n trình ki m th - Ch ng 6 Th nghi m - Ch ng 7 T ng k t và h - Ph l c ng phát tri n CL C Ch ng 1 u ...................................................................................................... 1 1.1 T m quan tr ng c a vi c qu n lý ti n trình ki m th ......................................................1 1.2 Khái quát vai trò qu n lý ki m th ...................................................................................1 1.3 M c tiêu Ch ng 2 tài....................................................................................................................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 2.3.1 Giai 2.3.2 Giai 2.3.3 Giai 2.3.4 Giai n ki m th ph n m m....................................................................................5 n 1: Phác h a môi tr ng c a ph n m m........................................................................6 n 2: Tìm các k ch b n ki m th . .....................................................................................9 n 3: Th c thi và ánh giá k ch b n ki m th .................................................................11 n 4: ánh giá ti n trình ki m th ..................................................................................12 2.4 Ki m th trong các giai 2.4.1 Ki m th trong giai 2.4.2 Ki m th trong giai 2.4.3 Ki m th trong giai 2.5 Ng i ki m th n phát tri n ph n m m .......................................................13 n c t yêu c u....................................................................................14 n thi t k ..............................................................................................15 n l p trình ...........................................................................................16 ...............................................................................................................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 và QA .................................................................................................................19 2.7.2 Phân bi t Error, Fault, Failure...................................................................................................20 2.8 Ch t l ng ph n m m và 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 lý ch t l ng ph n m m ..........................................................................26 2.8.4 T i sao c n qu n lý 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 en.............................................................................................................31 3.2 Ki m th 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 và 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 lý 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 Webserver Stress ........................................................................................................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 lý ki m th ..................................................... 108 5.1 Gi i thi u công c RTH .................................................................................................108 5.2 Lý 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 Requirement vào Project ...............................................................................................140 6.2.3 Thêm m t release ...................................................................................................................141 6.2.4 Thêm Build vào Release .........................................................................................................141 6.2.5 Thêm TestSet vào Build .........................................................................................................141 6.2.6 Thêm Test vào TestSet ...........................................................................................................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 7.1 T ng k t và H ng phát tri n ............................................................... 145 á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 và các câu l nh .................................... 6 ng 2-2 So sánh nh ngh a c a QC và QA ................................................................... 19 ng 2-3 Nh ng m khác nhau gi a 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 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 ................................................................................................. 16 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 và 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 lý 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 Wapt................................................................................................... 86 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 Quality Ch t l s mong m ch t l ng ng: Vi c th a mãn m t s n ph m theo úng 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 và các d li u có liên quan SQS n tác v c a m t h th ng máy tính. Software Quality System: H th ng ch t l m m T true: Là giá tr úng (1) ng ph n Ch ng 1 - M u Ch ng 1 u 1.1 T m quan tr ng c a vi c qu n lý ti n trình ki m th Th a mãn nhu c u c a ng 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à v n n n a, quan n, không còn gi i h n ph n m m ch t l i dùng là vi c r t quan tr ng khi t o ra s n ph m. qu n lý ch t l m hi n i v vi c c t ra. m b o ch t l ng ngày càng ph c t p m c tiêu th a mãn yêu c u khách hàng. M t s n ph m ng cao ph i k t h p nhi u nhân t ch t l ng2). Có th chia các nhân t ch t l • ng ng1 (thu c tính ch t 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 • Nh ng nhân t mà ng áp ng, ví d nh tính hi u d 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 vi c d dàng. Vì v y, vi c qu n lý ch t l ng này không ph i là m t 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 lý ki m th Thu ban u c a ngành công nghi p máy tính nói chung và công ngh ph n m m nói riêng, vi c phát tri n ph n m m không h có m t k ho ch nào tr ph m vi nh nên b n thân ng th a mãn yêu c u ng nhi u ng c xem là m t ti n trình “vi t và s a”3, c ti n trình này. Yêu c u c a ng i vi t ph n m m có th t nh i dùng còn c và t ki m tra i dùng. Nh ng hi n nay quy mô ph n m m r t l n, c n 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 Thu c tính ch t l ng: quality attributes 3 Vi t và s a: code and fix 2 Trang 1 Ch ng 1 - M u N u ta t qu n lý ti n trình ki m th thì không ng tr n gi n chút nào. Vì v i s ng h p ki m th r t l n, ta c n: • Qu n lý nh ng tr tr ng h p ki m th nào ã ng h p ki m th nào ch a c th c hi n và nh ng c th c hi n. • Còn ph i qu n lý k t qu ki m th c u c a ph n m m. K t qu này s th y c kh n ng áp ng yêu c thay i và 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 Do ó các tr c thay s i dùng s còn i trong su t quá trình phát tri n. ng h p ki m th liên quan i theo. M t s tr c c p nh t l i và th c thay n nh ng yêu c u này c ng ng h p ki m th s c t o m i, m t s c coi là phiên b n m i c a tr ng h p ki m ó. 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 lý 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 và ti n hành ki m th th c t iv i t ng lo i ki m th . Tìm hi u v m t s công c h tr qu n lý ti n trình ki m th nh RTH, TestLink, Qatraq,… Trang 2 Ch ng 1 - M u Tìm hi u v m t s công c ki m th t + Ki m th ph n m m t + Ki m th web t ng: ng: WinRunner 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 • Ghi4 l i • Cho phép t o các tr ng h p ki m th m u5 • 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 m m, proxy sniffer_ công c ki m th t 4 5 Ghi: report Tr ng h p ki m th m u: Template testcase Trang 3 ng web. ng ph n Ch ng 2 - T ng quan v ki m th ph n m m Ch ng 2 T ng quan v ki m th ph n m m 2.1 Ki m th ph n m m là gì? Ki m th ph n m m là m t ph n c a ti n trình phát tri n ph n m m. Nó là ti n trình ánh giá m t h th ng ho c thành ph n c a h th ng b ng tay ho c t ng, nh m xác nh l i s tho mãn các yêu c u ph n m m. Ki m th là ti n trình ti n trình n ng th c thi các ch ng, sáng t o và ng trình v i d nh tìm ki m l i. ây là y th thách trí tu . Các phát bi u sai: • Ki m th là ti n trình ch ng minh ch ng trình không b l i. • Ki m th là ti n trình xác minh, tin t ng r ng ch c nh ng gì ã cd ng trình ã làm nh. M t test thành công: là làm bi u hi n ra m t l i. Vi c ng i dùng g i thông báo “ph n m m có l i” là i u mà các nhà phát tri n ph n m m không mu n. Khi ó, ch c ch n h s t h i: Làm th nào quy t nh ng l i này? Và s m t r t nhi u th i gian gi i ki m tra c n th n hàng tr m, hàng ngàn bi n, câu l nh. Vì v y cách hi u qu nh t là làm th nào phòng tránh nh ng l i này? 2.2 M c ích c a vi c ki m th ph n m m Theo Deutsch[1]: “Phát tri n h th ng ph n m m g m r t nhi u ho t có l i là r t l n. L i có th x y ra ngay lúc kh i ng s n xu t, và nguy u c a ti n trình, hay trong các giai o n thi t k và phát tri n sau này Ki m th ph n m m nh m m b o ch t l ng ph n m m. Theo Glen Myers[1]:: Ki m th là ti n trình th c thi ch ng trình • M t tr ng h p có xác xu t cao ng h p ki m th là tr bi u hi n. • Ki m th thành công khi phát hi n l i. Trang 4 tìm ra l i. tìm ra l i ch a Ch ng 2 - T ng quan v ki m th ph n m m Nh ng m c ích trên ng c v i quan m thông th ng là “ki m th thành công là ki m th không tìm ra l i nào”. N u ki m th không phát hi n ra l i thì ta s ngh r ng c u hình ki m th này ch a úng và l i v n còn ti m n trong ph n m m. N u nh ng l i này xác c phát hi n b i ng i dùng thì chi phí cho vi c b o trì, nh l i có th g p r t nhi u l n chi phí tìm l i trong quá trình phát tri n. V y ki m th thành công là ki m th tìm ra l i. Chúng ta c n ph i nh r ng: “Ki m th không th ch ng minh c vi c không có khi m khuy t, nó ch có th ch ng minh r ng khi m khuy t ph n m m hi n h u.” 2.3 Các giai n ki m th ph n m m 4 giai o n trong quá trình ki m th : 1. Phác h a môi tr tr ng c a ph n m m: Tìm xem có kho ng bao nhiêu ng h p c n ki m th , là nh ng tr ng h p nào. 2. Tìm k ch b n ki m th . 3. Th c thi và ánh giá k ch b n ki m th . 4. o l ng s ti n b c a ph n m m sau khi ã hi u rõ v 4 giai o n này ta xét m t ví d li u c ki m th . n gi n v c ng trình có hai d u vào sau: Th i gian hi n t i: 9:28:32 Th i gian nh p: …………….. Ngày hi n t i: 24 Aug 2006 Ngày nh p: ……………… N i dùng giao ti p v i ph n m m b ng cách nh p các d li u thi t, và ph n m m s cung c p d li u u ra. V i ví d này, ng u vào { th i gian, ngày tháng, phím Tab, phím Alt-F4}, h nh ch y ch Ng b nh có i dùng cung c p i u hành s c p b ng trình hi n th th i gian và ngày tháng hi n hành. i ki m th s ki m tra t ng d li u th c hi n ch u vào, xem nó có h p l không, ng trình không, hay h th ng khoá ch c n ng chính. Nh ng nhà ki m th ph i ki m tra t t c tr ng u vào c n i dùng làm ph n m m bi u hi n l i. Trang 5 ng h p có th x y ra. H suy ngh cách Ch ng 2 - T ng quan v ki m th ph n m m Sau ây là o n mã ngu n cho ch ng trình trên: 2.3.1 Giai o n 1: Phác h a môi tr ng c a ph n m m B ng d i ây là b ng li t kê các tr ng h p ki m th ph các nhánh và các câu l nh c a n mã l nh 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 tr ng h p ki m th ph các nhánh và các câu l nh Trang 6 Ch ng 2 - T ng quan v ki m th ph n m m Nhìn vào b ng trên, chúng ta c n ki m th 8 tr ch có m t cách ng h p. V i m i câu l nh nh giá k t qu True, có nhi u h n 2 cách False. Th c t , chúng ta s tìm x c 2 -1 cách( x là s nh giá k t qu i u ki n trong câu l nh). 2.3.1.1 Gi i thi u chung Ngoài vi c ki m th mã ngu n c a ph n m m, ta còn ph i ki m nh ng giá tr t môi tr ng liên quan v i ph n m m. Có bao nhiêu giá tr th i gian trong m t ngày? Tr l i: 24ti ng*60phút*60giây = 86400 giá tr nh p khác nhau. ó là nh ng giá tr h p l , còn giá tr không h p l (ví d : 29 gi ) c ng ph i c ki m tra. Sau ó, ta ph i ki m th : • D li u h p l c a ngày, ví d ngày 20. • D li u không h p l c a ngày, ví d ngày 32. • S k t h p gi a th i gian và ngày tháng. Ví d : ngày 20 tháng 2 n m 2006 là d li u h p l , còn ngày 31 tháng 2 n m 2006 là không h p l vì tháng 2 ch có 30 ngày. Trên th c t , ta không th ki m h t m i giá tr , mà ch tìm nh ng d li u vào tiêu bi u, chúng s các d li u c dùng trong su t quá trình ki m th . i u quan tr ng là u vào có bao ph h t m i tr Nhi m v c a ng u ng h p c n ki m không. i ki m th là xác nh s nh h ng c a môi tr ng lên ph n m m. H ph i tìm hi u giao di n ph n m m và li t kê d li u nh p iv i m i giao di n. ó là nhi m v c b n c a nhà ki m th và nó có th r t khó. Có 4 giao di n thông th 1. Giao di n ng truy n ng: i dùng6: Bao g m các thao tác thông th t v i ph n m m. Hay dùng nh t là giao di n ng h a ng con ng i dùng GUI7. Nh ng thi t b nh p bao g m: chu t, s ki n bàn phím,... Nh ng nhà ki m th s tìm cách thao tác trên các thi t b này nh m làm cho ph n m m bi u hi n l i. 6 7 Human Interface Graphics User Interface Trang 7 i Ch ng 2 - T ng quan v ki m th ph n m m 2. Giao di n ph n m m, APIs8: ph n m m s d ng m t h d li u. Khó kh n c a ng i ki m th là ph i ki m t t c nh ng gì mà d ch v cung c p, c nh ng ch c n ng mà ng i dùng mong nhà phát tri n ph n m m mu n h n các thông báo t h báo l i c ng c n ph i i u hành, c s i và không mong i u hành l u t p tin. H th i u hành r ng thi t b l u tr ã i.Ví d : các ng không chú ý y. Th m chí các thông c ki m tra. 3. Giao di n h th ng t p tin t n t i b t c khi nào ph n m m c ho c vi t d li u t bên ngoài. Nh ng nhà phát tri n ph n m m ph i vi t r t nhi u o n mã ki m tra l i phát hi n ra l i n u ph n m m ch a d li u và 4. Giao di n giao ti p: cho phép truy c p tr c ti p và yêu c u m t giao th c giao ti p. nh d ng riêng. n nh ng thi t b v t lý ki m th nh ng ph n m m này, ng th làm cho các giao th c h p l và không h p l i ki m c th c hi n. H t o ra các cách k t h p khác nhau c a nh ng câu l nh và d li u, trong nh d ng gói tin chu n. K ti p, ng ngoài ph m vi i ki m th ph i ngh xem các thao tác nào c a ng i dùng n m u khi n c a ph n m m. Ví d : • Khi s d ng h i u hành, ng i dùng xoá m t t p tin mà ng khác ang m . Ph n m m s x lý nh th nào trong tr • M t thi t b kh i i dùng ng h p này? ng l i khi ang th c hi n vi c giao ti p. Ph n m m s ph n ng l i nh th nào? 2.3.1.2 S cân nh c, suy xét Khi g p giao di n ph c t p, ng i ki m th có hai khó kh n: • H ph i tìm c n th n nh ng d li u • Ph i xác Ng li u 8 u vào. nh trình t nh p nh th nào. i ki m th th ng dùng k thu t “chia c t giá tr biên” tìm t ng d u vào t i các giá tr biên ho c xung quanh nh ng giá tr biên. Ví d , vi c Software Interfaces Trang 8 Ch ng 2 - T ng quan v ki m th ph n m m ki m th giá tr c c ti u, c c ph n m m. Nh ng giá tr M tv n i ho c b ng 0 trong yêu c u nh p m t s nguyên c a gi a các biên có vai trò nh nhau. ph c t p là vi c ch n nh ng giá tr bi n có kh n ng nh h ng l n nhau. Ng ng th i cho ti n 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 p các ng h p ki m th có th có. H u h t nh ng mô hình thông th bi u ki m. ng là th ho c tr ng thái. Nh ng mô hình ph bi n khác bao g m nh ng bi u th c và ng pháp, nh ng công c , t lý thuy t v ngôn ng . 2.3.2 Giai o n 2: Tìm các k ch b n ki m th . Vi c phân chia nh ng mô hình và giá tr s t o ra vô s k ch b n ki m th . M i k ch b n s có th i gian và chi phí c n thi t. Ch ch n m t s k ch b n tiêu bi u dùng trong k ho ch phát tri n ph n m m. V y cách ch n l a nào là t t nh t? 17 có là s nguyên t t h n 34? M t bao nhiêu th i 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 p. ây là nh ng tiêu chu n h ki m h t m i m t c a ph n m m. Trang 9 a ra), là tiêu Ch ng 2 - T ng quan v ki m th ph n m m 2.3.2.1 Tiêu chu n9 ki m th ng i10 th c thi Tiêu chu n ki m th d li u t p trung vào vi c: nh p nào th ng i nào ho c mi n c th c thi, hi m khi c hai. Tiêu chu n tìm ki m ng t p trung vào nh ng ng có các c u trúc ng i th c thi u khi n. Ví d : • Tìm ki m m t t p ki m th mà m i câu l nh • Tìm ki m t p ki m th mà m i c u trúc nhánh c th c thi ít nh t 1 l n. c ánh giá v i giá tr có th có c a nó. Th c t , l i kh i ur t c quan tâm. Trong ph c c ý chèn vào trong mã ngu n. Sau ó ng ng pháp này, m t s l i i ki m th s thi t k k ch b n tìm nh ng l i này. Vi c tìm ki m các l i c ý s giúp ng i ki m th tìm ra nh ng l i th c s . 2.3.2.2 Tiêu chu n ki m th mi n nh p11 Tiêu chu n ki m tra mi n nh p t m c Tìm t p các tr n ph c t p: ng h p ki m th mà: • Ch a t 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 ph ng s n ph m. Ng ng pháp mà h ch n i ki m th nên có ki n th c v tiêu tìm, t o ra các tr hi u gi i h n c a các tiêu chu n này, tránh tr không ph i do ph n m m b l i, mà do các tr 9 Tiêu chu n: Ph ng pháp ng i: T ng nhánh c a mã ngu n 11 Mi n nh p: D li u u vào 10 Trang 10 ki m ng h p ki m th . H ph i ng h p có thông báo l i nh ng ng h p ki m th không úng. Ch ng 2 - T ng quan v ki m th ph n m m 2.3.3 Giai o n 3: Th c thi và ánh giá k ch b n ki m th Th c thi k ch b n ki m th : k t lu n k t qu ki m th là úng hay sai, n i ki m th chuy n nó thành hình th c có th th c thi l i các thao tác c a ng g ng t i dùng d a trên k ch b n ki m th c b ng cách th c hi n ó. Các nhà ki m th c ng hoá k ch b n ki m th . ánh giá k ch b n ki m th : lúc b t u thì d nh ng r t khó th c hi n. ánh giá ph i d a trên k t qu th c thi c a ph n m m, k t qu th c thi k ch b n ki m th , k t qu mong mu n theo b n n u b l ch là sai. Ng ct .B n c t ph i c m b o úng, i ki m th s so sánh k t qu th c thi và k t qu mong mu n xem có sai khác không. S so sánh này r t khó. V lý thuy t s so sánh c a hai giá tr tu ý thì không th tìm ra l i gi i. Ví d : ng d ng trình so n th o: n u xu t ra “Tô sáng t sai l i chính t ”. Làm th nào chúng ta có th xác c các tr ng h p sai l i chính t ã nh r ng t t c dò tìm? 2.3.3.1 Ki m th h i quy12 Khi ti n trình ki m th k t thúc, các l i ã c phát hi n, thì các nhà phát tri n s t o ra phiên b n m i c a ph n m m. Vi c ki m th ti n hành v i t t c các phiên b n m i nh t c a ph n m m cho h p nh t. Câu h i n khi xác nh c m t phiên b n thích t ra: khi ta ã ti n hành ki m th phiên b n n-1, thì v i phiên b n n, ta ph i ki m th nh th nào? Ki m m i h t? Hay ch ki m l i nh ng b ki m th c c a phiên b n n-1? M t vài tr ng h p sau khi s a ch a l i: • Ch s a ch a nh ng v n ã c thông báo. • Vi c s a ch a th t b i. • S a ch a l i nh ng l i làm ng ng m t vài th khác mà tr c ó ang làm vi c • Không nh ng l i không c s a ch a mà còn làm ng ng tr m t vài th khác n a. 12 Ki m th h i quy: Regression testing Trang 11 Ch ng 2 - T ng quan v ki m th ph n m m Vì nh ng tr ng h p này r t có th x y ra, nên khi ki m th phiên b n n, ta ph i th c thi l i các b ki m th t phiên b n n-1, r i m i ti n hành các b ki m th m i. Phiên b n m i th ng kèm theo các ch c n ng m i, nên ki m th h i quy s m t th i gian trong 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 vi t l i d ki m h n. o n ng t , các ng pháp ki m th c ng nên d th c hi n, n u nó có th dùng trong ki m th t ng thì t t h n. Khi th 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 n m m, ví d ng d ng khách-ch . 2.3.4 Giai o n 4: ánh giá ti n trình ki m th Ta ánh giá ti n trình ki m th d a trên này c tính b ng vi c ta dùng u m m t cái gì ó, ví d : 14 o v k t qu ki m th . ms ng d li u u vào mà ki m th , s l n g i th c thi ng d ng, t l mã ngu n ã ki m soát, s l n k t thúc ng d ng thành công, s l i tìm th y, … ki m tra tính toàn v n c u trúc, ng i ki m có th tr l i các câu h i: • Tôi ã ki m tra nh ng l i l p trình ph bi n ch a? • Tôi ã s d ng toàn b mã ngu n ch a? 13 14 Các m i quan tâm liên quan: related concerns ánh giá ti n trình ki m th ph n m m: Measuring Testing Progress Trang 12 o m Ch ng 2 - 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 tr ng thái c a ph n m m? • Có ph i tôi ã ch y h t t t c nh ng ph ng án mà tôi ngh r ng ng i dùng có th s th c thi? 2.4 Ki m th trong các giai n phát tri n ph n m m Chu trình ki m th : 1. Phân tích yêu c u: Quá trình ki m th nên cb t u t giai o n yêu c u c a ph n m m 2. Phân tích thi t k : Trong su t giai vi c v i nhóm phát tri n n thi t k , nhóm ki m th nên làm hi u rõ cách thi t k nh m ki m th d dàng và s m n. 3. Lên k ho ch ki m th . 4. Trình bày ki m th : Th t c ki m th , k ch b n ki m th , nh ng tr h p ki m th , nh ng t p l nh ki m th ng s d ng trong quá trình ki m th ph n m m. 5. Ti n hành ki m th : Nh ng nhà ki m th ti n hành th c thi các tr h p ki m th theo b n k ho ch ã l p ra và thông báo t t c nh ng l i tìm ng c cho nhóm phát tri n. 6. Thông báo k t qu ki m th : Khi quá trình ki m th thành công, ng i ki m th thông báo k t qu nh các ng d ng qu n lý ti n trình ki m th , và tìm cách thông báo chi ti t v l i. Trang 13
- Xem thêm -

Tài liệu liên quan