Quality engineering, like any other engineering process, consists of several important steps, the implementation of which our consultants will help.
Development of Automated Testing Strategy
What do we expect from a good strategy?
- The testing strategy should take into account the importance of business cases and reflect them in testing. In fact, the strategy should include a mechanism for prioritizing test cases, developing test cases in accordance with a risk analysis, and creating test suites for execution at different levels of testing in the SDLC.
- The testing strategy should reflect the application architecture in the test architecture. Using the basic principles of testing allows you to “shift the test to the left” and find defects earlier and “shift the test to the right” and use the most representative data sets for testing under conditions close to real ones.
- The development methodology of automated tests should be consistent with the development of methodologies in the project and the release process. Test results should be received on time and serve as quality gates.
- The testing strategy will reflect on how the test data is created and used. On the one hand, this is important for meeting security requirements, and on the other hand, it will avoid many problems with testing on production environments.
Development of Automated Testing Architecture, Strategy and Implementation Plan
The development of an automated test architecture always begins with an analysis of the current situation. The analysis is performed in the context of four main domains:
and the result of the initial analysis is a document that describes the current situation with testing (Baseline), and Architecture Vision with the direction the project will move (Target).
In fact, based on this Vision, Test Strategy and Implementation Plan are built.
An example is described in the article “Building Test Architecture and Test Strategy in CRM project“
Thus, in Test Architecture Vision we set the direction of change and the desired result. In addition, it describes what kind of transformations should lead to the expected result and suggests simple measurable criteria for assessing progress and outcome.
Next, we need a Test Strategy. The Strategy describes how changes in testing will affect the project as a whole:
- how the testing schedule will change,
- how the test scope will be distributed by levels,
- which automation tools will be used,
- what metrics will be collected,
- how test data will be created and maintained,
- which test environments will be used and how they will unfold.
Having worked out the Test Strategy, we can proceed to the planning of the Pilot project.
A Pilot project can be built on the basis of the development of an independent functional module. It is easiest to build a new CI/CD process (pipeline) taking into account all the changes and collecting the necessary metrics.
The new testing automation strategy can be applied iteratively, in full accordance with the Agile methodologies, and thereby reduce the risks of not only testing but the project as a whole.
Assistance in developing frameworks and writing test scripts
We speed up the development of autotests by changing the approach to writing them. Often, a fresh look at the test code and experience in many projects can speed up the development and support of tests several times.
Assistance in integrating all levels of testing into CI/CD processes
We will help set up proper test execution processes and, possibly, improve CI/CD practice in the project:
- Move testing environments to the cloud, taking into account all security requirements
- Assemble СI / CD pipeline taking into account functional, performance and security testing
- Configure the process of continuous development and testing in the project using virtual cloud solutions
Implement automated reporting
The results of automatic tests, the coverage of requirements with tests and the reflection of business cases in the tests are the best indicators of the state of the project.
The ability to have fresh data at any time allows project managers to make informed decisions and simplifies the work of all project stakeholders.