AI in software testing

Probably if you google the heading, you will get all the information which is going to be there below. I am just trying to structure my thoughts on how I am seeing AI helping/can help in software testing eventually improving software quality.

Software testing essentially is a process by which you get sufficient confidence and assurance that incremental release of the product will not break existing functionality and the new features/capabilities released incrementally will work as desired. Easier said than done ..given the pace at which new releases/changes/experiments are required to goto production in market and given the complexity involved in architecture, usage patterns and other variables involved.

In these times, AI can add considerable value and transform software testing by automating several tasks which takes time..say testcases generation, smart execution of test suites by selecting relevant testcases, Test data generation, Improving defect detection rate etc. Lets dive in...

Testcases: In the space of testcases generation, AI can be used to observe/learn from application usage patterns and observability tools. This should essentially give most used flows (and hence critical paths) of the application which needs assurance and deeper and wider testcases coverage in them should make the regression suite bulletproof. There are some tools like testim, functionalize etc which are doing some parts of this already.

Automation: Biggest pain of test automation is maintainability. AI can help here effectively by learning from execution history and predicting/flagging problem areas which can give more failures in automation execution. AI can also help with self healing scripts which essentially update themselves when UI elements/layout changes. This is very pertinent requirement given the rate at which businesses want to experiment with UI screens/flows to hit that customer sweet spot. AI can also help in clearly defining what needs to be run in test automation, prioritizing testcases. Some plugins are available for Jenkins which does this.

Defect Data Analysis: Looking at historical data of defects can be a good training data for AI models which can predict where bugs can be in future. They can flag product areas and any other patterns which can greatly help development team focus and put measures to improve on incrementally. Same can also be extended to support data. Various metrics and data captured in support processes can be used to analyze "problem" areas of the product and its usage. This can set the priority for product/design team to work on...essentially bringing down support costs and creating customer delight. "Smart" analysis of support data can also give several improvement points to quality engineering team.

Perf and Sec: Moving outside functional testing to 2 other important aspects of quality namely Performance and Security. Crux of performance testing is "how you test" and "how/what you infer" from the results leading to "actions taken". Here AI can certainly help in finding patterns and flagging anomalies. AI can also help generate real world user scenarios for stress testing and load testing. Similar usecase in security testing too where AI can help mimic real world usage and run pen tests which are more effective than targeted pen tests run by humans. AI could also help in coding phase itself, analyzing patterns and flagging risks and showing mitigation suggestions for the developer.

Overall I see multiple opportunities for AI to better testing and improve efficiency. Talking about shift left, AI can make huge impact in code review phase by suggesting improvements and catching bugs early in the cycle. Several tools/plugins are available already for this. In terms of maintaining uptime and service quality, several applications are there in observability space. Devops can greatly improve in terms of predicting events, taking preventive actions and finding optimizations in resources usage by application of AI.

What are your thoughts on this? Happy to engage...please comment!

Shelley Zhao

Senior Test Manager | Agile Delivery| AI Empower

3 天前

We all pretty sure the ai can empower in software testing while the comprehensive AI test framework solution is still on the way

回复
Amit Kumar Joshi

Selenium | Java | Mavan | Jira | Cypress | TestNG | Jmeter | Rest Assured | Linux OS| Cucumber | Agile methodologies

1 周

Very informative Sameera Ramachar, I am using chatgpt and copilot in my automation it’s really helping to genrate test cases and debugging/fixing broken script. Also suggesting edge cases to be add.

要查看或添加评论,请登录

Sameera Ramachar的更多文章

  • Timing is the key!

    Timing is the key!

    I will give 2 examples to set the context first..

  • Coach-ability - State or Condition of being coach-able

    Coach-ability - State or Condition of being coach-able

    Coach-ability, as you might know means that a person is receptive to feedback, to receiving constructive criticism, and…

  • 9 "Quotes" on Software Testing

    9 "Quotes" on Software Testing

    Some interesting quotes on software testing which pretty much capture what it is all about !! "Testing is the process…

    2 条评论
  • API Security testing - Starter kit

    API Security testing - Starter kit

    API (Application Programming Interface) security testing is an essential part of ensuring the protection of sensitive…

    1 条评论
  • Employee Vs Management

    Employee Vs Management

    Some one sent this pic in a ex-employees whatsapp group and this initiated a chain of discussion. I am penning down my…

    1 条评论
  • My thoughts on near perfect CV

    My thoughts on near perfect CV

    CV or Résumé is a written overview of a person's experience and other qualifications typically used for securing a job…

  • Slack Overflow!

    Slack Overflow!

    Context: Most of the companies use messenger type of applications for faster communication either internally or…

  • Hacks for efficient management of Software Development teams

    Hacks for efficient management of Software Development teams

    Here are my thoughts on how to effectively lead and manage high performance software development teams. Please feel…

    1 条评论
  • You are only as good as...

    You are only as good as...

    You are only as good as your code is on production! I heard this weird sounding statement from a tech leader couple of…

    1 条评论
  • Stitching Quality

    Stitching Quality

    In software industry, one of the biggest challenges is to translate user requirements and develop software in the way…

社区洞察

其他会员也浏览了