ĐẠi học quốc gia hà NỘi trưỜng đẠi học công nghệ Trần Bình Dương sinh ca kiểm thử tham số HÓa cho chưƠng trình java khóa luận tốt nghiệP ĐẠi học hệ chính quy ngành: Công Nghệ Thông Tin



tải về 446.91 Kb.
trang1/10
Chuyển đổi dữ liệu02.09.2016
Kích446.91 Kb.
#31271
  1   2   3   4   5   6   7   8   9   10


ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trần Bình Dương
SINH CA KIỂM THỬ THAM SỐ HÓA CHO CHƯƠNG TRÌNH JAVA

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công Nghệ Thông Tin

HÀ NỘI - 2009




ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trần Bình Dương


SINH CA KIỂM THỬ THAM SỐ HÓA CHO CHƯƠNG TRÌNH JAVA

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công Nghệ Thông Tin


Cán bộ hướng dẫn: TS. Trương Anh Hoàng

HÀ NỘI - 2009


HÀ NỘI - 2009




LỜI CẢM ƠN


Lời đầu tiên em xin được gửi lời cảm ơn chân thành tới TS. Trương Anh Hoàng, người thầy đáng kính đã tận tình hướng dẫn em trong suốt thời gian thực hiện khóa luận này.

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.

Hà nội, 05/2009

Sinh viên

Trần Bình Dương



TÓM TẮT NỘI DUNG


Kiểm thử đơn vị tham số hóa còn đang là một khái niệm mới mẻ đối với nhiều nhà phát triển phần mềm. Kiểm thử đơn vị tham số hóa đang dần đóng một vài trò hết sức quan trọng trong phát triển phần mềm. Khóa luận này ra đời chính là để nghiên cứu về phương pháp kiểm thử mới này và ứng dụng nó cho mục đích kiểm thử các chương trình Java. Nội dung khóa luận tập trung vào việc áp dụng khả năng của một nền kiểm chứng Java bytecode mã nguồn mở rất hiệu quả và phổ biến hiện nay là Java PathFinder để xây dựng một hệ thống hỗ trợ kiểm thử đơn vị tham số hóa cho mục đích kiểm thử các chương trình Java. Kết quả của khóa luận là đã xây dựng được một hệ thống để thực thi các ca kiểm thử đơn vị tham số hóa viết cho các chương trình Java đơn giản. Bên cạnh đó, khóa luận cũng đã trình bày một cách sâu sắc về kiểm thử đơn vị tham số hóa và những kỹ thuật phức tạp đằng sau phương pháp kiểm thử mới này cũng như một số nghiên cứu liên quan. Qua đó khóa luận kết thúc bằng việc phác thảo một số hướng có thể phát triển tiếp để hệ thống này xử lý được các kiểu dữ liệu phức tạp hơn.

MỤC LỤC


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


CÁC KÝ HIỆU VIẾT TẮT






CFG

Control Flow Graph

DSE

Dynamic Symbolic Execution

JPF

Java PathFinder

PC

Path Condition

PUT

Parameterized Unit Test

SE

Symbolic Execution

SET

Symbolic Execution Tree

TIS

Test Input Selector

UT

Unit Test






CFG

Control Flow Graph

DSE

Dynamic Symbolic Execution

JPF

Java PathFinder

PC

Path Condition

PUT

Parameterized Unit Test

SE

Symbolic Execution

SET

Symbolic Execution Tree

TIS

Test Input Selector

UT

Unit Test





tải về 446.91 Kb.

Chia sẻ với bạn bè của bạn:
  1   2   3   4   5   6   7   8   9   10




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương