truonganhhoang/int3117-2017

Bài tập kiểm thử hộp trắng (theo nhóm)

Closed this issue · 0 comments

Mỗi nhóm viết một chương trình phần mềm, ngôn ngữ và công cụ tùy ý, với các yêu cầu sau:
Đầu vào:

  • một hàm javascript đơn giản (nhận hai tham số x, y, không gọi hàm khác, có vòng lặp, có rẽ nhánh).
  • một tiêu chí bao phủ kiểm thử hộp trắng (có thể là luồng dữ liệu, hoặc luồng điều khiển)
    Đầu ra:
  • một bộ kiểm thử (một danh sách các ca kiểm thử) thỏa mãn tiêu chí bao phủ kiểm thử đầu vào.
    Hạn 12/11/2017

Gợi ý: có thể dùng parser generator để phân tích chương trình đầu vào, tạo cfg, search các đường đi thỏa mãn tiêu chí, tạo biểu thức điều kiện đường đi tính theo biến đầu vào của hàm, và dùng bộ giải như [z3] (https://github.com/Z3Prover/z3) để tìm bộ giá trị thỏa mãn biểu thưc điều kiện để tìm ra giá trị x, y chính là ca kiểm thử theo đường đi đó.