truonganhhoang / INT3117-2019

Kiểm thử và đảm bảo chất lượng phần mềm
10 stars 48 forks source link

Kiểm thử đơn vị #26

Open truonganhhoang opened 5 years ago

truonganhhoang commented 5 years ago

Mỗi nhóm tìm một repo phần mềm mã nguồn mở trên github có nhiều sao (trên 1000 sao) để đóng góp các ca kiểm thử đơn vị cho phần mềm đó.

  1. Nhóm chọn repo chung, nhóm trưởng fork ra và thêm các thành viên nhóm vào repo đã forked.
  2. Mỗi sinh viên chọn hàm chưa có kiểm thử đơn vị tự động (unittest) của repo đó và hàm này không quá đơn giản, có ít nhất 2 lệnh rẽ nhánh và một vòng lặp trở lên.
  3. Mỗi sinh viên viết các ca kiếm thử đơn vị tự động cho repo đó, đóng góp vào repo đã forked của nhóm.
  4. Nhóm trưởng tạo pull request, đóng góp cho phần mềm mã nguồn mở đó.

Chú ý: khi commit ghi rõ ràng nội dung của commit (message); khi pull request cũng ghi rõ ràng, để dễ được chấp nhận.

Mục tiêu: pull request được chấp nhận và được merge vào repo đó. Nhóm nào có pull request được chấp nhận trong thời gian khóa học sẽ được điểm cộng.

Tham khảo https://github.com/trending.

truonganhhoang commented 5 years ago

Các nhóm khi tạo pull request rồi thì comment vào đây.

truonganhhoang commented 5 years ago

Áp dụng thêm kiểm thử hộp trắng (cấu trúc) với 4 bước, cho hàm >= 10 dòng lệnh, >=2 lệnh rẽ nhánh (if, for).

  1. Tạo đồ thị chương trình của hàm/ phương thức.
  2. Liệt kê các đường đi, mỗi đường đi là một danh sách các dòng của hàm.
  3. Xây dựng biểu thức điều kiện đường đi (path conditions) cho mỗi đường đi.
  4. Tính ra các giá trị kiểm thử thỏa mãn điều kiện đường đi đó.
  5. Tính giá trị mong đợi và tạo bộ kiểm thử hoàn chỉnh.
  6. Viết các ca kiểm thử đơn vị tự động, và tạo pull request.
  7. Viết báo cáo mô tả các việc làm trên, kết quả, bằng file whitebox.md để trong thư mục của từng người.

Đây là bài tập cá nhân, mỗi người tự chọn hàm trên github nên xác xuất trùng nhau gần như bằng 0. Người nộp sau bị trùng phải chọn lại.