posted on Jan 25, 2017 by Dominique Raviart
Tags: Application Testing Management
In the past ten years, we have seen most IT service vendors’ software testing divisions and the testing pure-plays rebadge from independent verification and validation (IVV) to quality assurance (QA) services. Vendors have been very active in expanding their service portfolio (non-functional, digital testing) and in leveraging IP and accelerators.
Nevertheless, there still is a gap between the aspiration of QA and actual testing activities. Testing vendors have become more efficient, more automated and more sophisticated, but they still typically provide a pass-fail service.
This is changing, thanks to Agile and DevOps software. The iterative principles in Agile are driving developers and testers to continuously improve the functionality of software, working through a series of enhancements. So, in theory, in terms of functionality and flexibility, software developed through Agile is better than that developed through waterfall. From this perspective, testing really becomes QA.
The other side of the story revolves around software technical quality. Static analysis software has been available in the market, through COTS or open source software, for more than a decade. Yet only the ADM units of IT service vendors have been using such static analysis software. This is also changing; SonarQube has become a de facto part of most DevOps platforms, and several vendors are also using, on a standalone basis, CAST or Coverity software products.
This is still relatively new: we still think that clients/IT service vendors are more focused on functionality than on technical quality. As it happens, technical debt considerations are rarely part of RFPs.
The adoption of IoT may also change this view on technical quality. IoT is driving the need for more solid enterprise applications, ones that can support millions of transactions without server or PC reboots. IoT-related applications or, more generically, applications addressing mass market, need to reach the quality of COTS and SaaS applications, used by many thousands of users and only be offline during planned maintenance periods. Is this happening already? The application of IoT is still immature, and the so-called convergence between engineering services and IT services is currently more of an overlap than a true convergence.
In short, the testing industry, in spite of all the changes it has been going through, still needs to go through several more steps before becoming true QA.
Looking ahead, the holy grail is of course for enterprise software to reach the quality of embedded software in major equipment: aircraft embedded systems, or command and control systems in nuclear power plants do not need a regular reboot!