In our surroundings, the majority of domain specialists hold the view that formulating an efficient test plan is a responsibility suited for highly skilled and experienced QA Engineers. While this holds true, I personally do not entirely agree. Experience is cultivated through action, and in our professional journey, there inevitably comes a time when we must embark on creating our first test plan.
Some time ago, I found myself slightly lacking in confidence when it came to composing test plans (especially my first test plan). This sentiment was particularly pronounced owing to the substantial level of responsibility and accountability associated with being the creator of the test plan.
I was able to overcome this mental challenge because of the education I had during my early years, where I was taught to face the most complex and difficult tasks first. I have used the strategy of splitting the task into small pieces of subtasks and then completing them one by one. A strategy that is well-known and nicely described in the Atomic Habits book by James Clear.
So, when faced with the daunting task of creating a test plan, the first step is to get a good understanding of the Customer, Product, and Project. In my view, these three pillars hold the utmost significance when making business decisions, including the one of creating the testing strategy and/or plan. I won’t make things overly complex, instead, I’ll use this article to outline the simplest approach to prepare for the responsibility of crafting a test plan.
The essence of preparation lies in asking questions and structuring the information gathered from the responses. Therefore, I’m going to share the set of standard questions I typically employ to enrich my understanding and bolster my confidence.
Questions to understand the Customer:
Since I started working in IT, the customer has been the key to success. This is a proven approach that dictates the product market and allows teams to grow and improve themselves. Consider asking the following list of questions to understand the customer views, problems, and needs:
- Who do we serve?
- What is the age of the customers?
- What are the customer needs?
- What are the customer’s primary expectations from our software product?
- How the Software Solution would help the customers to improve their daily processes?
- Are there any customer-critical tasks or functionalities that the software must support?
- What is the typical level of education of our customers?
- Are there any specific color schemes, layouts, or visual elements that resonate with customers' preferences?
- What is the most preferable device for the people we serve?
- Are there any privacy concerns the customer has regarding the use of the software?
Getting answers to the above questions would bring a huge value in terms of customer service. After this, I would rapidly try to map the fresh information with the Product details. Thus, I would like to move to the next section about the product details.
Questions to understand the Product:
- Why our customers would buy our product?
- What are the most important features available in our product?
- What are the secondary most important features available in our product?
- What is the one feature that all the customers will use?
- What types of data will the customer input into the software, and how they expect the software to handle and display this data?
- Are there any specific data formats or structures that the software should support?
- Will this software need to integrate with any other tools or systems the customer is currently using?
- Are there any specific devices, browsers, or platforms that the software should be compatible with?
- What security measures do the customer expect to be in place to protect your data?
- How responsive and quick does the customer expect the software to be while performing tasks?
- Are there any specific actions where performance is crucial?
- What is the acceptable level of quality in regards to the Software Products Delivery?
These questions would provide you with a better view when it comes to product. Now, once we have the product and customer view, it is time to combine it with the project context.
Questions to understand the Project:
- What is the Software Development Life Cycle model that is gonna be used for the project implementation?
- What are the people who will be involved in the project and their level of responsibility and accountability?
- What are the project restrictions in terms of data usage and privacy rules?
- What are the project deliverables and how do they map to the project roadmap?
- What are the quality expectations from the project perspective?
- Is there any definition of ready for the SRS?
- Is there any definition of done?
- What are the tools the team is allowed/limited to use?
- What is the availability of infrastructure resources (test environments)?
- What are the options/limitations in terms of human resources (especially QA team members, I do consider a report of 1 QA Engineer per 2 Developers an acceptable one, but it depends on the business aspects)?
Certainly, by reviewing these questions, you might identify additional inquiries that can provide further clarity and reduce uncertainties. As a result, you would compile a list of outcomes that should be organized as follows:
- Primary expectations and perceived benefits from the software.
- Specific pain points the software aims to address.
- Detailed scenarios of software use in various contexts.
- Tasks or processes that the software will support.
- Step-by-step workflows for key tasks.
- Identification of critical paths and preferred navigation sequences.
- List of core functionalities with priorities.
- Additional features desired by users.
- Design preferences for intuitive user experience.
- Specific UI elements that enhance usability.
- Data types to be input and expected outputs.
- Preferred data presentation formats.
- Required integrations with other tools or systems.
- Compatibility specifications for devices and platforms.
- Specific security measures are requested for data protection.
- Privacy concerns and user data handling expectations.
- Key actions that need fast and responsive performance.
- Performance expectations for different tasks.
As I have observed in my previous career experiences, by answering the above questions and getting a clear understanding you’ll have a clear framework that organizes user insights, priorities, and preferences, facilitating the creation of a comprehensive and well-structured test plan for the software product. For sure, the knowledge you collect will facilitate your future work, no matter if you are accountable or not for the Test Plan creation.
This being said, I would like to encourage you to accept any career challenge, to split it into slices and if it’s about the creation of a test plan then start with answering all the above questions.
If you find the content I provide useful, please consider following me. I’d be delighted to share my professional experiences with you.
All the best!