Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
358,55 KB
Nội dung
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 Ki Ki Ki i thi m th m th m th u v ki m th ti n trình phát tri n h p đen h p tr ng Ki m th ? IEEE: Ki m th 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 ñưa ñánh giá v h th ng ho c thành ph n Myers: Ki m th 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) Ki m th ? Ki m th ≠ G r i (debug) Ki m th • nh m phát hi n l i G r i • xác đ nh b n ch t l i ñ nh v l i chương trình • ti n hành s a l i Các khái ni m M t sai sót (error) m t s nh m l n hay m t s hi u sai 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 ph n m m k t qu c a m t sai sót M t h ng hóc (failure) 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 cho k t qu khơng mong đ i sai sót l i h ng hóc 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 th c thi K ch b n ki m th (test scenario) bư c th c hi n 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: ngư i 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 Các khái ni m Ti n trình ki m th Ki m th thư ng bao g m bư c thi t k ca ki m th bư c t o d li u th • ki m th v i t t c d li u vào c n thi t • khơng th ki m th “vét c n” • ch n t p d li u th ñ i di n t mi n d li u vào • d a tiêu chu n ch n d li u th bư c th c thi chương trình 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 ho c sau th c thi • so sánh k t qu nh n ñư c k t qu mong ñ i Ti n trình ki m th 10 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 a m t giai ño n vào c a giai đo n khác • m t mát thông tin V m t ngư i thi u đào t o tr ng vai trị ki m th V m t k thu t không t n t i thu t tốn t ng qt có th ch ng minh s đ n hồn tồn c a b t kỳ m t chương trình 11 T i ki m th H p th c hóa (validation) ch r ng s n ph m ñáp ng ñư c yêu c u ngư i s d ng Xác minh (verification) ch 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 xác minh “Verification: Are we building the product right ?” “Validation: Are we building the right product ?” 12 Ki m th 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 (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 ki ki ki ki m m m m th th th th ñơn v (unit testing) tích h p (integration testing) h p th c hóa (validation testing) h i quy (regression testing) 13 Ki m th 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 d a tài li u thi t k có th s d ng c ki m th h p tr ng 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 ph n c ng phát tri n ph n m m 14 Ki m th ti n trình phát tri n Ki m th tích h p (integration testing) sau ñã th c hi n ki m th ñơn v ghép n i ñơ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 ñơ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 ng • chi phí cao, khó khăn d li u th đư c t o d a thi t k t ng th 15 Ki m th 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): thành ph n khác mô ph ng thành ph n ph n m m chưa đư c tích h p • trình u n (driver): thành ph n t o d li u vào cho m t vài thành ph n ph n m m t p h p ñang ñư c ki m th 16 Ki m th ti n trình phát tri n Ki m th tích h p (3) 17 Ki m th ti n trình phát tri n Ki m th tích h p (4) chi n lư c t xu ng (top-down) • ki m th tích h p thành ph n trư c, sau thêm vào thành ph n ñư c g i tr c ti p b i thành ph n v a ki m th • cho phép xác ñ nh s m l i v ki n trúc • b d li u th có th đư c tái s d ng cho bư c ti p theo • nhiên chi n lư c đị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 thành ph n không g i thành ph n khác, sau thêm vào thành ph n g i thành ph n v a ki m th • s d ng nút trám • l i xác ñ nh l i tr 18 Ki m th ti n trình phát tri n Ki m th h p th c hóa (validation testing) g i ki m th h th ng (system testing) th c hi n sau 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 mơi trư ng mà ph n m m s đư c s d ng 19 Ki m th ti n trình phát tri n Ki m th h i quy (regression testing) ph n m m sau ñưa vào s d ng, có th 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 b d li u th ñã s d ng giai ño n trư c 20 10 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 • giá tr biên • giá tr = giá tr biên ± sai s nh nh t N u giá tr vào thu c danh sách giá tr , ch n • ph n t th nh t, ph n t th hai, ph n t k cu i ph n t cu i N u d li u vào ñ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 m t s s giá tr không h p l T v n d ng kh th c t ñ ch n 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ó đ dài ba c nh m t tam giác N u ñ dài ba c nh c a m t tam giác, ki m tra xem tam giác thư ng, cân, đ u ki m tra tam giác nh n, vuông hay tù 30 15 Ki m th giá tr biên Ví d (2) D li u th 1, 1, 0, 0, 4, 0, 1, 2, 3.00001 0.001, 0.001, 0.001 99999, 99999, 99999 3.00001, 3, 2.99999, 3, 3, 4, 5.00001 3, 4, 5, -3, -3, Không tam giác Ch m t m M t c nh b ng khơng G n m t tam giác Tam giác r t nh Tam giác r t l n Tam giác g n ñ u Tam giác g n cân Tam giác giác g n vuông B n giá tr Ch m t giá tr D li u vào r ng 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 l p d li u có quan h v i m i l p dùng ñ ki m th m t ch c năng, g i 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 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 d li u th b i tích ð -các đ t i b d li u ki m th 33 Ki m th l p tương ñương Nguyên t c phân ho ch l p tương ñương N u d li u vào thu c m t kho ng, xây d ng • l p giá tr l n • l p giá tr nh • n l p giá tr h p l N u d li u t p h p giá tr , xây d ng • l p v i t p r ng • l p nhi u giá tr • nl ph pl N u d li u vào ñi u ki n ràng bu c, xây d ng • l p v i ràng bu c ñư c th a mãn • 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 tốn tam giác Thư ng Cân ð u Nh n 6,5,3 6,1,6 4,4,4 Không tam giác Vuông 5,6,10 7,4,4 không th Tù 3,4,5 √2,2,√2 không th -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 ñi m c a sinh viên m t năm h c T p 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 ) m c a mơn h c (t đ n 10) M c đích chương trình: • tính di m trung bình m i sinh viên • tính 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 5) Xây d ng d li u th cho chương trình 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, ñó có câu l nh FOR, ñ c t câu l nh FOR sau: “L nh FOR ch ch p nh n m t tham s nh t bi n đ m Tên bi n khơng đư c s d ng hai ký t khác r ng Sau ký hi u = c n dư i c n c a bi n ñ m Các c n c n dư i s nguyên dương ñư 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 mã hóa/l p trình Thư ng phát hi n 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 ñ th lu ng ñi u n Ki m th d a ñ th lu ng d li u Ki m th ñ t bi n (mutation testing) 39 ð th lu ng ñi u n ð th lu ng ñi u n (Control Flow Graph ðTLðK) đ 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 r nhánh m t ñ nh vào m t ñ nh ñư c thêm vào ñ bi u di n ñi m vào c a chương trình L trình (path) ðTLðK xu t phát t ñ nh vào ñi qua ñ nh cung ñ th k t thúc t i ñ nh 40 20 ð th lu ng u n Ví d if x