FROM SOFTWARE TESTING to QUALITY ENGINEERING« Software Testing Has Become a Complex Technical Discipline Within the Development Process
Total Page:16
File Type:pdf, Size:1020Kb
INTERVIEW WITH PANKAJ RAI JAIN, DIRECTOR AT ACCENTURE IN MUNICH »FROM SOFTWARE TESTING TO QUALITY ENGINEERING« Software testing has become a complex technical discipline within the development process. The reasons are complex, says Pankaj Rai Jain from Accenture. He speaks of Software Quality Engineering that would develop very quickly. In this interview, Jain shares some of his ideas about what this development might look like. Software is ubiquitous today. of their users, the demands from every more complex, highly integrated and Unlike than in the past, we no corner of an increasingly digital world, the virtually limitless IT-system and all the longer find it only in the data different areas of application from related products. The demand for centers and on PCs, but also, for entertainment to business-critical and life- software quality is growing not only example, as an app on every sustaining systems, and the sheer amount functional, but also non-functional in smartphone, in the household of software that needs to be produced and appliances of a smart home, in the changed more rapidly. All these distinctions areas such as user experience, modern transport systems or in the and the constantly increasing time security, data protection and machines and robots of the constraints make software engineering so integration capability. factories. complicated and testing so challenging. This increases the pressure on Quality These few examples make it clear: Even experts such as Pankaj Jain cannot Engineering, because in the future much better products with completely Software must work! Error-free, predict exactly how software developers secure and performant. However, new and non-functional specifications will be working in ten years. In his opinion, will have to be delivered much faster there are other criteria that are however, one thing is certain: The "software important for the use of software. than before. According to Jain, all this testing" over the next decade will look These include properties such as has serious consequences for how, being flexible, quick and easy to completely different than it does today: The what and when testing has to be done. set up or intuitive to use. reason for this is obvious: Current quality In this interview, he shows how this assurance methods will not be sufficient to change can be shaped. Software plays a central role in our achieve the quality assurance methods will "Software testing has undergone a daily lives. It is difficult to imagine not be sufficient to achieve the quality fundamental change over the past required by a much an aspect of life that still functions four or five years – without software. Thereby, the and it has matured requirements for software vary into ‘Quality Engineering’!“ greatly. This is no wonder, given the expectations Mr. Jain, how would you describe the development of software testing in the recent years? Over the last 5 to 10 years, software testing has developed enormously. A mature engineering discipline has emerged from rudimentary processes. But this is by far not enough. This is evident from the fact that software today can be found practically everywhere – not only on computers, but also in the car, in kitchen appliances and on our smartphone as well as in factories, hospitals and retail industry. INTERVIEW WITH PANKAJ RAI JAIN, DIRECTOR AT ACCENTURE IN MUNICH Additionally, there are innovative We are witnesses to the introduction of So, is it about detection of root-cause and technologies such as AI, Blockchain or IoT. modern AI and ML (Machine Learning) prevention? These technologies each require their techniques into software testing. AI own, completely new strategies for enables us to automatically meet the Exactly! This is being wrongly put aside software testing. This is the only way we huge number of known requirements under the pressure of deadlines. It has to can get all the benefits of possible and conditions of use, as well as the be the other way around: The earlier we innovations. definition and simulation of unknown find errors and eliminate the causes of and totally unexpected events in the test. errors in the development process, the What does it mean for software testing? faster we will have a functioning software, We can see the development of and the cheaper it will be, because it is The continuous progress in IT makes it techniques for automatically extracting time-consuming and complicated to sort clear that we need to remain highly test cases from the software out mistakes later. Especially if the innovative as software engineers. We specification – which are also highly software is already delivered to the need to find new intelligent ways, automated using natural language customers. methods, tools and techniques to processing. This now ensures that we efficiently test this vast range of software automatically generate test cases that How do we solve the fundamental with unprecedented complexity. will immediately take any minor problem of software quality? software changes into account. We need, as I said, completely new We need a holistic approach: Quality strategies for this. These strategies must In the meantime, not only are we using Engineering. Testing individual systems is reduce the risks associated with software virtual technologies such as Robotic no longer enough in our world of deployment and improve the user Process Automation in testing, but also networking. Our holistic approach also experience and response time. real robot arms that work with software considers that environmental conditions -test machines. Real and virtual robots change, that wrong inputs are delivered, "We need more testing, will continue to automate physical as or that the software could be altered we need better testing, well as functional product tests. without authorization. All this is becoming we need comprehensive more and more likely with the increasing Quality Engineering! “ It is obvious that with the number of digitalization and virtualization of our connected systems and processes, the world. This is the reason why we Quality number of unpredictable situations is Engineers are more in demand than ever. also growing so quickly, that it cannot The costs and effects of software errors Do you already see new strategies for even be simulated in the laboratory, let are higher than before and continue to software testing, Mr. Jain? alone be tested. Therefore, we need to grow. step up the processes of quality Oh yes! There are plenty of improvements assurance, error prediction and error You are asking for a holistic approach to which I call Quality Engineering of prevention. The analysis of the historical software quality, Mr. Jain. What should software. One example is automated data logs of development and this approach look like? testing, which is permanently integrated production helps in this case, as it allows into the DevOps pipeline. This integration timely focus on the most important In general, software developers will have enables the initiation of test cases based potential sources of error. on planned software changes. This to adopt a customer-oriented way of practice is already widespread – and only thinking and working. This means: one example from many. INTERVIEW WITH PANKAJ RAI JAIN, DIRECTOR AT ACCENTURE IN MUNICH The functional and technical risk profiles Not only test execution, but also error testing. The testers must be able to handle of a software will remain to be significant identification and documentation, root this. Another example: It is possible that inputs for testing in the future. In addition, cause analysis, classification and the software is expected to be used by customer expectations will be considered distribution of errors can usually be people who have not been trained to use much more than before. Often, the performed automatically. The Quality it before. We must also take this into performance of the software is still Engineer can therefore concentrate fully account while testing. The operation of considered the most important feature on the design of new test scenarios and the software must become more intuitive that the customer expects. However, it on the analysis of the results. Routine, and simpler. could also be security for bankers, time-consuming tasks, such as obtaining innovation in the gaming sector or user and checking test data and test results, Third example: Companies have huge experience (UX) in e-commerce. The list of are largely automated. amounts of data. The question is: How can different customer expectations could be we generate meaningful test data from it? extended as desired. One thing is clear: Another example: In the digitized world, Test data with which we can minimize the The two inputs, namely, risk profile and virtually all business processes depend risk of errors and test the "hot spots" of the customer expectations will determine the on software that functions seamlessly. software effectively and intensively, quality assurance activities massively in This dependence increases with the where errors have particularly serious the future. degree of digitalization as rapidly as the consequences. And how can we avoid unexpected dependencies of the detecting errors at the last minute? AI can "We look for the flaws in the design and software itself – for example, support here as well. eliminate them before they can even dependency on other systems, on the cause errors" hardware or on unpredictable Last but not least, we can make quality environmental factors. We must prepare assurance more efficient; Thanks to AI and ourselves for this in Quality Engineering. automation, if 30 to 35 percent of the effort In addition, in the future, we should not was previously reserved for quality only look for defects in the software itself, "Quality Engineers are in demand more assurance in software development, we but also reduce the risks of than ever, because we will no longer are now able to achieve 25 percent – and commissioning.