VON Consulting Tech Division Continuous Testing Best Practices for Application Development Teams

Berlin, Germany. — Continuous testing is an optimal way to provide developers with feedback before code reaches a delivery environment. It is particularly important for running code quality and security analysis so that developers learn and adopt better coding practices.

Teams that define a strategy and leverage agile principles for value, development, and implementation are most likely to reduce risks and deliver value from their testing efforts.

To do so, developers, engineers, and quality assurance specialists need to collaborate on testing strategies and implementations. Such collaboration is critical to test every build and delivery in the CI/CD (continuous integration & development) pipeline.

Continuous testing – how to start off

Continuous tests must be easy to automate, run in a reasonable duration, have defined pass or fail criteria, and have well-defined paths to remediate issues.

Let’s take functional tests that run through thousands of test scenarios. They may very well take too long to execute and might run better overnight as scheduled jobs.

Another example? Security tests that report many warning alerts, which we recommend should be reviewed by info-sec personnel rather than stopping the build pipeline.

The reasoning to take from all of the above: a data quality test that can’t easily connect to the code, developer, or team that created the issue should not be in the CI/CD pipeline. It will halt the build for everyone and may require an extensive team to review the issue.

Continuous testing strategies – team configuration

In the continuous testing strategy set-up, we recommend using an agile approach. To do so, define a persona-based continuous testing strategy.

The agile development team must respond and correct issues when a CI/CD build fails and what testing gets prioritized.
Your persona-based testing strategy should include developers (for code quality and modifications), ops teams (for performance issues, reliability of app testing), information security teams (for code analysis, penetration and security risk assessments), quality assurance specialists (for app testing such as APIs, browser and mobile user interfaces), architects (for protocol standards API quality), database governance specialists (for data quality and security).

Continuous testing – implementation and best practices

You first need to automate the continuous tests, by integrating them in the CI/CD framework, and then configure alerts, so that the right people are notified of issues discovered.

The tools for running the tests must integrate smoothly with Jenkins, CircleCI, Bamboo, or other top CI/CD tools used for continuous integration and continuous delivery. Tools such as SmartBear, BlazeMeter, Tricentis qTest, BrowserStack, SauceLabs, Postman, and many others have integrations and plug-ins for Jenkins.

Some companies and organizations that work in manually configured development, test, and production environments struggle to keep configuration and infrastructure changes synchronized across them. Depending on feasibility, we recommend standardizing the environments and using infrastructure as code tools (Puppet, Chef, or Ansible) to manage configurations before investing in continuous testing.

Testing should be a safety net before pushing changes to an environment. It should provide actionable feedback and require executing the right set of validations for the appropriate stage of the delivery pipeline.

People. Quality. Tech.

VON Consulting has offices in San Diego, USA, 3 offices in Cluj-Napoca, Brasov, Bucharest, Romania and is also present in Düsseldorf, Germany.

VON Consulting has 150 IT talent on board and has worked with clients from the EU and US, mainly in IT, telecom, networking and semiconductors industries.
See more on www.vonconsulting.net.

Andreea Paleologu
VON Consulting
Str Matei Basarab 65,
Bl L 109 sc 1, ap 19, sector 3,
Bucharest, Romania