Em cũng muốn bày tỏ lòng biết ơn đến các thầy cô giáo trường Đại học Công Nghệ - Đại học Quốc Gia Hà nội, đặc biệt là các thầy cô trong khoa công nghệ thông tin đã tận tình dạy dỗ và tạo mọi điều kiện học tập thuận lợi cho em trong suốt bốn năm học qua.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình đình em. Nếu không có tình yêu, sự ủng hộ và động viên từ gia đình thì em sẽ không thể hoàn thành khoá luận và có được những kết quả như ngày hôm nay.
LỜI CẢM ƠN i
i
TÓM TẮT NỘI DUNG ii
MỤC LỤC iii
CÁC KÝ HIỆU VIẾT TẮT iv
DANH MỤC HÌNH VẼ v
Chương 1: Kiểm thử đơn vị tham số hóa 3
1.1. Kiểm thử phần mềm 3
1.2. Kiểm thử đơn vị 4
1.3. Kiểm thử đơn vị tham số hóa 6
1.3.1. Khái niệm 6
1.3.2. Mối quan hệ giữa UT và PUT 7
1.3.3. Kiểm thử đơn vị tham số hóa với Pex 8
1.3.4. Các mẫu kiểm thử tham số hóa 9
1.3.5. Lựa chọn đầu vào kiểm thử với Pex 10
Chương 2: Sinh dữ liệu kiểm thử tự động cho PUT 12
2.1. Thực thi tượng trưng 13
2.1.1. Những khái niệm cơ bản 13
2.1.2. Thực thi tượng trưng tĩnh 14
2.1.3. Thực thi tượng trưng động 18
2.2. Xây dựng ràng buộc 24
2.2.1. Lưu trữ giá trị tượng trưng 25
2.2.2. SE với các kiểu dữ liệu nguyên thủy 26
2.2.3. SE với đối tượng 29
2.2.4. SE với các lời gọi phương thức 32
2.3. Sinh dữ liệu kiểm thử cho PUT 32
Chương 3: Sinh ca kiểm thử tham số hóa với JPF 38
3.1. Kiến trúc của JPF 38
3.2. Symbolic JPF 43
3.2.1. Bộ tạo chỉ thị 43
3.2.2. Các thuộc tính 44
3.2.3. Xử lý các điều kiện rẽ nhánh 46
3.2.4. Ví dụ 46
3.2.5. Kết hợp thực thi cụ thể và thực thi tượng trưng 51
3.3. Sinh PUT với Symbolic JPF 52
3.4. Mở rộng Symbolic JPF 57
3.4.1. Các phương pháp cũ 57
3.4.2. Hướng mở rộng 58
KẾT LUẬN 62
TÀI LIỆU THAM KHẢO 1