Chương 5-Kiểm thử
lượt xem 48
download
Tham khảo tài liệu 'chương 5-kiểm thử', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 5-Kiểm thử
- 14/9/2009 Ki m th ph n m m T ng quan — M c dù đư c t đ ng hoá m t ph n b i các công c , r t nhi u công đo n trong quá trình s n xu t ph n m m v n đư c th c hi n b i con ngư i Chương 5 — L i có th x y ra trong t t c các giai đo n: phân tích Ki m th yêu c u, thi t k , mã hoá — Do đó ph i ki m th chương trình trư c khi chính th c s d ng — Ki m th ph n m m là ho t đ ng th c thi chương trình v i m c đích tìm ra l i Kiêm th ph n m m – t ng quan Khái ni m — Có 2 ki u l i trong ng dung: M t s khái ni m — Không làm nh ng đi u ph i làm: l i b sót, thư ng — Ki m th h p đen (black-box) : xu t hi n các ng d ng m i phát tri n. — Ki m th các ch c năng c th c a ph n m m, — Làm nh ng đi u không c n làm: l i c a các l nh đã không quan tâm c u trúc bên trong cư trú trong các ng d ng bão trì. — D li u vào đư c t o theo thi t k đ sinh ra các — Có 2 lo i ki m th : output khác nhau, các k t qu đư c so sánh v i — Ki m th phát tri n (development test) : t ti n hành các k t qu th c t đ đánh giá m c đ thành — Đ m b o ch t lư ng (quantity assurance) và ki m tra công. ch p nh n (acceptance test): do bên ngoài ti n hành — Ba phương pháp chính: Phân ho ch cân b ng. Phân tích c c biên. Đoán l i 1
- 14/9/2009 Kiêm th ph n m m – khái ni m Kiêm th ph n m m – khái ni m — H p tr ng (white-box) : — Ki m th c u trúc đi u khi n bên trong chương trình. — H p đư c m ra và nhìn vào các logic đ c t c a ng d ng đ ki m tra nó làm vi c như th nào. — Có 3 phương pháp chính: — Ki m tra logic (logic test), — Ch ng minh toán h c (mathematical proof), — Phòng s ch (cleanroom test) M c tiêu Ki m th ph n m m – m c tiêu M c tiêu c a ki m th — Quá trình ki m th ph n m m là t t khi: — Tìm ra l i (n u có) v i chi phí th p nh t — Có kh năng tìm ra l i cao — Ki m th ph n m m giúp: — Không dư th a — Phát hi n đư c l i trong chương trình (n u có). — Bi t ch n l c: ch ki m nghi m nh ng ph n nào có — Ch ng minh đư c ph n m m ho t đ ng đúng như kh năng tìm ra l i đ c trưng đã thi t k — Không quá ph c t p cũng không quá đơn gi n — Ch ng minh đư c ph n m m đáp ng yêu c u c a user: Góp ph n ch ng minh ch t lư ng c a ph n — Chú ý: Ki m th ph n m m không kh ng đ nh đư c m m ph n m m không còn khi m khuy t, ch kh ng đ nh đư c ph n m m có l i 2
- 14/9/2009 Nguyên lý Test-case Các nguyên lý Trư ng h p ki m th (Test case) — Vi c ki m th nên hư ng v yêu c u c a khách hàng — Khái ni m test-case — D li u input — Nên đư c ho ch đ nh trư c m t th i gian dài. — Thao tác ki m nghi m — Áp d ng nguyên lý Pareto: 80% l i có nguyên nhân t — D li u output hay đáp ng mong đ i c a chương 20% các module : cô l p và ki m tra nh ng module kh trình nghi nh t. — Test-case cho ki m th black-box: ch y u d a vào — Không th ki m th tri t đ m t ph n m m. các yêu c u c th c a ch c năng ph n m m. — Nên đư c th c hi n b i nh ng đ i tư ng KHÔNG tham — Test-case cho ki m th white-box: ch y u d a vào gia vào quá trình phát tri n ph n m m c u trúc đi u khi n c a ph n m m Ki m th ph n m m - test-case Ki m th ph n m m - test-case Các đư ng đ c l p cơ b n Đ th dòng ch y — Ki m th white-box d a vào c u trúc đi u khi n c a — M i node hình tròn bi u di n m t ho c m t vài tác v thi t k th t c đ sinh các test-case v i tiêu chí (hơi khác so v i lưu đ thu t gi i) — T t c các đư ng th c thi đ c l p đư c th qua ít sequence if until while case nh t m t l n — Th các đi u ki n r nhánh c 2 nhánh true và false — Th qua vòng l p t i biên cũng như bên trong — Th qua c u trúc d li u đ đ m b o tính toàn v n c a nó — Ki m th các đư ng đ c l p cơ b n là m t trong nh ng phương cách ki m th white-box 3
- 14/9/2009 Ki m th ph n m m - test-case Ki m th ph n m m - test-case 1 procedure: DoSomething 1 1 2,3 1: do while x=0 2 2 2: if y=0 then 6 3: z=0; 4 4,5 3 4: elseif k=0 then 3 7 8 5: z=1; 6 5 6 4 6: else x=1; 9 7: endif; 7 7 8 5 9 10 endif; 8 8: enddo 10 11 9: end 9 11 Ki m th ph n m m - test-case Ki m th ph n m m - test-case — Ph i phân rã t t c các đi u ki n ph c tr thành Procedure AnalyzeTriangle các đi u ki n đơn — M i node mô t m t đi u ki n đơn đư c g i là 5 a=c predicate 4 a0 b a=b 10 b 8 a2=b2+c2 12 1 b=c x 9 y x 11 3 if a and b then y else x while a or b do x 4
- 14/9/2009 Ki m th ph n m m - test-case Ki m th ph n m m - test-case 1 — Đ i v i chương trình con Li t kê các đư ng đ c l p cơ b n DoSomething 2 — T node b t đ u đ n node k t thúc, các đư ng th c thi — T ng s đư ng : V = 3 + 1 = 4 cơ b n đư c li t kê theo m t th t nào đó đ đ m b o 4 — Đư ng 1: 1-9 3 r ng: đư ng đang li t kê ít nh t đi qua m t c nh chưa 6 5 đư c duy t qua b i các đư ng đã li t kê trư c đó — Đư ng 2: 1-2-3-8-1… — Đư ng 3: 1-2-4-5-7-8-1… 7 — T ng s đư ng th c thi cơ b n đ c l p nhau đư c tính b ng — Đư ng 4: 1-2-4-6-7-8-1… 8 — Chú ý: d u 3 ch m (…) mang ý — V = P + 1; trong đó P là s node phân nhánh nghĩa “không quan tâm”, t đó có (predicate) 9 th đi theo b t kỳ c nh nào b i vì các c nh sau đó đã đư c duy t qua r i Ki m th ph n m m - test-case Ki m th ph n m m - test-case — Đ i v i chương trình con AnalyzeTriangle Thi t l p các test-case — T ng s đư ng : V = 6 + 1 = 7 — Test-case : trư ng h p ki m th — Đư ng 1: 1-3-12 — Thi t l p m t test-case cho m i đư ng th c thi cơ b n — Đư ng 2: 1-2-3-12 — D a vào thu t gi i đ tìm ra m t d li u input, sau — Đư ng 3: 1-2-4-5-12 đó tính ra d li u output hay đáp ng mong đ i c a — Đư ng 4: 1-2-4-6-7-12 thu t gi i — Chú ý: có th không t o ra đư c test-case cho m t — Đư ng 5: 1-2-4-6-8-7-12 đư ng th c thi nào đó — Đư ng 6: 1-2-4-6-8-9-10-12 — Đư ng 7: 1-2-4-6-8-9-11-12 5
- 14/9/2009 Ki m th ph n m m - test-case Ki m th ph n m m - test-case — Sinh test-case cho chương trình con AnalyzeTriangle — Test-case cho đư ng 4: — Test-case cho đư ng 1: — Input: a = 7, b = 7, c = 4 — Output mong đ i: type = “Isosceles” — Input: a = 3, b = 2, c = 0 — Test-case cho đư ng 5: — Output mong đ i: type = “Error” — Input: a = 12, b = 9, c = 9 — Test-case cho đư ng 2: — Output mong đ i: type = “Isosceles” — Input: a = 17, b = 5, c = 4 — Test-case cho đư ng 6: — Output mong đ i: type = “Error” — Input: a = 5, b = 4, c = 3 — Test-case cho đư ng 3: — Output mong đ i: type = “Right” — Input: a = 6, b = 6, c = 6 — Test-case cho đư ng 7: — Output mong đ i: type = “Equilateral” — Input: a = 13, b = 11, c = 6 — Output mong đ i: type = “Scalene” Chi n thu t Ki m th ph n m m - chi n thu t Chi n thu t ki m th — Chi n thu t ki m th ph n m m tích h p các phương pháp t o ra test-case tr thành m t chu i các bư c có th t đ có th ki m th ph n m m thành công. — Bao g m các công vi c — L p k ho ch ki m nghi m — Sinh test-case — Th c hi n ki m th , thu th p k t q a và đánh giá 6
- 14/9/2009 Quy trình Ki m th ph n m m - quy trình Quy trình ki m th — Đơn v phát tri n ti n hành — Ki m th đơn v (Unit test) — Ki m th tích h p (Sub system integration test) — Ki m th h th ng (System test) — Khách hàng ti n hành — Đ m b o ch t lư ng và ki m th ch p thu n (Quanlity assurance & Acceptance test) Ki m th ph n m m - quy trình Ki m th ph n m m - quy trình Ki m th đơn v Phương pháp và test-case — Ti n hành t i nh ng giai đo n s m nh t. — Phương pháp: — Ti n hành ki m th trên t ng đơn v nh nh t c a — Ki m th h p đen ph n m m, đó là môđun mã ngu n, sau khi đã — Ki m th h p tr ng (n u c n) thi t k , mã hoá và biên d ch thành công — Thi t k các test-case — Có th ti n hành ki m th cùng lúc nhi u module. — Chu n b các test-case (s li u ki m th ) — Đư c th c hi n đ xem ch c năng c a môđun có — Là nhân t quan tr ng nh hư ng đ n k t qu th m chí tương ng v i đ c t môđun hay không. c ch t lư ng c a h th ng — L p tài li u thi t k trư ng h p ki m th và tích lũy d li u ki m th s r t có ích cho vi c c i ti n ph n m m. 7
- 14/9/2009 Ki m th ph n m m – quy trình Ki m th ph n m m - quy trình Ki m th tích h p Stub và driver — T ng module mã ngu n đã ho t đ ng đúng. Li u khi — M i môđun mã ngu n không ph i là m t chương trình k t h p chúng l i thành m t nhóm l n chúng có ho t hoàn ch nh và đôi khi ph i g i các module chưa đư c đ ng đúng không ? ki m nghi m khác do đó có th ph i thi t l p driver và/ho c stub — Ph i ti n hành ki m th tích h p đ phát hi n l i — Driver là m t chương trình chính có nhi m v nh n d liên quan đ n giao ti p gi a các module. li u ki m nghi m, chuy n d li u đó xu ng cho module — Trư c khi ti n hành ph i xác đ nh chính xác th t đ ki m tra và in ra các k t qu ki m tra tương ng. và th i gian các mô đun đư c k t n i. — Stub thay th các module đư c g i b i module đang ki m tra. Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình 8
- 14/9/2009 Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình Ki m th tăng d n — Môđun đã ki m th s móc n i liên ti p v i các môđun khác. — Có th phân 3 lo i — Ki m th t trên xu ng — Ki m th t dư i lên — Ki m th t h p Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình — Ki m th t trên xu ng — Ki m th theo th t t môđun cao đ n môđun th p — Đi u ki n là b n thân chương trình ph i đư c t o t thi t k có c u trúc — C n đ n stub — Thích h p cho vi c phát tri n h th ng m i 9
- 14/9/2009 Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình — Ki m th t dư i lên — Ki m th theo th t t môđun th p lên môđun cao — Dùng đ phát triên h th ng theo trình t các môđun th p đ n cao (l p trình t dư i lên) — Do có nhi u môđun th p do đó có th ti n hành ki m th đ ng th i trong giai đo n đ u — C n đ n driver — Thích h p v i vi c phát tri n m t phiên b n s a đ i c a h th ng đang có. Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình — Ki m th t h p — T h p ki m th t trên xu ng và t dư i lên — Ti n hành đ ng th i cho đ n khi đ t đ n làn ranh th a hi p đã đ nh s n — T n ít th i gian — C n đ ng th i c stub và driver 10
- 14/9/2009 Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình — Ki m th bigbang Ki m th h th ng — Ki m th đ ng th i trên m i môđun. Móc n i chúng — Ti n hành đ ki m ch ng các ch c năng c a ph n m m và ki m th toàn b đáp ng đư c nhu c u c a khách hàng v n đã đư c xác — Khó tìm l i trong giao di n các môđun đ nh trong văn b n đ c t yêu c u c a ph n m m — Không c n đ ng c stub và driver không? — Các thao tác giao di n ngư i dùng có đúng thi t k — Ch thích h p v i các chương trình nh không — Còn g i là ki m th toàn di n — Là ki m th cu i cùng đư c ti n c a t ch c phát tri n h th ng Ki m th ph n m m – quy trình Ki m th ph n m m – quy trình — Ki m th alpha — Áp d ng k thu t black-box — Đư c ti n hành ngay t i nơi s n xu t ph n m m. — Ki m th tính năng bao g m — Nhà phát tri n ph n m m s quan sát ngư i s d ng — Xem xét l i c u hình ph n m m s n ph m và ghi nh n l i nh ng l i phát sinh đ s a ch a. — Ki m nghi m alpha — Ki m th beta — Ki m nghi m beta — Ph n m m đư c ki m tra bên ngoài ph m vi c a đơn v s n xu t. — Khách hành tr c ti p s d ng và ghi nh n l i đ báo l i cho nhà phát tri n s a ch a. 11
- 14/9/2009 Ki m th ph n m m – quy trình Ki m th t bên ngoài — Các ki u ki m th h th ng B o đ m ch t lư ng và ki m th ch p nh n — Ki m th tích h p chương trình/h con — Ti n hành ki m tra b i cơ quan bên ngoài — Ki m th ch c năng — Có th do ngư i s d ng hay đ i di n — Ki m th hi u năng — Đánh giá khách quan v ng d ng — Ki m th v m hành — Tương t ki m th h th ng v m c đích nhưng đư c — Ki m th ph c h i h ng hóc ti n hành n m ngoài s đi u khi n c a trư ng d án — Ki m th t i — Ki m th ngo i l — Ki m th ch u đ ng G r i G r i -Brute force — Là phương pháp ph bi n nh t nhưng l i ít hi u qu — G r i là công vi c khó khăn và d gây tâm lý chán n n nh t cho vi c phát hi n nguyên nhân gây l i ph n m m. b i nguyên nhân gây ra l i nhi u khi l i mơ h : do timeout, do đ chính xác, do ch quan l p trình... — Tri t lý c a phương pháp này là: “Hãy đ máy tính tìm ra l i”. — Kh năng g r i g n như là b m sinh c a m i ngư i — Có 3 cách th c hi n: — L y d li u trong b nh đ xem xét. — Dùng run-time trace đ tìm l i. — Dùng l nh WRITE đ xu t d li u c n ki m tra ra màn hình. — Áp d ng phương pháp này khi t t c các phương pháp khác đ u th t b i. 12
- 14/9/2009 G r i - Lo i tr nguyên nhân G r i - Theo v t — Phương pháp này d a trên nguyên t c phân chia nh — Là m t phương pháp g l i khá ph bi n có th dùng phân. thành công trong các chương trình nh nhưng khó áp — Cách th c hi n: d ng cho đ i v i các chương trình r t l n. — Khi m t l i đư c phát hi n, c g ng đưa ra m t danh — Cách th c hi n: b t đ u t i dòng mã ngu n có tri u sách các nguyên nhân có th gây ra l i. ch ng l i th c hi n l n ngư c tr l i t ng dòng mã — Danh sách này đư c nghi m l i đ lo i b d n các ngu n cho đ n khi tìm th y dòng gây ra l i. nguyên nhân không đúng cho đ n khi tìm th y m t nguyên nhân kh nghi nh t. — Khi đó d li u ki m nghi m s đư c tinh ch l i đ ti p t c tìm l i. 13
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Chương 5 DỮ LIỆU KIỂU MẢNG (ARRAY)
17 p | 405 | 70
-
Kỹ thuật lập trình - Chương 5: Lớp và đối tượng
19 p | 176 | 64
-
ĐỀ KIỂM TRA CHỨNG CHỈ TIN HỌC ỨNG DỤNG TRÌNH ĐỘ A QUỐC GIA 2010 ĐH AN GIANG
4 p | 250 | 46
-
Bài giảng công nghệ phần mềm - Chương 5
10 p | 178 | 33
-
ĐỀ CƯƠNG ÔN THI KẾT THÚC HỌC PHẦN TRÍ TUỆ NHÂN TẠO
6 p | 158 | 29
-
5 HIỆU CHỈNH ĐỂ LƯỚT WEB NHANH HƠN
4 p | 288 | 29
-
All about File I/O in C++
13 p | 156 | 19
-
Chương 5.TÌM KIẾM DỮ LIỆU
6 p | 107 | 14
-
Công nghệ cập nhật driver mới nhất cho máy tính Uniblue
4 p | 111 | 10
-
5 phần mềm miễn phí hấp dẫn nhất cho Windows
6 p | 100 | 10
-
5 công cụ kiểm tra chất lượng USB miễn phí
7 p | 92 | 10
-
Intel tích hợp DirectX 11 vào chip Ivy Bridge
5 p | 113 | 7
-
[Ngôn Ngữ Máy] Đề Cương Bài Giảng Hợp Ngữ (assembly language) phần 5
11 p | 57 | 6
-
5 cách khởi chạy nhanh chương trình trên Windows
8 p | 101 | 5
-
Bài giảng Kiểm thử phần mềm: Chương 5 - Nguyễn Văn Hiệp
18 p | 45 | 4
-
Vài thủ thuật Windows XP hay
3 p | 56 | 3
-
Bài giảng Tin học: Chương 5 - Trường CĐ Cộng đồng Lai Châu
16 p | 19 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn