MAY 2019CIOAPPLICATIONS.COM 19Best Practices for a PipelineFirst, use common code repository among all teams is essential along with good orchestration tool. Orchestration essentially serves as a central pipeline that invokes each team's automated processes/jobs. Next, configure triggers which alert via SMS or email for those processes/jobs from the pipeline such as Build, Automated Tests, Creating Images and Pushing Deployments. Lastly, it's common to set up an enterprise monitoring tool at each step of the automation to measure the progress within the pipeline.QA Role within DevOpsAs discussed, one of the fundamentals for DevOps is Automation and QA plays a significant role in Application Test Automation (ATA) for the success of DevOps Pipeline. Another pillar is the Quality which QA embeds in the automated scripts for the delivery pipeline to ensure all builds have satisfactory quality products.QA aims to have release-ready code deployed to production via the DevOps pipeline in a continuous loop. And it's essential to have a robust Framework for your ATA. Sometimes entire build fails because of automated script failures and not the application failures itself. When automated script fails, the entire DevOps pipeline halts. To avoid these false positives with scripts, a strong ATA Framework is needed for the success of CI and CD Pipeline. On the flip side, when you have a strong ATA Framework and it fails then those typically are defects. Strong ATA Framework ensures to find maximum defects internally without escaping into production. Steps to start in QAIt is always good to start small. Pick the right tool. Design aTest Automation Framework that suites your organization needs and which could be invoked via batch. Automate a Smoke Test Suite covering high-level major functionality and then ensure it's available to be executed on demand via orchestration tool. When you can execute successfully via orchestration tool, then extend those Jobs to Dev team. Then Dev Team can use this as a dependency before they check-in to the code repository to ensure the code is being validated.Next would be to automate regression suites for your applications. After the completion of the sprint, ensure to convert functionalautomated scripts into regression automated scripts and always invoke via orchestration tool. Because within the DevOps organization pipeline is always accessible to everyone, so Dev team can leverage regression suites that are maintained by the QA team. Some mature organizations choose to use Behavior Driven Development (BDD) in combination of Hybrid Automation Framework.Skills required for DevOps QASpecific skills are needed to be a sound test automation engineer to support DevOps such as analytical, automation tools experience with good understanding of programming languages, ability to build frameworks (discussed above), understanding of orchestration to support CI. Understanding of Containerization is not necessary but certainly be a plus.ConclusionPer 2018 DevOps Survey Report "As organizations are starting to achieve traction with DevOps, 44 percent of highly evolved organizations reported that they always use repeatable testing patterns compared to less than 1 percent of the least-evolved organizations. That makes highly evolved organizations 44 times more likely to use repeatable testing patterns."Test Automation is an integral component for the success of DevOps. Failed test cases stop the CI/CD Pipeline. So it's critical to have the right test automation tool with an appropriate framework, which is available to the CI/CD Pipeline, with exact reporting mechanisms so that the delivery could be successful. DevOps is a combination of Development (DEV+QA) and Operations (OPS) teams that aims to develop software in a shorter cycle while delivering features with frequent updates having Quality in mind
< Page 9 | Page 11 >