Application Release Automation: Why the QA Pro Should Care
Testing is right smack in the middle of the DevOps conversation. As most QA professionals have noticed lately, continuous testing and test automation are critical pieces of the continuous delivery pipeline. What most QA pros also understand is that the speed of testing depends on a consistent software release process that can provide the critical information needed when reporting issues.
QA pros will benefit from a new set of DevOps tooling called application release automation (ARA). These tools focus on the modeling and deployment of software releases and their associated configurations, supporting continuous release deployment. ARA allows the QA pro to clearly see the changes moving into and out of the testing environments, providing visibility into what was deployed and updated.
Common to most continuous delivery pipelines is the process of installing updates to the testing environment, or at least to a subset of servers defined for executing the test process prior to opening up those servers for end-users. While test automation can speed up the actual execution of the test, the deploy and install process can be riddled with hidden updates, inconsistencies, and no solid reporting to quickly determine what version of an artifact may be the cause of the issue.
When you are trying to go fast, you need some guardrails that will allow you to quickly determine a deployment issue, even before you bother running those automated test. After all, if the deployment is bad, testing will fail.
According to some, continuous build means that you should be able to fix a build within ten minutes in order to get the CI/CD workflow back up quickly. Continuous deployment is the same. In order to drive that continuous delivery pipeline, both the software compile and the software deployment must be transparent and understood by all teams.
ARA solutions are the drivers of continuous deployment. For the QA pro, it means that they have the ability to control their testing environments, understand the changes coming their way, see what updates have been applied, and provide some level of continuous feedback. A solid ARA solution will connect your change request, issue ticket, or user story to a particular release version. QA pros can quickly understand what updates are on their way and determine the level of risk associated to the release.
Ultimately, the QA pro must be the one to push that change forward to production. With an ARA tool, the production release can be simplified by being, in effect, a repeat of the test release. Once you have this level of repeatability and visibility, your job as the mediator between dev and prod becomes much easier, and your continuous testing can really fly.