This course is essential to every software professional involved in software testing: test engineers and test analysts interested in performing effective planning, designing, and monitoring all test activities. User acceptance testing teams responsible for verifying system performance and functionality, development teams interested in performing effective unit and integration testing, development and test managers interested in gaining better control over the different test activities and the quality of the software product. This course offers a systematic approach to effective software test planning and test case design.
Whether you are doing testing for a number of years or you have just started, you need this course. You will learn a number of testing practices that you might have not done before. The course will also cover the different types of testing performed at each phase of the software lifecycle and issues involved in these types of tests.
Without a crystal clear understanding of the processes that take place when a team works on a software product, it can be tempting to think that all the problems stem from under-qualified QA engineers who click around randomly and ruin the hard work of the whole team. The value and purpose of the quality assurance process is not transparent without documentation. That's where a test plan and test strategy can help.
A test plan is an estimate subcontract, which allows you to plan expenses and resources over a long period, plan budgets, analyze performance, and increase product value. Having QA documents contributes to a structured process, which is widely accepted as a best practice. Still, many teams skip this step in their products.
I have seen dozens of test plans and test strategies and can declare with confidence that there is no single correct, universal document that can be taken as a standard and applied to all types of projects. The content of these documents may differ from project to project, and the documents themselves can either exist separately and refer to each other, or the test strategy can be part of the test plan. Since the test plan is updated quite often, and the test strategy usually remains as is during the project, I prefer to divide them into two documents.
The value from the implementation of these documents affects the whole team in the broadest sense of the word, meaning everyone involved in product development. With the help of a test plan and strategy, it is easier to understand what a QA team does and coordinate work with other teams.
With a well-written test plan and test strategy, the team has a unified understanding of all testing processes on the project and can perform work efficiently even in the absence of management for some time. Additionally, high-level documentation helps to quickly get newbies up to date and synchronize the distributed team.
The test plan unveils what the team is responsible for and what is not under its control. For example, it lists 3rd-party services and products, boundary cases that cannot be captured in the test environment, etc. This allows for management not only of risks but of expectations as well.
A test plan or test documentation may be required to cover the following gaps: development process, employees (resources), data integrity, business continuity, incident response, third-party reliance, operational resilience, infrastructure network, etc. (according to the Financial Planning Alliance).
For setting up a CI/CD process, the test plan has a dedicated section that regulates the quality stages each feature accomplishes before it is deployed to production. This process is invisible to stakeholders and runs in an automatic mode, but it's crucial to ensure that everything goes smoothly. Using this test plan section, developers can find answers to questions about which cases the developed functionality will be tested in, return to development, specify the stage and environment, what level of unit test coverage is expected, and what quality gates will be configured when code flows from one environment to another.
During testing, the team may encounter various problems that can affect timing or quality: dropped testing environments, a team member taking sick leave, unexpected code freeze, poor requirement details, changes in requirements when they are half-finished, and so on. The team should have an emergency plan to minimize the damage from the triggered risk and a plan of countermeasures to prevent such risks. This is why I think risk assessment is one of the most important sections of the test plan. It consists of a list of risks, their likelihood, impact on the testing process, priority, and a response plan.
Let's talk in more detail about managing QA teams! Contact us to learn the best practices our Software Testing Consulting Team can implement to ensure the smooth processes that will make your product a success.
Creating a software test plan is one of the most foundational concepts in software testing. However, with the advent of streamlined life cycle processes, such as Agile and DevOps, the idea of taking the time to create test plans and other forms of test documentation is often minimized or ignored altogether. This is unfortunate because there is much value in a test plan that can greatly benefit all projects, regardless of lifecycle.
It is a well-known fact that any plan will need to be adjusted once the work starts to occur. The solution is not to abandon the plan, but adapt it to the situation at hand. This especially holds true for test plans.
This means that the test plan conveys how testing will be performed at a particular level (such as system testing or user acceptance testing), or for a particular type of testing (such as performance testing or security testing).
The Test Plan (sometimes also referred to as a QA Test Plan) can be seen as the instruction manual or guide for your testing effort. It describes the objectives of testing (what are you planning to verify and/or validate), the scope of testing (what will and will not be tested), together with the general and sometimes detailed schedule of the activities you want to perform (how and when are you testing).
Perhaps the most important part of a test plan is the definition of resources needed. Resources can be seen as human (such as the people involved in the test) and technical (such as test environments, test tools and test data).
A test plan and a test strategy are not quite the same thing, as we will now explain. The test plan conveys how the test will be performed. This includes defining test objectives, test approach, test tools, test environment, test schedules and team responsibilities and composition. However, before the right test approach and other planning details can be defined, a larger view of the organizational and project objectives must be defined first.
It is possible to have a great test plan in terms of formatting, but miss the critical objectives of defining what is actually needed from the test. This is where the test strategy becomes very important in defining major test objectives and making sure the test approach is in alignment with organizational needs and goals. The organizational perspective of testing is often found in a test policy.
In practical application, it is often best to define the test strategy first, so that the general nature and objectives are understood. Then, you have the basic information available to create the more detailed test plan.
The first test plan you write might be the most difficult. This is because you are assimilating information for the first time. The more test plans you write, the better you get at the investigation of details and the phrasing of things.
Writing a test plan is typically a test management or leadership responsibility. Others on the test team and in the organization (such as users and developers) may have input and review tasks, but it is generally up to the manager to actually write the test plan.
As mentioned above, a great starting point in creating a test plan is the definition of a test strategy. A software test strategy helps in understanding the broad objectives of the test and how a particular project or release is unique. With a test strategy in place, now you are ready to start creating a test plan.
It is typical to have gaps and vagueness in the first draft of a test plan. Many times, the information needed in a test plan will emerge over time. In fact, there may be some details of the test that do not become clear until shortly before the test. For example, details such as the features to be tested may be changing even up to the time of release.
As you write the test plan, you will discover that the writing effort becomes one of investigation as you seek to learn the details needed in the plan. A good practice is to assign certain parts of the test plan to members of the test team to investigate and document. As the author of the test plan, you can then compile and edit the information.
Obviously, a business-oriented audience will get lost in technical jargon and technical readers will find the plan lacking if few technical details are provided. The balance is found in being able to express technical information in ways that is understandable by the business. This has been a great need for over forty years in all areas of information technology, not just testing.
When it comes to test plans, consider that only part of the test planning details will involve information heavily based on technical details. The rest of the test plan will contain information that should be easily readable by all stakeholders, regardless of role. This is another compelling reason for conducting test plan reviews, especially the reviews involving stakeholders.
Keep in mind that a major goal of the test plan is to communicate details of the test to readers in all areas of an organization. Therefore, anything that enhances communication in the test plan h