by Fabrice Devos
Testing and quality assurance (QA) methodologies and approaches have undergone important developments over the last few years and as wealth managers and private banks digitise, organisations must deliver faster and more reliable IT solutions. Enabling this shift has been the use of Agile and DevOps methodologies as well as smart automation technologies and software-as-a-Service solutions. Orbium’s Fabrice Devos looks at how you could create a faster, smarter, more robust testing and QA programme.
As the pace of technology has increases in line with client’s expectations, prioritising digital projects can be a challenge. From the integration of front-office and consumer-facing apps with back-office core systems to prioritising cloud and microservices, its easy to become #digilost.
Compounding this problem from an implementation view point, technology is often delivered by different teams, many of which may not even be part of the same company. Therefore, ensuring that technology is free from bugs and usable needs to be an ethos across the project, as opposed to solely being the domain of the test teams.
Business teams, developers and testers should unite by working closer together and in parallel. The waterfall approach of “big-bang” testing (integrating everything at once and then test) is ill-prepared to handle the rapid iterations that functional and performance testing demands. Testing should be happening earlier in the software development life-cycle as part of the “shift left” movement.
“Shift left” is an approach that strives to build quality into the software development process by incorporating testing early and often. The benefits include:
Testers should now focus on breaking down testing into small components and functions with the purpose of testing only the changes made in an application. This helps reduce the feedback time from days to minutes.
Projects teams are advised to run a larger number of small scoped tests in parallel. This will enable them to ensure that applications perform as expected before promoting code to the next stage in the software delivery pipeline. This can be supported by new technology and tools.
Continuous testing enables continuous delivery, with the utopia being automation of the entire pipeline, with zero manual intervention during any part of the process. Such an approach sees an evaluation of quality at every stage of the continuous delivery process, starting right from the requirements-gathering phase (“shift left”) and continuing even after an upgrade or piece of code has been released. It also leverages artificial intelligence (AI) and machine learning elements to support automation. – enabling software to work smarter and free up the development team’s workstream.
With significant portions of the pipeline automated (typically regression testing or test execution), there remain areas where manual intervention is still required. These gaps in automation are mostly seen in the following areas:
Some of the biggest testing challenges relate to poor test requirements capture, an inadequate understanding of the testable criteria and/or a lack of appropriate test coverage.
Most of the time the current approaches adopted to requirements gathering, analysis and engineering is not automated and can still use paper, whiteboards or word software. For most firms, neither requirements coverage plans, nor the automatic generation of test cases are the norm today.
Recommendations and trends:
To really achieve continuous high performing testing, there are certain prerequisites that required. Enterprises need to have the infrastructure that supports their test data, the ability to stand up environments quickly with the right data, and the ability to auto-generate and maintain test case and integration of the automation test suites so that the test can be run. In addition, automation needs to happen at the application programme interface (API) level and agile teams need to be involved with testing.
Some of the challenges – (culture, mindset, skill sets – still need to be tackled by organisations before continuous testing can be fully achieved. At the same time, several changes could be easily achievable and addressed immediately, including model-based testing, test-data automation and test environment virtualisation).
Agile, DevOps and automation are key elements of IT nowadays. Continuous testing is needed and helpful, speeding up implementation and making the software more robust. Orbium’s propriety software – TestMaster is proving to be an incredibly flexible suite that significantly increases productivity by proving faster execution times, wider test coverage and an integrated feedback mechanism. The result is more robust software implemented faster and at a lower cost.