This blog post aims to give a deeper dive into the world of software testing, in which Waldo is a key player.
Software testing is a very pivotal area in the software development industry, especially when it comes to the developer getting to see the real-time working of their product. But to get the best results from testing, there are things that must be put in place behind the scenes.
Let's think of software testing as a building project. Every proposed building must have a comprehensive building plan, right? It's common knowledge that each building plan has different sections, be it ones that show architectural details, mechanical details, electrical details, and so on. Each of these sections describes the specific area of the proposed building and the intended work to be done. This analogy perfectly describes the software testing process. In testing, there should be a test plan, test case, and test strategy.
In this article, we'll look at understanding what a test plan is. We'll also discuss what a test case entails, and we'll briefly go over what a test strategy is. Then we'll focus on comparing the test plan and test case.
What Is a Test Plan?
Returning to our initial building project analogy, the master building plan mirrors a test plan. A building plan consists of various aspects, including ones such as the project overview page, the floor plan, the elevation designs, and the roofing plan. It'll also have sections like the electrical works plan and the mechanical work plan, which detail how the plumbing work and other essentials will be handled. It's pretty interesting that all these are right inside one document. But the document is meant for everyone involved, ranging from the architect that designed it, to the building engineers, to the client or owner of the project. Plumbing teams, electrical engineers, and even regulatory agencies in charge of building approval might also want to view the document.
Much like a master building plan, a software test plan is a comprehensive and all-encompassing document that details activities and information needed for the testing. This document is not just meant for testers alone but also for other testing stakeholders as well.
In a similar manner to the building plan, a test plan contains the following:
- Testing duration, including start and end dates
- Project scope
- Goals and objectives of the project
- Risks and assumptions involved in the project
- Target market of the project
- Testing environments to be used
- Deliverables
- Roles and responsibilities of every party involved in the project
- Available resources for the project
With this, we're good to go with our entire testing phase. A benefit of having a testing plan is that the document directs the teams on what to do until the very end. It also helps to keep management and other stakeholders abreast with the workings of the testing team.
What Is a Test Case?
A test case is a document that contains the details of how tests will be done on a system. This document comprises the testing procedures, the expected input values, and the end result. For instance, it might detail what functions the system needs to be calling at a particular time and the effects it should have on the system.
Looking back at our building plan example, think about how workers need a manual in order to properly install or troubleshoot appliances in a building. For example, electrical workers will want to reference the manufacturer's instructions for installing electrical appliances like a refrigerator or air conditioner. This analogy also applies to what test case is in the information technology (IT) industry. The test case document consists of steps for how to test a particular scenario or section of the project.
The test case document consists of the following:
- Objective and test scope
- Test setup and prerequisites
- Steps for executing test
- The expected end result from tests
- References from other tests that relate to the current test
Test Strategy at a Glance
While we've explored both test plan and test case above, there's still another term we should know about: test strategy. The test plan document comprises the complete list of test tasks, and the test cases provide a step-by-step guide on how to carry out these tests. However, the test strategy is kind of in between. This document should provide an overview of how the different test modules should be tested.
It should provide the list of test modules in a project, as well as an overview of these test modules, although it doesn't provide a step-by-step guide on how to test these modules. Looking back at our building project analogy, a test strategy is similar to a document containing broad details of the steps and components. For instance, for a roof installation, it might list these tasks: roof woodwork, roof sheet installation, and ceiling board installation. But it won't provide any more information regarding how these tasks will be achieved.
Test Cases vs. Test Plan
In this section, we'll explore the test cases and test plan in detail. We'll discuss the differences between them, and how they really work. In the initial sections, we established that the test case document provides an overview, while the test plan provides a step-by-step guide.
This table shows the differences between the test case document and the test plan document.
While the test plan can change over time, test cases can't change. This is because the steps for carrying out the tests or functions we'll be calling won't change over time. Another thing to note is that the testing manager is in charge of preparing the test plan. However, the test case document is prepared by test engineers on the team. This is because only they understand the details of the project and the necessary steps to run tests against it.
Sometimes people confuse test cases as a subset of a test plan. However, test cases and the test plan are two distinct testing techniques, therefore test cases aren't a part or subset of the test plan.
Designing a Test Plan
When designing a test plan for a project, it's important to first understand the different types of test plans. For example, you can have a master test plan and level-specific test plan. The master test plan covers everything about the project, including project management, documentation, etc. However, the level-specific test plan covers integration tests, unit tests, and other level-specific tests.
After choosing which test plan suits you the most, develop an efficient test strategy. Next, schedule the execution of the testing plan, assign roles, and prepare the test environment.
Designing a Test Case
Just like with the test plan, there are different types of test case techniques. The types of test cases that are mostly used are:
- Integration test cases
- Unit test cases
- Functionality test cases
- User interface (UI) test cases
To use any of the test cases above, it's important to understand the type of test you'd want to run on your project. For instance, if you'd want to run tests on the interface of your application, you'd use the user interface test cases. After choosing which test cases suit your project best, document what you intend to cover, how you'll cover it, and the expected end results.
Conclusion
In this article, we've seen the different testing techniques. We explored test plans, test cases, and test strategy. Also, we saw the details of how test plans and test cases work, as well as their differences.
Implementing these testing techniques in your project isn't always a bed of roses. For instance, some companies will want to hire an expert to implement them. However, with tools like Waldo, teams can easily automate testing on their projects, allowing for quick implementation and continuous integration and delivery.
Automated E2E tests for your mobile app
Get true E2E testing in minutes, not months.