Quality engineers devote considerable time to identifying the appropriate set of objects and writing a large number of test scripts and test cases. Our case involves a regionally prominent bank that was developing a loan origination and disbursement process. The business desired to develop an application that would automatically generate scores for leads on a daily basis, as customer information was constantly being updated and the criteria for flagging a lead as purse or not-purse could change as additional details became available, altering the probability of sanctioning the loan. Changing data points and features necessitates changing test cases and test scripts, which created havoc for the team. Artificial intelligence techniques enabled us to generate test scripts autonomously based on both baseline and newly added features. How does it work?
- Identify key topics of use cases, requirement documents
- Analyze application code using advanced Deep learning-based techniques
- Generate test cases for data pipelines and modules
- Generate test scripts based upon acceptance criterion and KPIs
- Predict foreseen bugs and severity and prescribe the suitable solution?
GPT3 with 175 billion parameters was the backbone of all these experiments. Test cases were framed quite good per requirements and application code.
Every day new data brings another challenge of data ingestion, integrating with other pieces of the puzzle to get business insights in time. To handle this challenge, we used CI/CD pipelines for Data Ingestion which covers:
- Validation and Compliance
CI/CD pipeline is a group of steps that must be performed in order to deliver a new version of software.
After CI/CD pipelines, we do not need to wait for final ingestion module to Integrate with other part of the project, so we have all the time latest data and code integrated.
Figure: Diagram 2
Now, through the use of AI algorithms, we have test scripts and test cases scheduled to be accepted as new data arrives.
An AI algorithm analyzed test cases and test logs to identify functions that were highly malicious, along with a probability score, in order to take appropriate action and automate even self-healing techniques in the future. AI-based program enables round-the-clock operation of lead scoring applications, while testers can execute tests as and when required with no reliance on application execution. Above all, it occurs in real time, which improves precision and accuracy.
For this use case, AI algorithms have been integrated into the various stages of the software lifecycle.
Self-learning and self-healing pipelines enabled models to become more intelligent with each consumption and decision.
At the lead generation stage, due to the large number of data sources – structured and unstructured – it is not possible to ingest and feed everything to determine whether or not intelligence decision making is occurring, and it is also a lengthy, expensive, and time-consuming exercise. By analyzing historical project data and QA costs, AI systems were able to forecast the cost of quality across the software lifecycle and the priority of each feature.
AI was extended to predict which modules or components in the software code are likely to have more defects, assisting in the definition of more effective testing strategies, automating test design, and increasing test coverage. AI analyzed production data to determine which procedures and functions are frequently used. We predicted what changes might be required in specific modules based on this insight, thereby reducing the time and effort required to design and execute regression tests, which could have taken considerable time in rolling out the solution for final decision making.
By mining patterns from the previous release's defect, root cause, severity, and discovery phase, we identified the most likely defect for the next release and automated the optimization of relevant test cases and test scripts.