Cách tạo Test Plan
Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục tiêu kiểm thử, tài nguyên (nhân lực, phần mềm, phần cứng) cần thiết để kiểm thử, lịch kiểm thử, ước lượng kiểm thử và bàn giao sản phẩm kiểm thử. Test Plan đóng vai trò là một kế hoạch chi tiết để tiến hành các hoạt động kiểm thử phần mềm như một quy trình xác định, được giám sát và kiểm soát từng bước bởi Test Manager.
1. Tầm quan trọng của Test Plan
Lập Test Plan có nhiều lợi ích:
- Test Plan giúp chúng ta xác định efforts cần thiết để xác nhận chất lượng của ứng dụng đang kiểm thử.
- Giúp những người ngoài nhóm kiểm thử như developers, quản lý doanh nghiệp, khách hàng hiểu chi tiết về kiểm thử.
- Test Plan giống như một cuốn sách quy tắc, cần phải được tuân theo.
- Các khía cạnh quan trọng như ước lượng kiểm thử, phạm vi kiểm thử, Chiến lược kiểm thử được ghi lại trong Test Plan, do đó nó có thể được quản lý nhóm xem xét và sử dụng lại cho các dự án khác.
2. Cách viết Test Plan
Lập Test Plan là nhiệm vụ quan trọng nhất của Quy Test Manager. Thực hiện theo 7 bước dưới đây để tạo một Test Plan theo IEEE 829:
- Phân tích sản phẩm
- Thiết kế chiến lược kiểm thử
- Xác định mục tiêu kiểm thử
- Xác định tiêu chí kiểm thử
- Hoạch định nguồn lực
- Kế hoạch môi trường kiểm thử
- Lịch trình & Ước lượng
- Bàn giao sản phẩm kiểm thử
Bước 1. Phân tích sản phẩm
Làm thế nào bạn có thể kiểm thử một sản phẩm mà không có bất kỳ thông tin về sản phẩm đó? Câu trả lời là không thể. Bạn phải tìm hiểu kỹ một sản phẩm trước khi kiểm thử nó.
Bài viết này được đăng tại [free tuts .net]
Sản phẩm được được kiểm thử trong ví dụ này là website Guru99 Bank. Bạn nên nghiên cứu khách hàng và người dùng cuối để biết nhu cầu và mong đợi của họ từ ứng dụng.
- Ai sẽ sử dụng website?
- Website được dùng để làm gì?
- Website sẽ hoạt động như thế nào?
- Phần mềm / phần cứng mà sản phẩm sử dụng là gì?
Bạn có thể sử dụng phương pháp sau để phân tích website
Hãy áp dụng kiến thức trên để phân tích website Guru99 Bank.
Bạn nên xem qua website này và xem xét tài liệu sản phẩm. Đánh giá tài liệu sản phẩm giúp bạn hiểu tất cả các tính năng của website cũng như cách sử dụng nó. Nếu bạn không rõ ràng về bất kỳ mục nào, bạn có thể phỏng vấn khách hàng, developers, nhà thiết kế để có thêm thông tin.
Bước 2. Xây dựng chiến lược kiểm thử
Chiến lược kiểm thử là một bước quan trọng trong việc lập một Test Plan. Tài liệu Chiến lược kiểm thử là tài liệu cấp cao, thường được phát triển bởi Test Manager. Tài liệu này định nghĩa:
- Mục tiêu kiểm thử của dự án và các phương tiện để đạt được mục tiêu
- Xác định efforts và chi phí kiểm thử
Quay lại dự án Guru99 Bank, bạn cần phát triển Chiến lược kiểm thử để kiểm thử website ngân hàng đó. Bạn nên làm theo các bước dưới đây:
Bước 2.1. Xác định phạm vi kiểm thử
Trước khi bắt đầu bất kỳ hoạt động kiểm thử nào, phải biết phạm vi kiểm thử. Bạn phải suy nghĩ kỹ các vấn đề:
- Các thành phần của hệ thống sẽ được kiểm thử (phần cứng, phần mềm, phần mềm trung gian, v.v.) được định nghĩa trong phạm vi kiểm thử.
- Các thành phần của hệ thống sẽ không được kiểm thử cũng cần được xác định rõ ràng là nằm ngoài phạm vi.
Xác định phạm vi của dự án kiểm thử của bạn là rất quan trọng đối với tất cả các bên liên quan. Một phạm vi kiểm thử chính xác giúp bạn:
- Có được sự tự tin và thông tin chính xác về dự án kiểm thử
- Tất cả các thành viên trong dự án sẽ có một sự hiểu biết rõ ràng về những gì được kiểm thử và những gì không cần kiểm thử
Làm thế nào để xác định phạm vi dự án?
Để xác định phạm vi cần:
- Yêu cầu của khách hàng phải chính xác
- Ngân sách dự án
- Đặc điểm kỹ thuật sản phẩm
- Kỹ năng & tài năng của nhóm kiểm thử
Xác định rõ ràng "trong phạm vi" và "ngoài phạm vi" kiểm thử.
- Theo yêu cầu phần mềm, dự án Guru99 Bank chỉ tập trung vào kiểm thử tất cả các chức năng và giao diện bên ngoài của website Guru99 Bank (trong kiểm thử phạm vi).
- Không kiểm thử chức năng như stress, hiệu suất hoặc logic cơ sở dữ liệu (ngoài phạm vi).
Những trở ngại khi xác định phạm vi kiểm thử
Khách hàng muốn kiểm thử API, nhưng ngân sách dự án không cho phép. Trong trường hợp như vậy bạn sẽ làm gì?
Trong trường hợp như vậy, bạn cần thuyết phục khách hàng rằng kiểm thử Api là công việc bổ sung và sẽ tiêu tốn tài nguyên đáng kể. Cung cấp cho họ dữ liệu để chứng minh lời nói của bạn đúng. Nói với họ rằng sẽ thực hiện Kiểm thử Api nếu đã bao gồm phạm vi ngân sách.
Khách hàng đồng ý và theo đó phạm vi kiểm thử sẽ là:
- Các mục trong phạm vi: Kiểm thử chức năng, Kiểm thử Api
- Các mục ngoài phạm vi: Kiểm thử cơ sở dữ liệu, phần cứng và bất kỳ giao diện bên ngoài nào khác
Bước 2.2. Xác định loại kiểm thử
Một loại kiểm thử là một quy trình kiểm thử tiêu chuẩn mang lại kết quả kiểm thử dự kiến.
Mỗi loại kiểm thử được xây dựng để xác định loại lỗi cụ thể. Nhưng, tất cả các Loại kiểm thử đều nhằm đạt được một mục tiêu chung. Phát hiện sớm tất cả các lỗi trước khi bàn giao sản phẩm cho khách hàng.
Các loại kiểm thử thường được sử dụng:
Có rất nhiều loại kiểm thử có thể áp dụng để kiểm thử sản phẩm phần mềm. Nhóm của bạn không thể có đủ efforts để xử lý tất cả các loại kiểm thử. Test Manager phải đặt mức độ ưu tiên của các loại kiểm thử.
- Những loại kiểm thử nào nên được ưu tiên để kiểm thử ứng dụng web?
- Những loại kiểm thử nên bỏ qua để tiết kiệm chi phí?
Trong dự án Guru99 Bank, những loại kiểm thử phù hợp được áp dụng:
- Kiểm thử API
- Kiểm thử tích hợp
- Kiểm thử hệ thống
Bước 2.3. Tài liệu rủi ro và các vấn đề
Rủi ro là biến cố có khả năng xảy ra trong tương lai. Khi rủi ro xảy ra, nó sẽ trở thành những vấn đề cầng phải giải quyết.
Trong bài viết Phân tích rủi ro dự án và giải pháp trong Test Manager, bạn đã tìm hiểu về phân tích Rủi ro chi tiết và xác định rủi ro tiềm ẩn trong dự án.
Test Plan sẽ ghi lại những rủi ro đó:
Rủi ro | Giải pháp |
Thành viên trong nhóm thiếu các kỹ năng cần thiết để kiểm thử website. | Lập khóa đào tạo để nâng cao kỹ năng của các thành viên |
Lịch trình dự án quá chặt; rất khó để hoàn thành dự án đúng hạn | Đặt mức độ ưu tiên kiểm thử cho từng hoạt động kiểm thử. |
Test Manager có kỹ năng quản lý kém | Lập kế hoạch đào tạo lãnh đạo cho các quản lý |
Thiếu hợp tác ảnh hưởng tiêu cực đến năng suất làm việc của các thành viên | Khuyến khích mỗi thành viên trong nhóm hoàn thành nhiệm vụ của mình và truyền cảm hứng cho họ để nỗ lực nhiều hơn. |
Ước lượng ngân sách sai và vượt chi phí | Thiết lập phạm vi trước khi bắt đầu dự án, chú ý nhiều đến việc lập kế hoạch dự án và liên tục theo dõi tiến độ |
Bước 2.4. Tạo Test Logistics
Trong Test Logistics, Test Manager cần trả lời các câu hỏi sau:
- Ai sẽ kiểm thử?
- Khi nào sẽ kiểm thử?
Ai sẽ kiểm thử?
Bạn có thể không biết tên chính xác của người sẽ kiểm thử, nhưng loại kiểm thử có thể được xác định.
Để chọn đúng thành viên cho nhiệm vụ được chỉ định, bạn phải xem xét liệu kỹ năng của họ có đủ điều kiện cho nhiệm vụ đó hay không, có đáp ứng ngân sách dự án hay không. Chọn sai thành viên cho nhiệm vụ có thể khiến dự án thất bại hoặc trì hoãn.
Người có các kỹ năng sau là lý tưởng nhất để thực hiện kiểm thử phần mềm:
- Khả năng hiểu quan điểm của khách hàng
- Mong muốn chất lượng tốt
- Sự chú ý đến chi tiết
- Hợp tác tốt
Trong dự án, thành viên sẽ chịu trách nhiệm thực hiện kiểm thử là Tester. Dựa trên ngân sách dự án mà bạn có thể chọn thành viên làm Tester sao cho hợp lý.
Khi nào kiểm thử sẽ được thực hiện?
Các hoạt động kiểm thử phải được kết hợp với các hoạt động phát triển liên quan.
Bạn sẽ bắt đầu kiểm thử khi bạn có tất cả các mục yêu cầu được như trong hình dưới đây:
Bước 3. Xác định mục tiêu kiểm thử
Mục tiêu kiểm thử là mục tiêu tổng thể và thành tựu của việc thực hiện kiểm thử. Mục tiêu của kiểm thử là tìm ra càng nhiều lỗi phần mềm càng tốt; đảm bảo rằng phần mềm được kiểm thử không có lỗi trước khi phát hành.
Để xác định mục tiêu kiểm thử, bạn nên thực hiện 2 bước sau:
- Liệt kê tất cả các tính năng phần mềm (chức năng, hiệu suất, GUI …) có thể cần kiểm thử.
- Xác định mục tiêu kiểm thử dựa trên các tính năng trên
Áp dụng các bước trên để xác định mục tiêu kiểm thử của dự án Guru99 Bank, bạn có thể chọn phương thức TOP-DOWN để xác định các tính năng của website cần kiểm thử. Theo phương pháp này, bạn chia nhỏ ứng dụng đang kiểm thử ra thành nhiều thành phần con.
Bạn có thể tạo sơ đồ tư duy để tìm các tính năng của website. Hình dưới thể hiện tất cả các tính năng mà website Guru99 có thể có.
Dựa trên các tính năng trên, bạn có thể xác định Mục tiêu kiểm thử của dự án Guru99 như sau:
- Kiểm thử xem liệu chức năng của website Guru99 (Tài khoản, Tiền gửi) có hoạt động như mong đợi hay không? Không có lỗi hoặc có lỗi trong môi trường thực tế.
- Kiểm thử xem giao diện của website như UI đang hoạt động như mong đợi và và đáp ứng nhu cầu của khách hang hay không?
- Xác minh khả năng sử dụng của website. Những chức năng có thuận tiện cho người dùng hay không?
Bước 4. Xác định tiêu chí kiểm thử
Tiêu chí kiểm thử là một tiêu chuẩn hoặc quy tắc mà theo đó một quy trình kiểm thử hoặc việc đánh giá kiểm thử có thể được dựa vào. Có 2 loại tiêu chí kiểm thử như sau:
Tiêu chí tạm dừng
Xác định các tiêu chí tạm dừng quan trọng cho kiểm thử. Nếu các tiêu chí tạm dừng được đáp ứng trong quá trình kiểm thử, chu kỳ kiểm thử hoạt động sẽ bị tạm dừng cho đến khi các tiêu chí được giải quyết.
Ví dụ: Nếu các thành viên trong nhóm báo cáo rằng có 40% test cases thất bại, bạn nên tạm dừng kiểm thử cho đến khi nhóm developers sửa tất cả các trường hợp failed.
Tiêu chí kết thúc
Cần xác định các tiêu chí thể hiện sự hoàn thành của giai đoạn kiểm thử. Các tiêu chí kết thúc là kết quả khi đạt được mục tiêu của kiểm thử và là cần thiết trước khi tiến hành giai đoạn phát triển tiếp theo. Ví dụ: 95% các testcases quan trọng phải passed.
Một số phương pháp xác định tiêu chí kết thúc như xác định tỷ lệ thực hiện và tỷ lệ pass.
- Tỷ lệ thực hiện là tỷ lệ giữa số test cases được thực hiện / tổng số test case của đặc tả kiểm thử. Ví dụ: đặc tả kỹ thuật kiểm thử có tổng số 120 TC, nhưng Tester chỉ thực hiện 100 TC, vì vậy tỷ lệ thực hiện là 100/120 = 0,83 (83%).
- Tỷ lệ pass là tỷ lệ giữa số lượng test cases pass / test case được thực hiện. Ví dụ: trong hơn 100 TC được thực thi, có 80 TC đã pass, do đó tỷ lệ pass là 80/100 = 0,8 (80%).
Dữ liệu này có thể được lấy trong các tài liệu Kiểm thử.
- Tỷ lệ thực hiện là bắt buộc là 100% trừ khi có lý do rõ ràng.
- Tỷ lệ pass phụ thuộc vào phạm vi dự án, nhưng đạt được tỷ lệ pass cao là một mục tiêu.
Ví dụ: Các thành viên đã thực hiện các kiểm thử. Họ báo cáo kết quả kiểm thử cho bạn và họ muốn bạn xác nhận tiêu chí kết thúc.
Trong trường hợp trên, Tỷ lệ thực hiện là bắt buộc là 100%, nhưng nhóm kiểm thử chỉ hoàn thành 90% các test cases. Điều đó có nghĩa là tỷ lệ thực hiện không được thỏa mãn, vì vậy KHÔNG xác nhận Tiêu chí kết thúc.
Bước 5. Lập kế hoạch nguồn lực
Kế hoạch tài nguyên là một bản tóm tắt chi tiết của tất cả các loại tài nguyên cần thiết để hoàn thành nhiệm vụ dự án. Tài nguyên có thể là con người, thiết bị và vật liệu cần thiết để hoàn thành một dự án
Việc lập kế hoạch tài nguyên là yếu tố quan trọng trong việc lập Test Plan vì giúp xác định số lượng tài nguyên (nhân viên, thiết bị) được sử dụng. Do đó, Test Manager có thể lập lịch trình & ước lượng chính xác cho dự án.
Phần này minh họa cho các tài nguyên được đề xuất cho dự án.
Nguồn nhân lực
Bảng dưới đây minh họa cho các thành viên khác nhau trong nhóm dự án.
STT | Thành viên | Nhiệm vụ |
1 | Test Manager | Quản lý toàn bộ dự án
Xác định hướng dự án Có tài nguyên phù hợp |
2 | Tester | Xác định và mô tả các kỹ thuật / công cụ / kiến trúc tự động thích hợp
Xác minh và đánh giá Phương pháp kiểm thử Thực hiện các kiểm thử, log kết quả, Báo cáo các lỗi. Tester có thể là thành viên được chọn dựa trên ngân sách dự án Đối với nhiệm vụ yêu cầu kỹ năng thấp, bạn nên chọn các thành viên thuê ngoài để tiết kiệm chi phí dự án. |
3 | Developer thực hiện Test | Thực hiện các test cases, test program, test suite… |
4 | Test Administrator | Xây dựng và đảm bảo Môi trường kiểm thử, tài sản được quản lý và duy trì
Hỗ trợ Tester sử dụng môi trường kiểm thử để thực hiện kiểm thử |
5 | Thành viên SQA | Phụ trách đảm bảo chất lượng
Kiểm thử để xác nhận xem quy trình kiểm thử có đáp ứng các yêu cầu đã được xác định hay không |
Tài nguyên hệ thống
Để kiểm thử một ứng dụng web, bạn nên lập kế hoạch tài nguyên như bảng sau:
STT | Tài nguyên | Mô tả |
1 | Server | Cài đặt ứng dụng web sẽ được kiểm thử
Bao gồm một máy chủ web, máy chủ cơ sở dữ liệu và máy chủ ứng dụng riêng biệt nếu có |
2 | Test tool | Công cụ kiểm thử là tự động hóa kiểm thử, mô phỏng hoạt động của người dùng, tạo kết quả kiểm thử
Có rất nhiều công cụ kiểm thử có thể sử dụng cho dự án này như Selenium, QTP, v.v. |
3 | Network | Bạn cần mạng LAN và Internet để mô phỏng người dùng và môi trường thực tế |
4 | Computer | PC mà người dùng thường sử dụng để kết nối máy chủ web |
Bước 6. Lập môi trường kiểm thử
Môi trường kiểm thử là gì?
Môi trường kiểm thử là một thiết lập giữa phần mềm và phần cứng mà nhóm kiểm thử sẽ thực hiện các test case. Môi trường kiểm thử bao gồm môi trường và người dùng thực tế, cũng như môi trường vật lý, chẳng hạn như máy chủ, môi trường chạy giao diện người dùng.
Cách thiết lập môi trường kiểm thử
Quay lại dự án, làm thế nào để bạn thiết lập môi trường kiểm thử cho website Guru99 Bank?
Để hoàn thành nhiệm vụ này, bạn cần có sự hợp tác mạnh mẽ giữa Nhóm tester và Nhóm developer.
Bạn nên hỏi developers một số câu hỏi để hiểu rõ về ứng dụng web đang kiểm thử. Đây là một số câu hỏi được gợi ý:
- Số lượng người dùng tối đa được kết nối mà website này có thể xử lý cùng một lúc là bao nhiêu?
- Yêu cầu phần cứng / phần mềm để cài đặt website này là gì?
- Máy tính của người dùng có cần bất kỳ cài đặt cụ thể nào để duyệt trang web không?
Hình dưới đây mô tả môi trường kiểm thử của website Guru99 Bank.
Bước 7. Lịch trình và Ước lượng
Trong bài viết Các kỹ thuật ước lượng, bạn đã sử dụng một số kỹ thuật để ước lượng effort hoàn thành dự án. Bây giờ hãy ước lượng effort cũng như lên lịch để thực hiện Test Plan.
Trong giai đoạn Ước lượng kiểm thử, giả sử bạn chia toàn bộ dự án thành các nhiệm vụ nhỏ và ước lượng cho từng nhiệm vụ như dưới đây:
Nhiệm vụ | Các thành viên | Ước lượng effort |
Tạo đặc tả kiểm thử | Test Designer | 170 giờ |
Thực hiện kiểm thử | Tester, Test Administrator | 80 giờ |
Báo cáo kiểm thử | Tester | 10 giờ |
Kiểm thử sản phẩm bàn giao | 20 giờ | |
Tổng cộng | 280 giờ |
Sau đó, bạn tạo lịch trình để hoàn thành các nhiệm vụ này.
Lập lịch trình là một thuật ngữ phổ biến trong quản lý dự án. Bằng cách tạo một lịch trình cụ thể trong lập Test Plan, Test Manager có thể sử dụng nó làm công cụ để theo dõi tiến độ dự án, kiểm soát chi phí vượt mức.
Để tạo lịch trình dự án, Test Manager cần một số loại đầu vào như dưới đây:
- Deadline của nhân viên trong dự án: Ngày làm việc, deadline dự án, nguồn lực sẵn có là những yếu tố ảnh hưởng đến lịch trình.
- Ước lượng dự án: Dựa trên ước lượng, Test Manager biết thời gian hoàn thành dự án là bao lâu. Vì vậy, Test Manager có thể xây dựng lịch trình phù hợp với dự án.
- Rủi ro dự án: Hiểu rõ rủi ro giúp Test Manager có thêm thời gian để xây dựng lịch trình dự án, từ đó đối phó với các rủi ro.
Theo dõi ví dụ sau:
Giả sử sếp muốn hoàn thành dự án Guru99 trong một tháng, bạn đã ước lượng efforts cho từng nhiệm vụ trong Ước lượng kiểm thử. Bạn có thể tạo lịch trình như dưới đây:
Bước 8. Bàn giao sản phẩm kiểm thử
Test Deliveryables là danh sách tất cả các tài liệu, công cụ và các thành phần phải được phát triển và duy trì để hỗ trợ kiểm thử.
Có nhiều sản phẩm kiểm thử ở mọi giai đoạn của vòng đời phát triển phần mềm.
Sản phẩm kiểm thử được cung cấp trước giai đoạn kiểm thử.
- Tài liệu Test Plans.
- Tài liệu test cases
- Kiểm thử thông số thiết kế kỹ thuật.
Sản phẩm kiểm thử được cung cấp trong quá trình kiểm thử.
- Test Scripts
- Mô phỏng
- Dữ liệu kiểm thử
- Kiểm thử ma trận truy xuất nguồn gốc
- File mô tả lỗi và các bước thực hiện.
Sản phẩm kiểm thử được cung cấp sau khi chu kỳ kiểm thử kết thúc.
- Báo cáo kết quả kiểm thử
- Báo cáo lỗi
- Hướng dẫn quy trình cài đặt / kiểm thử
- Ghi chú phát hành
Tài liệu tham khảo