There are countless papers and blogs on the internet that detail how to conduct automation, what tools to use, and but nowhere did we find how to maintain it and use it properly.
The major goal of this is to track and sustain it over time . To do this, precise and rigorous process are necessary.
The process should begin with a backlog meeting in which the Quality Engineer addresses the team about the automation testcase that he/she will develop, which should have already been manually tested and that should be added in regression automation suite.
and the chosen testcase should fall under any of these rules
- Testcases runs on several builds.
- Tests that are prone to human error.
- Tests that necessitate the use of numerous data sets.
- A frequently used feature that introduces high-risk conditions.
- Tests cannot run manually.
Automation test environment :
When the automation testcase of X module can discover the bug in Z module in production, the automation test environment should be the duplicate of production, and it should be a centralised test environment for all teams’ testcases to be runned.
All teams will use the Test environment for execution of the regression suite. The following considerations must be address to avoid conflicts:
- At least one day before the production release, all Scrum teams should deploy the feature code in the Test environment.
- This guarantees the regression suite is run nightly against the existing features to discover any affects by new changes.
- An email mentioning the deployment should sent to the Quality engineering team (before and after the deployment). This ensures the teams are aware of the deployments in the test environment.
- Before deploying in the Automation test environment, each Scrum team should take the most recent master code and combine it with the feature code of production
- The automation tool usually includes a reporting capability. However, we can design bespoke reporting systems such as auto-emailing the results to stakeholders.
- If needed we can generate reports in the form of charts and tables at the end of each execution.
- Bugs found during execution will be assigned to the appropriate Scrum team to resolve.
- Until the bugs are fix, the release is on hold(based on the bug’s severity) . The updated code with bug fixes will go through the entire procedure that I described above.
- Finally, the bug-free branch will sent to production.
Hence Tools, frameworks, and methodologies will vary over time, but the process is the most important aspect of automation. The main fruit of automation is in the maintenance phase , so its in your hand to taste it juicy or bitter .
In writing this tutorial, I tried to cover all issues from a broad perspective and used my own expertise.
If you think I missed something vital or that a component of this tutorial requires further explanation, please let me know in the comments area. I will delight to respond to your questions.
To learn more about Quality Engineering topics visit – https://engineering.rently.com/quality-engineering/
Get to know about Rently at https://use.rently.com/