Continuous Testing: from Dev to Ops
Total Page:16
File Type:pdf, Size:1020Kb
Continuous testing: from Dev to Ops April 2018 For over a decade, organisations have implemented Agile techniques to accelerate service delivery. More recently, an increasing number are turning to DevOps to improve their success and productivity by implementing a Continuous Deployment delivery model. The reason is straightforward; there is no longer a choice between speed and quality. Organisations need and demand both to stay competitive. And when delivering software at speed, the rapid verification of product quality is paramount. In this new paradigm, Continuous Testing is the centrepiece of achieving DevOps maturity. Continuous Testing supports the DevOps journey Agile DevOps maturity Continuous Continuous Continuous Integration Delivery Deployment Continuous Integration encourages a Continuous Delivery extends Continuous Deployment is the rapid cycle of build and validation of Continuous Integration to ensure ‘extension’ that DevOps brings to product features through automated that the release process is also agile development and deploys testing. It is designed to get an early automated and that the product product features to customers view on product quality and to avoid codebase is always deployable. automatically. It relies on a fully integration issues associated with automated tool-chain throughout ‘big bang’ code releases. the entire product lifecycle. Continuous Testing If you test late in any software development DevOps is a combination of philosophies, process you are introducing quality risk, and if practices, and tools to increase the pace of DevOps is to be successfully implemented then delivery to customers by breaking down barriers quality control needs to be tightly automated between development and operation teams. and integrated throughout every stage of the But accelerated delivery requires a quick and product lifecycle. This will form the foundation effective view on quality. of a successful DevOps operation. © 2018 KPMG LLP, a UK limited liability partnership and a member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. When surveyed, DevOps practitioners have cited To make DevOps a success, Continuous Testing must quality assurance and testing as being the biggest be implemented. It mandates that testing is embedded bottleneck to fully realising the benefits of DevOps, throughout the development process to provide fast and a significant percentage said that quality was being and continuous feedback on quality, and expose risks sacrificed as a result. as soon as they are introduced. This is because testing is still often treated as a siloed, This enables organisations to control their risk in the discrete activity as part of the software delivery chain light of the increased complexity and pace of modern and any DevOps endeavour that views testing this way software delivery. will struggle to rapidly produce quality software. Automation Integration Continuous Testing relies on high Testing must be a cross-functional levels of test automation. DevOps operation across the SDLC (Software will not succeed if it needs to rely Development Life Cycle) and take a on manual processes. The test automation production line approach that validates software techniques need to extend far beyond the quality throughout the DevOps chain. Even if the traditional execution of tests; DevOps teams testing is highly automated it will be should be automating test data management, of little benefit if the testing cannot be done early. environment creation and services. BDD Auto-test Framework Automated requirements analysis and test case creation Automated Unit Tests Optimised test coverage Test Data Creation Define Develop Operate Deploy Release Commit Integrate Test Data Discovery and Masking Service Virtualisation Automated GUI Testing Automated API Tests Performance Testing KPMG aims to restore efficiency and business focus to Continuous testing testing. Our approach to Continuous Testing uses innovative tooling that supports testing throughout the SDLC, supported • Enables deployments in hours, not days by deep expertise working in DevOps programmes. • Bridges the gap between Continuous Integration and delivery • Assesses business risk throughout Daryl Elfield Nick Urry the SDLC Testing Director Partner T: +44 (0) 20 7311 6330 T: +44 (0)20 7694 2330 • Shifts testing left E: [email protected] E: [email protected] kpmg.com The information contained herein is of a general nature and is not intended to address the circumstances of any particular individual or entity. Although we endeavour to provide accurate and timely information, there can be no guarantee that such information is accurate as of the date it is received or that it will continue to be accurate in the future. No one should act on such information without appropriate professional advice after a thorough examination of the particular situation. © 2018 KPMG LLP, a UK limited liability partnership and a member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. The KPMG name and logo are registered trademarks or trademarks of KPMG International. Produced by CREATE. | April 2018 | CRT096032 .