Công nghệ phần mềm - Chương 9
lượt xem 10
download
Tài liệu tham khảo bài giảng Công nghệ phần mềm khoa công nghệ thông tin gồm 10 chương - Chương 9 Kiểm thử
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Công nghệ phần mềm - Chương 9
- Ki m th (9) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng N i dung Gi i thi u v k i m th Ki m th trong ti n trình phát tri n h p ñen Ki m th Ki m th h p tr ng 2 1
- Ki m th là gì ? IEEE: Ki m th là ti n trình v n hành h th ng ho c thành ph n dư i nh ng ñi u ki n xác ñ nh, quan sát ho c ghi nh n k t qu và ñưa ra ñánh giá v h th ng ho c thành ph n ñó Myers: Ki m th là ti n trình th c thi chương trình v i m c ñích tìm th y l i (The art of software testing) 3 Ki m th là gì ? Ki m th ≠ G r i (debug) Ki m t h • nh m phát hi n l i G ri • xác ñ nh b n ch t l i và ñ nh v l i trong chương trình • ti n hành s a l i 4 2
- Các khái ni m M t sai sót (error) là m t s nh m l n hay m t s hi u sai trong quá trình phát tri n ph n m m c a ngư i phát tri n M t l i (fault, defect) xu t hi n trong ph n m m như là k t qu c a m t sai sót M t h ng hóc (failure) là k t qu c a m t l i xu t hi n làm cho chương trình không ho t ñ ng ñư c hay ho t ñ ng nhưng cho k t qu không như mong ñi sai sót li h ng hóc 5 Các khái ni m D li u th (test data) d li u vào c n cung c p cho ph n m m trong khi th c thi K ch b n ki m th (test scenario) các bư c th c hi n khi khi ki m th Phán xét ki m th (test oracle) ñánh giá k t qu c a ki m th • t ñ ng: chương trình • th công: con ngư i 6 3
- Các khái ni m Ki m th viên (tester) ngư i th c hi n ki m th Ca ki m th (test case) t p d li u th ñi u ki n th c thi k t qu mong ñ i 7 Các khái ni m 8 4
- Ti n trình ki m th Ki m th thư ng bao g m các bư c thi t k các ca ki m th bư c t o d li u th • ki m th v i t t c các d li u vào là c n thi t • không th ki m th “vét c n” • ch n t p các d li u th ñ i di n t mi n d li u vào • d a trên các tiêu chu n ch n d li u th bư c th c thi chương trình trên d li u th • cung c p d li u th • th c thi • ghi nh n k t qu bư c quan sát k t qu ki m th • th c hi n trong khi ho c sau khi th c thi • so sánh k t qu nh n ñư c và k t qu mong ñ i 9 Ti n trình ki m th 10 5
- Khó khăn c a ki m th Liên quan ñ n ti n trình phát tri n g m nhi u giai ño n phát tri n • cái ra c a m t giai ño n là cái vào c a giai ño n khác • m t mát thông tin V m t con ngư i thi u ñào t o ít chú tr ng vai trò ki m th V m t k thu t không t n t i thu t toán t ng quát có th ch ng minh s ñúng ñ n hoàn toàn c a b t k ỳ m t chương trình nào 11 T i sao ki m th H p th c hóa (validation) ch ra r ng s n ph m ñáp ng ñư c yêu c u ngư i s d ng Xác minh (verification) ch ra r ng s n ph m th a mãn ñ c t yêu c u Phân bi t h p th c hóa và xác minh “Verification: Are we building the product right ?” “Validation: Are we building the right product ?” 12 6
- Ki m th trong ti n trình phát tri n Các k thu t ki m th k thu t ki m th tĩnh (static testing) k thu t ki m th ñ ng (dynamic testing) • ki m th h p ñen (black-box testing) • k thu t ki m th ch c năng (functional testing) • ki m th h p tr ng (white-box testing) • k thu t ki m th c u trúc (structural testing) Các ho t ñ ng ki m th /chi n lư c ki m th ñơn v (unit testing) ki m th ki m th tích h p (integration testing) ki m th h p th c hóa (validation testing) ki m th h i quy (regression testing) 13 Ki m th trong ti n trình phát tri n Ki m th ñơn v (unit testing) ki m th m i ñơn v ph n m m (mô-ñun) s d ng k thu t ki m th h p ñen d li u th ñươc t o ra d a trên tài li u thi t k có th s d ng c ki m th h p tr ng và ki m th tĩnh • ph n m m yêu c u ch t lư ng cao thư ng ñư c th c hi n trên ph n c ng phát tri n ph n m m 14 7
- Ki m th trong ti n trình phát tri n Ki m th tích h p (integration testing) sau khi ñã th c hi n ki m th ñơn v ghép n i các ñơn v /thành ph n ph n m m ki m th s ghép n i, trao ñ i d li u gi a các ñơn v /thành ph n s d ng k thu t ki m th h p ñen môt s trư ng h p, s d ng k thu t ki m th h p tr n g • chi phí cao, khó khăn d li u th ñư c t o ra d a trên thi t k t ng th 15 Ki m th trong ti n trình phát tri n Ki m th tích h p (2) c n xây d ng thêm • nút trám (stub): các thành ph n khác mô ph ng các thành ph n ph n m m chưa ñư c tích h p • trình ñi u khi n (driver): các thành ph n t o ra các d li u vào cho m t vài các thành ph n ph n m m trong t p h p ñang ñư c ki m th 16 8
- Ki m th trong ti n trình phát tri n Ki m th tích h p (3) 17 Ki m th trong ti n trình phát tri n Ki m th tích h p (4) chi n lư c t trên xu ng (top-down) • ki m th tích h p các thành ph n chính trư c, sau ñó thêm vào các thành ph n ñư c g i tr c ti p b i các thành ph n v a k i m th • cho phép xác ñ nh s m các l i v ki n trúc • các b d li u th có th ñư c tái s d ng cho các bư c ti p theo • tuy nhiên chi n lư c này ñòi h i ph i xây d ng nhi u nút trám chi n lư c t dư i lên (bottom-up) • ki m th các thành ph n không g i các thành ph n khác, sau ñó thêm vào các thành ph n g i các thành ph n v a ki m th • ít s d ng các nút trám • nhưng l i xác ñ nh l i tr hơn 18 9
- Ki m th trong ti n trình phát tri n Ki m th h p th c hóa (validation testing) còn g i là ki m th h th ng (system testing) th c hi n sau khi ki m th tích h p k t thúc ch ng minh ph n m m th c hi n ñúng mong ñ i c a ngư i s d ng d a vào yêu c u ngư i s d ng ch s d ng k thu t ki m th h p ñen nên th c hi n trong môi trư ng mà ph n m m s ñư c s d ng 19 Ki m th trong ti n trình phát tri n Ki m th h i quy (regression testing) ph n m m sau khi ñưa vào s d ng, có th có các ch nh s a • có th phát sinh l i m i c n ki m th l i: ki m th h i quy thư ng tái s d ng các b d li u th ñã s d ng trong các giai ño n trư c 20 10
- Ki m th trong mô hình V ð c t yêu c u Ki m th h p th c hóa Thi t k ki n trúc Ki m th tích h p Ki m th ñơn v Thi t k chi ti t Mã hóa 21 Các k thu t ki m th k thu t ki m th tĩnh (static testing) • không th c thi chương trình k thu t ki m th ñ ng (dynamic testing) • ki m th h p ñen (black-box testing) • k thu t ki m th ch c năng (functional testing) • ki m th h p tr ng (white-box testing) • k thu t ki m th c u trúc (structural testing) 22 11
- Ki m th tĩnh Thanh tra mã ngu n (code inspection) Ch ng minh hình th c Th c thi hình th c (symbolic execution) ðánh giá ñ ph c t p McCabe Nejmeh 23 Ki m th h p ñen Inputs causing anomalous Input test data I behaviour e System Outputs which reveal the presence of Output test results Oe defects 24 12
- Ki m th h p ñen Ch c n d a vào ñ c t chương trình Xây d ng d li u th trư c khi mã hóa/l p trình Thư ng phát hi n các l i ñ c t yêu c u, thi t k D dàng th c hi n Chi phí th p 25 Ki m th h p ñen Ki m th giá tr biên (boundary value analysis) Ki m th l p tương ñương (equivalence class testing) Ki m th ng u nhiên (random testing) ð th nhân-qu (cause-efect graph) Ki m th cú pháp 26 13
- Ki m th giá tr biên Cơ s l i thư ng xu t hi n g n các giá tr biên c a mi n dũ li u T p trung phân tích các giá tr biên c a mi n d li u ñ xây d ng d li u ki m th Nguyên t c: ki m th các d li u vào g m giá tr nh nh t g n k l n hơn giá tr nh nh t giá tr bình thư ng giá tr g n k nh hơn giá tr l n nh t giá tr giá tr l n nh t 27 Ki m th giá tr biên 28 14
- Ki m th giá tr biên Nguyên t c ch n d li u th N u d li u vào thu c m t kho ng, ch n • 2 giá tr biên • 4 giá tr = giá tr biên ± sai s nh nh t N u giá tr vào thu c danh sách các giá tr , ch n • ph n t th nh t, ph n t th hai, ph n t k cu i và ph n t cu i N u d li u vào là ñi u ki n ràng bu c s giá tr , ch n • s giá tr t i thi u, s giá tr t i ña và m t s các s giá tr không h p l T v n d ng kh năng và th c t ñ ch n các giá tr biên c n ki m th 29 Ki m th giá tr biên Ví d (1) Chương trình nh n vào ba s th c, ki m tra ba s th c có là ñ dài ba c nh m t tam giác. N u là ñ dài ba c nh c a m t tam giác, thì ki m tra xem ñó là tam giác thư ng, cân, ñ u cũng như ki m tra ñó là tam giác nh n, vuông hay tù. 30 15
- Ki m th giá tr biên Ví d (2) D li u t h 1, 1, 2 Không là tam giác Ch m t ñi m 0, 0, 0 4, 0, 3 M t c nh b ng không 1, 2, 3.00001 G n là m t tam giác 0.001, 0.001, 0.001 Tam giác r t nh 99999, 99999, 99999 Tam giác r t l n Tam giác g n ñ u 3.00001, 3, 3 2.99999, 3, 4 Tam giác g n cân 3, 4, 5.00001 Tam giác giác g n vuông 3, 4, 5, 6 B n giá tr 3 Ch m t giá tr D li u vào r ng -3, -3, 5 Giá tr âm 31 Ki m th l p tương ñương Ý tư ng phân ho ch mi n d li u vào thành các l p các d li u có quan h v i nhau m i l p dùng ñ ki m th m t ch c năng, g i là l p tương ñương 32 16
- Ki m th l p tương ñương Ba b ư c ñ i v i m i d li u vào, xác ñ nh các l p tương ñương t mi n d li u vào ch n d li u ñ i di n cho m i l p tương ñương k t h p các d li u th b i tích ð -các ñ t i ra b d li u ki m th 33 Ki m th l p tương ñương Nguyên t c phân ho ch các l p tương ñương N u d li u vào thu c m t kho ng, xây d ng • 1 l p các giá tr l n hơn • 1 l p các giá tr nh hơn • n l p các giá tr h p l N u d li u là t p h p các giá tr , xây d ng • 1 l p v i t p r ng • 1 l p quá nhi u các giá tr • nl ph pl N u d li u vào là ñi u ki n ràng bu c, xây d ng • 1 l p v i ràng bu c ñư c th a mãn • 1 l p v i ràng bu c không ñư c th a mãn 34 17
- Ki m th l p tương ñương Ví d Bài toán tam giác Nh n Vuông Tù Thư ng 6,5,3 5,6,10 3,4,5 √2,2,√2 Cân 6,1,6 7,4,4 ðu 4,4,4 không th không th Không là tam giác -1,2,8 35 Bài t p Ki m th giá tr biên Vi t m t chương trình th ng kê phân tích m t t p ch a tên và ñi m c a sinh viên trong m t năm h c. T p này ch a nhi u nh t 100 trư ng. M i trư ng ch a tên c a m i sinh viên (20 ký t ), gi i tính (1 ký t ) và ñi m c a 5 môn h c (t 0 ñ n 10). M c ñích chương trình: • tính di m trung bình m i sinh viên • tính ñi m trung bình chung (theo gi i tính et theo môn h c) • tính s sinh viên lên l p (ñi m trung bình trên 5) Xây d ng d li u th cho chương trình trên b i ki m th giá tr biên 36 18
- Bài t p Ki m th l p tương ñương Vi t chương trình d ch, trong ñó có câu l nh FOR, ñ c t câu l nh FOR như sau: “L nh FOR ch ch p nh n m t tham s duy nh t là bi n ñ m. Tên bi n không ñư c s d ng quá hai ký t khác r ng. Sau ký hi u = là c n dư i và c n trên c a bi n ñ m. Các c n trên và c n dư i là các s nguyên dương và ñư c ñ t gi a t khóa TO”. Xây d ng d li u th ñ ki m th câu l nh FOR theo k thu t ki m th l p tương ñương 37 Ki m th h p tr ng D a vào mã ngu n/c u trúc chương trình Xây d ng d li u th sau khi mã hóa/l p trình Thư ng phát hi n các l i l p trình Khó th c hi n Chi phí cao 38 19
- Các k thu t ki m th h p tr ng Ki m th d a trên ñ th lu ng ñi u khi n Ki m th d a trên ñ th lu ng d li u Ki m th ñ t bi n (mutation testing) 39 ð th lu ng ñi u khi n ð th lu ng ñi u khi n (Control Flow Graph - ðTLðK) là ñ th có hư ng, bi u di n m t chương trình ñ nh: bi u di n l nh tu n t hay kh i l nh cung: bi u di n các r nhánh m t ñ nh vào và m t ñ nh ra ñư c thêm vào ñ bi u di n ñi m vào và ra c a chương trình L trình (path) trong ðTLðK xu t phát t ñ nh vào ñi qua các ñ nh và cung trong ñ th và k t thúc t i ñ nh ra 40 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
KIỂM ĐỊNH PHẦN MỀM
4 p | 493 | 115
-
Microsoft ra mắt phần mềm diệt virus miễn phí
1 p | 205 | 58
-
Sử dụng phần mềm AutoDesk - SoftDesk trong thiết kế đường ôtô part 9
38 p | 116 | 45
-
Bài giảng Bộ môn công nghệ phần mềm - Bài 9: Quản lý chất lượng phần mềm
46 p | 206 | 33
-
Bài giảng công nghệ phần mềm : Kiểm thử và Bảo trì part 9
5 p | 101 | 24
-
Nhập môn công nghệ thông tin-Bài 9-Phần 2
7 p | 112 | 22
-
Bài giảng công nghệ phần mềm : Thiết kế và Lập trình part 9
6 p | 107 | 21
-
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM CAITA part 9
18 p | 115 | 19
-
Bài giảng môn học Kỹ nghệ phần mềm: Bài 9 - PGS.TS. Nguyễn Văn Vỵ
64 p | 133 | 19
-
Nhập môn công nghệ thông tin-Bài 9-Phần 1
17 p | 112 | 15
-
Các phần mềm lướt web phiên bản chính thức
12 p | 129 | 13
-
Giáo trình mô đun Lắp ráp và cài đặt máy tính (Nghề Công nghệ thông tin - Trình độ cao đẳng) – CĐ Kỹ thuật Công nghệ BR–VT
195 p | 53 | 12
-
Bài giảng Nhập môn Công nghệ phần mềm: Tuần 9 - Nguyễn Thị Minh Tuyền
56 p | 44 | 9
-
Giáo trình mô đun Lắp ráp và cài đặt máy tính (Nghề Quản trị mạng - Trình độ trung cấp) – CĐ Kỹ thuật Công nghệ BR–VT
195 p | 31 | 8
-
Bài giảng Công nghệ phần mềm: Bài 9 - Học viện Kỹ thuật Quân sự
46 p | 12 | 7
-
Tìm hiểu những công nghệ tiết kiệm điện năng trên OS X Mavericks
7 p | 57 | 6
-
Lecture Introduction to software engineering - Week 9: Software testing
60 p | 22 | 3
-
9 phần mềm hay cho Windows 8
9 p | 56 | 3
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