Note: This is a guest post from my dear friend, Hien Nguyen – Senior Software Development Engineer In Test at Slync.io
I assume that you have been working in the software testing field as SDET, Automation Engineer, Test Engineer, QA Engineer, or similar role. Therefore, I will skip “what is test strategy?” because of the above assumption.
So let’s get started with “When & why do we need a test strategy?”
When & why do you need a test strategy?
From my 15+ years of experience working as a Test Automation Consultant, Test Lead, Automation Lead, QA Engineer, and recently as Sr. SDET, I see the below scenarios.
A big “enough” project needs a test strategy at the beginning
Software testing is one of the critical success factors of a big project. Test strategy is the backbone of software testing as it acts as a guiding principle for software testing activities (test types selection, test design, test approach, automation tools, etc.)
To make it more straightforward, if the Test Plan is the destination, then the Test Strategy is a map to reach that destination.
This scenario will be especially true if you work on an outsource testing project where you and your dedicated QA team are responsible for the quality of the product (system or application under test). Without a well-defined test strategy or a map to reach the destination, you will be lost in a forest of tasks sooner or later. Most of your time in the project (as project lead, test lead, or lead QA engineer) will explain why you do what you are doing rather than focusing on testing activities.
You are tasked to document what test strategy your project is using or following?
You have been working on an ongoing project, and you are tasked to document the test strategy that you and your team are following.
Most of the time, this ongoing project gets bigger and bigger and typically runs into some quality issues. These are “good” issues since they warn you to pause and review what you are doing.
The test strategy is a part of a test plan.
This scenario is prevalent. As a test plan author, I want my document as ingenious as possible, and the test strategy section seems to be the highlighted part. It makes my test plan look more professional and covers how software testing activities will be done.
What do we need to cover in a test strategy?
Let’s step back and look at the definition of test strategy.
Test strategy is a holistic plan that starts with a clear understanding of the core objectives of testing. With that in mind, we can select testing styles and approaches, determine test phases, apply test design techniques, select test tools, etc., to help us meet our objectives or goals.
There are three focal points that we can make adjustments to get the best results.
- “Process” means the ways of doing things that involved people have agreed to.
- “Practice” means a successful combination of testing methods and tools that help meet the agreed objectives.
- “People” means the human resource capable of applying the practice.
Any software development project needs a test strategy
A dedicated test strategy document is strongly recommended to assure the project’s success. It could be overwhelming for a small project, but we can fix it quickly by using a clean or lightweight version of the test strategy embedded into the test plan.
Once the test strategy document is well-defined, you can reuse it in your upcoming projects.
Suggested outline for test strategy document
I hate to tell you that there is no one size fits all. The test strategy document is at the organization level, so it depends on your organization and should be kept at a high-level overview.
Below is my suggested outline
- Introduction / Overview
- Quality Objectives
- Test Environments
- Test Phases
- Test Approaches
- Test Tools
- Release Management
- Risk Analysis
- Reviews and Approvals
- Test strategy is a holistic plan that starts with a clear understanding of the core objectives of testing.
- Test strategy is the backbone of software testing as it acts as a guiding principle for software testing activities (test types selection, test design, test approach, automation tools, etc.)
- If the Test Plan is the destination, the Test Strategy is a map to reach that destination.
Thank you very much for reading to this point.
If you want to bring your testing skills to the next level, become more significant for your scrum team, or be more helpful to your colleague developer, I recommend the following courses.
- Complete Node.js Developer in 2022: Zero to Mastery
- Complete Web Developer in 2022: Zero to Mastery
- Web Security & Bug Bounty: Learn Penetration Testing in 2022
(Disclosure: These are affiliate links. If you click these links and buy the course, I’ll earn the commission without extra cost for you)
Are you suggesting software development courses for QA Engineer/SDET?
Yes, I am… When you fully understand how software was made, what exactly your colleague developer did/coded, feel their pain points, and more importantly why they did that, you will be able to help them discover bugs at the early stage. Potentially you may be able to help them fix bugs or even prevent bugs from being introduced.