What is the purpose of automation? To replace a human by an application which executes a designed process? Or to ensure better quality and more efficient use of available resources?
Problems of quality assurance professionals are always the same: they were the same 10 years ago and they are the same now – there is always a problem that needs to be investigated and fixed. However, that can be difficult sometimes because the industry and technologies are always changing. This is why the job of QAs is not only to assure quality, but also to adapt the process of quality assurance to suit their needs.
In order to be as efficient as possible, new tools and automation processes can be of great help. They are not there to replace people; they are here to help. But before you choose which tools and processes are useful, it is important to find a strategy to follow.
QA automation strategy from scratch
When talking about strategy, people always think about spending hours on meetings, writing a lot of documentation, thinking about how to match a certain process with the company goals and wasting quite a lot of time before anything is done.
When talking about the automation test strategy, there is no template for it: it is unique and personal for each team. Multiple strategies can exist in the same company, they can also have the same plan but they should be adapted to suit each team.
The strategy must be easy to understand as well, because no one should spend hours reading dozens of pages that contain some vague information that no one can comprehend. It would be great if some visual elements are included also to engage both the team and stakeholders. To achieve this kind of visual interpretation, this visual mapping, there are a lot of tools available. Some of them are available as Google Chrome extensions (AKA “mind mapping”) and are easy to use. Just remember that they are there to help you show your plan properly.
What should be included in your QA strategy?
Let us focus on the automation test strategy and what should be included, which areas should be covered. Follow the next steps:
– Define the goals, the objectives of the automation tests, and define them as precisely as possible.
– Plan the test approach, analysing the code to decide the level of testing to provide the maximum value: database level (DB), business logic level (unit tests, integration tests, component tests), API level or UI level. These tests must assure usability, functionality, reliability, performance and security.
– Decide the rules and guidelines to follow when writing and running the tests, basically the automation framework: DD testing, linear testing, modular testing, hybrid… Before selecting one, you should review your team experience with coding and testing, as well as the type of architecture the code is based on.
– Select the right testing tools for your projects. To do that as efficiently as possible, it is important to take some parameters into consideration. Think about the requirements of the platform and where it will be running, the application where testing will be performed, the language and environment supported by the tool (consider testers’ experience as well), ease of use, etc. For mobile apps, for example, Selenium, Appium or Robotium are the tools that are mainly used, depending on the platform (iOS, Android). For web applications (Windows supported) there are tools like Selenium, Test Complete, IBM RTF… And for API testing there is Katalon, SoapUI, Postman… Which of these tools you are going to choose depends on the scripting language as well as testers’ experience. Also, if possible, it is better to choose an open-source tool because the license is not a paid one and its community is usually helpful.
– Create the test case and execute it. Now it is time to create the test case and to execute it. It is recommended to follow some of the best practices such as: design a test case template to be reused, write simple and dedicated code to test (test specific parts, don’t mix everything in the beginning until you get used to testing only parts and until you gain valuable experience doing that), select and prioritise parts to be tested, perform pair-programming and pair-testing if possible at the beginning to ensure right coding and high coverage.
– Maintain the tests. The last step is to maintain the tests and scripts you created. The idea is to write the basis and then improve it, expand it, step by step, and adapt it as the code and application functionalities are growing.
How should the strategy document be defined?
Once you have all of the necessary information, the test automation strategy document could be defined as follows:
- The scope of the document: reviewers, approvers, activities to be executed, timelines (if any), objectives
- Test approach: explain the test plan, the testing levels, how it will be divided and performed, type of testing to be done and coverage, how it will be managed
- Test environment: where the tests will be executed, requirements to perform them, environments to execute the tests (IT support, PCs to be prepared), chosen frameworks (rules and guidelines to follow)
- Testing tools: which tools will be used, define if you need company approvals for acquiring them, define which users will be using them
- Control: management plan to control the strategy with version history and modifications
- Risk analysis: perform a risk analysis based on what can directly impact the application and company QMS (Quality Management System)
- Reviewers, Approvers and Version History: set a specific section to define when the reviewers have reviewed the document, when the approvers have approved the document strategy and version history to evidence all changes. Also, signatures and dates should be included for each of these segments.
That is all you need to know about writing a high-quality QA Automation Strategy document and being ready to implement it.