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ử

  • Số trang: 154 |
  • Loại file: PDF |
  • Lượt xem: 48 |
  • Lượt tải: 0
quangtran

Đã đăng 3721 tài liệu

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 -