Test Plan tuy là một mục khá nhỏ, nhưng mình vẫn muốn đi qua sớm ở một bài viết riêng biệt.

Khái niệm

Test Plan về cơ bản là kế hoạch để thực hiện hoạt động kiểm thử. Nó phải được hoàn thiện và đưa vào vận hành ngay từ khi sprint (hay dự án) bắt đầu. Nó quy định ra phương hướng, nội dung, chiến lược, thời gian,... của hoạt động kiểm thử.

Ai sẽ làm viết Test Plan ? - người đứng đầu đội test trong dự án, thường là Test Lead. Thời điểm để viết Test Plan là vào giai đoạn lên kế hoạch của sprint - planning phase.

Test Plan sẽ được viết ra căn cứ vào:

Nếu bạn quên yêu cầu/requirement là gì, có thể quay về đọc bài viết SDLC hoặc muốn biết cụ thể hơn hãy đọc bài viết Requirement

Giải thích qua một chút, đầu tiên là Project Plan - kế hoạch dự án, nghe cái tên là đủ hiểu nó là gì, và cũng phụ thuộc vào cụ thể dự án mà nó sẽ có một kiểu thù hình khác nhau, nên chúng ta không cần nói đến ở đây.

Acceptance criteria - tiêu chí chấp nhận là tiêu chí để sản phẩm phần mềm được coi là hoàn thành và có thể được chấp nhận bởi khách hàng. Lý do nó quan trọng đối với test plan là vì dựa vào acceptance criteria mà chúng ta có thể biết được sản phẩm đã sẵn sàng để bàn giao và nghiệm thu hay chưa. Nó sẽ quy định các điều kiện để một tính năng hay chức năng được coi là hoàn thiện.

Ví dụ, với một tính năng "Đăng nhập", các tiêu chí chấp nhận:

Nếu bây giờ bản build được bàn giao bởi dev chưa có tính năng tạm khoá nếu sai mật khẩu 5 lần, tức là tính năng chưa được coi là hoàn thiện, thì sẽ không thể bàn giao cho khách hàng, mặt khác, nếu có tính năng này nhưng ví dụ như không phải là 5 lần mà mới có 3 lần đã khoá, tức là không thoả mãn tiêu chí chấp nhận, thì ta cũng trả về cho dev.

Test Plan được tạo ra sẽ có cấu trúc như sau:

Trong số này có lẽ dấu hỏi chấm lớn nhất là ở Strategy và Exit criteria, vậy thì mình sẽ giải thích

Vì bản chất chúng ta sẽ không thể đạt được một sản phẩm phần mềm hoàn hảo (bug-free), vì thế, không thể thực hiện kiểm thử mãi mãi.

Ví dụ về exit criteria:

Typical question: What is the purpose of a test plan? - Mục đích của Test Plan là gì?

Typical question: What is the content of a test plan? - Nội dung của Test Plan bao gồm những gì?

Typical question: What is the difference between acceptance criteria and exit criteria? - Sự khác biệt giữa acceptance criteria và exit criteria là gì?

Nguồn tham khảo