When we plan to validate the development of a solution, whatever it is, the same constraints are inexorably repeated: What is our final quality objective? How many resources do we have?
Let's take a step-by-step look at this and discover how Agilitest's Jenkins deployment interface will make your life easier.
Compose your test strategy
In testing, the basic principles described by the ISTQB allow us to see more clearly what good tests will (or will not) bring to the team. In this way, we can anticipate many errors and pitfalls and maximize the efficiency of the testing effort.
The test strategies will ensure that the validation teams are guided in their approach by standards, models and simply good testing practices that have already proven their effectiveness. It is possible to mix several strategies according to all the criteria that are important to us, such as risks, safety, hazards, resources and their expertise, technology, objectives and finally standards and regulations.
You will be able to choose among the 7 strategies listed in the ISTQB Syllabus:
- Analytical strategies
- Model-based strategies
- Methodical strategies
- Process or standard based strategies
- Dynamic / reactive strategies (shift right)
- Consultative strategies
- Anti-regression strategies
What should we test first?
The answer obviously depends on the context, depending on the objectives, the means of the team, or the delays. Whatever happens, it will always be necessary to find a way between the business priorities of the solution, their criticality and their relative fragility.
From experience, the priority will often be set by the business risks to deliver the best level of quality in relation to what the end customer expects.There is one thing we can play on: our ability to leverage our testing performance for a given time and budget. This is where test automation comes in, with its undeniable advantages and pitfalls.
How to avoid the pitfalls of test automation ?
In practice, we will identify the automatable functional scopes from the start. The multi-chanel approach of Agilitest opens a lot of doors for you to judiciously expand this scope and thus optimize your testing efforts.
You should assume that you will not be able to automate everything, and in fact it is a practice to be avoided. Even though Agilitest will allow you to increase the coverage that can be automated with quick and important returns on investment, the right recipe will be to complete an important coverage of automatic tests with exploratory tests performed by real users and/or functional experts in simulated production conditions.
Any good automation tester knows that you should not automate everything or you will increase the maintenance costs excessively (with a fixed budget, remember). With equal priority, we will therefore automate very repetitive functional areas that are crucial and whose test data is potentially tree-like. Another powerful advantage of Agilitest is that it makes it very easy to set up test campaigns that will be driven by our data (Data Driven Testing). This gives us even more confidence in the overall quality by ensuring improved depth of our test cases.
What about test maintenance?
The Maintenance of automated tests (both analysis of fail cases, flaky tests or not, and modifying tests cases du to code modification), is often the Achilles heel of automation. This is sometimes the main reason why some projects fail, in cases where these maintenance loads are no longer under control. In Agilitest, if everything has been thought to allow you to easily automate your business test cases, the main issue has been to facilitate their maintenance (video reports, live test corrections, optimized ergonomics and accessibility...). The goal is to reduce maintenance costs as much as possible, both by reducing the frequency and by accelerating it when necessary.
The ideal towards which we wish to lead you is to be able to run your tests continuously in order to quickly identify anomalies as soon as possible when the tested solution evolves and to perform a quick maintenance after diagnosis.
The icing on the cake: Jenkins
Agilitest allows you to automatically set up and configure a local Jenkins server or even connect to a remote Jenkins! It's simple, fast and extremely practical.
Creating and scheduling a Jenkins job from Agilitest
You will be able to schedule recurring executions (every morning at 6am, every Thursday or even continuously over a defined period if you wish) to ensure that all your tested functions are OK when you arrive at work in the morning.
There are Dashboards and Monitors in Jenkins that allow you to see at a glance which jobs are KO.
These jobs, which will automatically launch your tests on your Web, Desktop, API or Mobile solutions (emulated or physical terminals), will be displayed on a very graphical monitor. This is how you will gain confidence in the quality of your solutions on a daily basis.
A step towards the coveted "continuous validation"
As we have seen, with a well thought-out test methodology upstream, an optimized and controlled functional coverage and then an execution planning system such as Jenkins, you have just taken a step towards the field of CI/CD (Continuous Integration/Continuous Deployment), at least in terms of testing.
Nothing then prevents you from triggering the execution of your jobs on a commit pushed by the development teams and thus managing your non-regression test campaigns in a completely autonomous way, mechanically leaving you the time necessary to test the new functions delivered and better still, to directly automate the tests.
To learn more, log on to www.agilitest.com
Photo Credit by Kelly Sikkema on Unsplash