INTERVIEW WITH PANKAJ RAI JAIN, DIRECTOR AT ACCENTURE IN MUNICH

»FROM TO 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 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 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 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. We, software engineers, be able to afford software errors in the the trend continues to decline. But AI will must therefore identify and weigh all risk future!" continue to lead us, for example in parameters – and then mitigate these risks containerized software environments. as far as possible. This is exactly where Here, we try to automatically generate Quality Engineering of the future must How can this be achieved, Mr. Jain? end-to-end test cases with AI-support. So begin. far, these test cases must be created We must develop new forms of testing manually, which is inefficient and prone to On what basis do you finalize these AI -systems, such as chatbots, cross up - errors. improvements in Quality Engineering, Mr. selling (composite sales) Jain? recommendations, and campaign management systems. Testing AI- For example, the degree of automation. systems to avoid systematic errors and Just consider the automation of identify false results, or continuous regression tests. training of self-learning algorithms present new challenges for software

INTERVIEW WITH PANKAJ RAI JAIN, DIRECTOR AT ACCENTURE IN MUNICH

Shouldn't testing itself be simpler and Software has become a disruptive force are in high demand and they are always more agile? in all industries and has the potential to growing. The area is still very new and is significantly influence business rapidly developing. Yes and no, while the current testing strategies. This potential must be used. scope becomes simpler and faster, new However, to make companies truly more So, what are your advice and suggestions challenges and increased requirements intelligent and less susceptible to failure, for software testers, Mr. Jain? are added. The time window available for they need to take the design, testing is getting smaller due to the agile development and testing of their Not only do we need more testing, we methods of software deployment. software to a whole new level. need better and smarter testing, we need Therefore, in addition to massive comprehensive Quality Engineering! And automation, new ideas are needed as to With the growing prevalence of IoT and an understanding that we are not just the how and what exactly should be tested. AI systems, the significance of testing last line of defense, but a crucial part of the continues to grow rapidly. What kind of whole process. What makes things more complicated: It tools, techniques and best practices do affects a very wide range of different we need in the future? The quality of the software can lead a software technologies. Both legacy - company to success or closure overnight. systems as well as completely new, very Testing AI-systems is an evolving area. A Just imagine: An error in a credit card innovative applications must be tested. very relevant topic, for example, is how transaction or in the supply chain can This is a major issue, especially for to test for unconscious human impede an order, a failure in the video transformation and migration projects, prejudices that are infiltrating into these conferencing system can hinder an such as the migration to SAP S/4HANA or systems. We have our test platform for important conversation, a failure in the the current implementation of migrating AI-systems, "Teach & Test", which is embedded software of a medical device IT-systems to the cloud. helpful in such scenarios. The IoT-field is can delay a life-saving decision, a failure similarly comprehensive. We need to in the flight system can put many people Is it expected that the testers deliver their test the devices for accuracy of the at risk. Therefore, be very proud of what results more quickly despite all these actions, signals, and data generated at you achieve by eliminating software challenges? the time of installation, and then errors. continuously verify that the device still Absolutely, yes!! Those times when we functions properly. And for instance, we Software quality expectations are were granted several months to conduct need to do these tests on devices that becoming increasingly complex and the necessary test cycles are long gone. cannot be physically reached, because difficult to achieve. We must therefore Thanks to test automation, we are now the application of IoT-devices ranges constantly find innovative ways to meet able to run all test cycles in days instead from a coffee machine at home to a these expectations. As of now, I cannot of months. But that will not be enough in nuclear reactor. say definitely how we are going to do that. the future. We need faster and smarter Except just one thing: There is no choice. testing in real-time, and we need proactive I don't have any personal experience We must be successful! testing of deployment scenarios, which with the developer hasn't thought of yet. In Io- testing in such a broad scenario, but I Mr. Jain, thank you for the interview! addition, we must be able to develop a test see that test systems for simulating strategy for these scenarios as soon as devices and intelligent product testing possible.

The person

At Accenture, Pankaj Rai Jain has been a managing director since 2004. He is also currently Lead of Quality Engineering in Europe. The experienced IT expert supports clients in developing and implementing their IT strategies and global IT programs. One of his goals is to achieve more efficiency and agility for customers beyond the pure automation of processes. However, he is also concerned with reducing quality costs, accelerating the introduction of new products and ensuring the highest possible quality of IT services, even in complex digital IT landscapes. Accenture is one of the world's largest service providers in the areas of business and strategy consulting, technology implementation and operations, and outsourcing. The group has extensive experience and specialized knowledge in more than 40 industries - concentrated in the world's largest network of innovative technology and operations centers. Behind these services, Accenture has more than 500,000 people serving clients in more than 120 countries.