Hitech Bytes

AI in Software Testing: The Next Frontier of Evolution

 
January 28, 2020

Today’s techno-complex world demands fast-paced innovation, as enterprises compete to gain first mover advantage by introducing key features and new products in record time. Accelerating time-to-market requires that enterprises’ core IT resources and domain experts be available to think out-of-the-box, brainstorm new ideas, and run quick pilots to validate them. In addition, the expectations from software testing have also evolved considerably over the years, and today, it is more to do with real-time risk assessment than simply testing functionality. Unfortunately, most organizations are not equipped to step up their testing game. Most either face a resource crunch, as skilled testers are expensive, or the majority of available resources are perpetually racing against release cycle time, which has become even shorter and iterative. As a result, skilled resources often spend majority of their time managing and executing project operations, rather than driving innovation. As organizations struggle to accelerate time-to-market, using the right technology in the software development and testing cycle can play a crucial role. Artificial intelligence (AI) with its ability to ‘think, learn, and do’ has emerged as the answer to all testing woes.

AI – The software testers’ new BFF

AI lends cyber systems and physical devices the ability to think and make decisions, thus finding numerous applications, from the very advanced self-driving cars to the application of chatbots in a number of industries. In software product development and testing, the application of AI holds enormous potential, though it is currently at a nascent stage. AI-driven testing can hasten the product lifecycle and directly drive up an organization’s revenue.

Let us explore what impact AI can have in software testing.

#1 Enabling robust test automation

Test automation in continuous integration or continuous deployment has mostly been limited to automated regression testing, with some automation used in test data creation. Using AI in the form of a system bot can take test automation beyond the regression suite.

A bot can determine whether a test has passed or failed. If a test has failed, the bot can perform reverse engineering and trace the test case back to the requirement and the user stories linked to it. This kind of automated traceability sets the stage for a comprehensive defect logging process, saving the manual effort of testers. The software tester can then spend his/her time on training this new AI system instead. In case a test has passed, then that feature can be moved into production, allowing the tester to focus on other aspects of the testing process.

Besides this, AI can conduct code inspection, to identify concerned areas of code, and make suggestions or recommendations on those areas that need correction. Such a procedure would provide the developer a reference in the future to auto generate defects and also offer a clue to the problem area. This helps optimize the overall testing lifecycle and any additional analysis work. With the first level of analysis done by the AI bot, developers and testers can get more time to be a part of business meetings and contribute towards innovation by leveraging their highly valuable on-ground experience.

#2 Aiding informed decision-making

AI’s application in tracking changes and marking the possible areas of impact in the existing user stories helps make the necessary changes to create the next version of release. This accelerates decision-making and helps testers plan releases in a more organized way.

With its ability to think, an AI system can be implemented in manual or automated test suites. It can recommend a prioritized and optimized set of test beds based on user stories of a current release cycle. Leveraging the business process flow and user story diagram, the system can then generate the missing test cases.

Embracing a new dimension to software testing

As organizations race to get a competitive edge in the market, forecasting software testing scenarios will be a key capability in the future – an area where AI can make significant impact. If enterprises are able to accurately forecast requirements for software testing, they will gain the ability to analyze customer data for the most recent products and features that they need, thereby accelerating and redefining the whole process. Clearly, the age of AI and machine learning-driven intelligent software testing is upon us. Enterprises that become early adopters will ensure efficacy in high velocity software rollouts, which will ultimately lead to superior business outcomes.

Jyoti Mishra is a presales consultant with the Digital and Enterprise Transformation group of TCS’ HiTech business unit. She has worked on key strategic deals in automation, and has set up test centers of excellence for software product and professional services companies. She has been certified by the International Software Testing Qualifications Board and holds a bachelor’s degree in electronics and communication engineering.