Eric Montagne, Technology Project Manager at Barclaycard, shares his thoughts on automated testing with DZone.
Q: What aspects of automated testing is your company involved with?
A: Our current objective and strategy are to achieve a fully automated pipeline for software delivery including automated testing for unit testing (executed at build time), smoke testing (core functionality and application availability), functional testing (limited internal integration with mocks/stubs), through end to end (fully integrated application stack).
Q: What are the keys to using automated testing to improve speed and quality?
A: Identifying and aligning to true business value is critical with respect to improving speed and quality. It is important to be able to measure and clearly demonstrates the value to the organization in terms of quicker speed to market with new products, fewer customer impacting incidents and overall reduction in overhead and expense. This understanding helps with creating the business case for continued investment in test automation.
Q: What are the most significant changes to automated testing in the past year?
A: First, with our significant reliance on small tests as the foundation of our testing strategy, we have adopted Mutation Testing in the Java spaces as a way to "test the tests." Mutation testing alters the source code by injecting defects and then executes the unit testing to see if the coverage is able to detect the faults. This ensures we don’t get a false sense of security from unit test coverage that doesn’t provide actual value in detecting faults. Second, we have pushed to retire older tools and frameworks in our inventory that don’t support our CI/CD strategy. Our modernized tools ensure that automated tests are able to integrate into our pipelines and execute unattended with each build. Third, we have built a custom repository and dashboard system to aggregate and report test results, relate the data to our agile management and control systems, and ensure release readiness. Unlike the enterprise systems previously used, the new tools and frameworks are decentralized and unconnected, so we needed to fill the gap to integrate them into a meaningful system.
Q: What are the technical solutions you use to automate testing?
A: We employ several of the industry standard test automation tools including Selenium, Ranorex, and Cucumber. Teams also employ a number of custom built automation solutions to bridge gaps across different environments and application ecosystems.
Q: What are some real-world problems being solved by automated testing?
A: Reduction in time-consuming manual testing, faster delivery of large scale implementations and product launches, reduction in the occurrence of customer impacting scenarios introduced by bad code.
Q: What are the most common issues you see affecting the automation of testing?
A: Under-investment in automation infrastructure and investment in resources to work down automation backlogs while staying on top of incoming automation demand.
Q: What’s the future of automated testing from your point of view - where do the greatest opportunities lie?
A: Opportunities lie in strengthening Agile testing practices to its core, i.e. TDD/BDD/ATDD. Making sure testing process is leftshift-driven. In other words in today’s technology driven fast paced environment, organizations innovate rapidly to compete in crowded, evolving digital markets. LeftShift can help in making the transition to a streamlined continuous delivery model, ensuring that business value is realized on-budget in the shortest timeframes. And this can be achieved by having the right automated testing strategy in place.
Q: What are your biggest concerns around automated testing today?
A: Making sure that we are investing automation effort in areas that will deliver the largest ROI…basically automating where it counts the most instead of automation for automation’s sake.
Q: What skills do developers need to ensure their code and applications perform well with automated testing?
A: Desired need is the change in QA mindset. As Agile practices mature, organizational ownership around designing and developing automated testing, frameworks should fall squarely with QA in order to drive agile traits such as TDD, code coverage, and the continuous development model.
Q: What have I failed to ask you that you think we need to consider with regards to automated testing?
A: Simple thoughts! Change in QA mindset; get away from traditional ways of testing. Apply the standard core developer’s tool stack and technology to accomplish a faster testing process. Automated testing and Agile go hand in hand.