26 Jan, 2021
Kế hoạch kiểm thử mẫu
Một người kiểm thử viết cho tôi: “Người quản lí kiểm thử của em bỏ công ti nên người chủ yêu cầu em thay thế anh ta là người quản lí kiểm thử. Em đã làm việc như một người kiểm thử trong hai năm nhưng chưa bao giờ nhận được đào tạo chính thức nào về cách tạo ra bản kế hoạch kiểm thử cho dự án phần mềm. Công ti của em có nhiều dự án mới và em lo lắng vì em không biết làm gì. Xin thầy giúp đỡ.”
Đáp: Là người quản lí kiểm thử, bạn nên làm việc với người quản lí dự án ngay khi dự án bắt đầu. Bạn phải lập kế hoạch cho mọi kiểm thử vào lúc bắt đầu dự án ngay cả khi yêu cầu vẫn còn thay đổi. Bạn nên phát triển bản thảo kế hoạch kiểm thử rồi bổ sung thêm chi tiết khi bạn biết nhiều hơn về dự án. Đừng đợi cho tới khi mọi sự được thực hiện rồi mới bắt đầu bản kế hoạch kiểm thử vì bạn có thể không có đủ thời gian. Để làm cho dễ dàng với bạn, tôi xây dựng vài câu hỏi cho bạn trả lời để giúp bạn xây dựng bản kế hoạch kiểm thử riêng của bạn. Bạn cần hỏi:
- Tôi cần kiểm thử cái gì? Tôi phải kiểm thử chức năng nào? Và tôi cần kiểm thử chúng tới chừng mực nào? Bằng việc trả lời những câu hỏi này, bạn sẽ có ý tưởng nào đó về điều phải làm cho dự án.
- Ai sẽ ở trong tổ kiểm thử của tôi? Ai đang sẵn có? Tôi cần bao nhiêu người kiểm thử? Họ có sẵn có không hay tôi cần thuê họ? Bằng việc trả lời cho những câu hỏi này bạn biết nhiều hơn về tổ kiểm thử của bạn. Nếu bạn không có mọi người kiểm thử khi cần, điều đó có thể tác động lên lịch biểu của bạn về sau. Nếu bạn không có đủ, bạn phải thuê người kiểm thử thêm và điều đó tốn thời gian. Có thể mất vài tuần tới vài tháng sau khi dự án đã bắt đầu. Điều quan trọng là có mọi thành viên tổ sớm nhất có thể được.
- Kĩ năng kiểm thử nào được cần cho từng khu vực chức năng được kiểm thử? Thay vì dựa vào người trong tổ của bạn, bạn phải xác định kĩ năng nào mà dự án cần, và từ thông tin đó kiểm lại xem liệu bạn có đủ người kiểm thử với kĩ năng đúng không hay liệu bạn có cần bổ sung thêm nhiều người với kĩ năng đúng cho tổ của bạn không.
- Môi trường nào tôi có thể làm kiểm thử được? Đừng giả định rằng môi trường kiểm thử là một với môi trường phát triển. Thỉnh thoảng khách hàng có thể có môi trường khác, nền khác, kết cấu nền khác được thiết lập. Bạn phải tìm ra thêm về môi trường kiểm thử sẽ kiểm thử phần mềm. Có thể mất thời gian thiết lập nếu môi trường hiện hành không thích hợp cho dự án.
- Tôi cần dữ liệu nào cho kiểm thử? Tôi có cần lấy mẫu dữ liệu từ người dùng không? Tôi có thể nói chuyện với ai để lấy mẫu về dữ liệu sản xuất? Thỉnh thoảng lấy dữ liệu kiểm thử còn khó hơn là bạn tưởng.
- Bao nhiêu dữ liệu là đủ? Tôi có cần nhiều dữ liệu không? Lập kế hoạch cho khối lượng dữ liệu thường bị bỏ qua nhưng nếu bạn không biết con số chính xác thì bạn không thể phân công số đúng người kiểm thử hay lên lịch việc kiểm thử một cách chính xác được. Phải lập kế hoạch cẩn thận.
- Khi nào tôi có thể bắt đầu kiểm thử? Lịch biểu dự án hiện thời là gì? Vì lịch biểu dự án thường thay đổi, bạn cần phối hợp với người quản lí dự án để chắc rằng lịch biểu kiểm thử của bạn được tích hợp với lịch biểu dự án. Ước lượng mức cao là tốt chừng nào bạn có các ý tưởng về khi nào kiểm thử của bạn nên bắt đầu.
- Tôi báo cáo lỗi thế nào? Qui trình báo cáo là gì và thẩm tra lỗi nào? Dự án có công cụ theo dõi lỗi không hay tôi phải dùng sổ kí sự lỗi? Công ti của bạn có qui trình được thiết lập rõ cho báo cáo, theo dõi và kiểm lỗi không? Nếu bạn không có qui trình thì bạn cần xây dựng nó.
- Rủi ro của dự án này là gì? Khu vực nào có thể có nhiều lỗi nhất? Bạn phải phối hợp với người quản lí dự án về rủi ro dự án rồi nhận diện mọi rủi ro kiểm thử.
Bằng việc trả lời những câu hỏi này, bạn đã có đủ thông tin để xây dựng kế hoạch kiểm thử riêng của bạn. Tất nhiên, tuỳ theo kích cỡ và độ phức tạp của dự án bạn có thể cần thêm nhiều thứ hay thông tin vào kế hoạch kiểm thử của bạn. Chúc bạn may mắn và chúc mừng việc lên chức của bạn.
—-English version—-
A sample test plan
A tester wrote to me: “My test manager left the company so the owner asked me to replace him as test manager. I have worked as a tester for two years but never receive any formal training on how to create test plans for software project. My company has several new projects and I am worry because I do not know what to do. Please help”.
Answer: As a test manager, you should work with the project manager as soon as the project starts. You must plan all tests at the beginning of the project even when requirements are still changing. You should develop a draft test plan then add more details when you know more about the project. Do not wait until everything is done then start the test plan because you may not have enough time. To make it easy for you, I develop several questions for you to answer to help you build your own test plan. You need to ask:
- 1. What do I need to test? What function that I must test? and to what extent do I need to test them?” By answering these questions, you will have some ideas on what to do for the project.
- Who will be on my test team? Who is available? How many testers do I need? Are they available or do I need to hire them? By answering these questions you know more about your testing team. If you do not have all testers when needed, it may impact your schedule later. If you do not have enough, you must hire additional testers and it takes time. It could be few weeks to few months after the project has started. It is important to get all the team members in as soon as possible.
- What testing skills are needed for each functional area to be tested? Instead of rely on who are on your team, you must determine what skills the project needs, and from that information check to see if you have enough tester with the right skills or whether you need to add more people with the right skills to your team.
- What is the environment that I can test? Do not assume that the test environment is the same as the development environment. Sometimes customers may have different environment, different platforms, different infrastructure set up. You must find out more about the test environment that your team will test the software. It may takes time to set up if the current environment is not adequate for the project.
- What data do I need for testing? Do I need a sampling of data from users? Who can I talk to get a sampling of production data? Sometimes getting test data is more difficult than you think.
- How much data is enough? Do I need a lot of data? Planning for the amount of data is often ignored but if you do not know the accurate number than you cannot assign the right number of testers or schedule your testing accurately. Plan carefully.
- When can I start testing? What is the current project schedule? Since project schedule often changes, you need to coordinate with project manager to make sure that your test schedules is integrated with the project schedule. A high-level estimate is fine as long as you have some ideas when to get your testing start.
- How do I report defects? What is the process to report and verify defects? Does the project have defect tracking tools or should I use defect log book? Does your company have a well-established process for reporting, tracking and checking defects? If you do not have a process then you need to build one.
- What are risks of this project? What areas may have the most risk? You must coordinate with project manager about project risks then identify any testing risks.
By answer these questions, you already have enough information to build your own test plan. Of course, depend on the size and complexity of the project that you may need to add more things or information in your test plan. Good luck and congratulation on your promotion.