Personal tools

AI Software Testing

(The City of Chicago - Alvin Wei-Cheng Wong)


- Overview

AI software testing uses AI-powered tools to improve the efficiency and effectiveness of software testing. AI testing differs from traditional software testing, which relies primarily on manual efforts. 

AI testing uses machine learning (ML) and predictive analytics to help testers find bugs faster and more accurately. 

AI can help with software testing in several ways, including: 

  • Generating test cases: AI can automatically generate test scripts based on user interactions.
  • Analyzing data: AI can analyze large amounts of data and identify patterns.
  • Detecting defects: AI can detect defects, vulnerabilities, and performance issues that may be difficult to detect manually.
  • Learning from past tests: AI uses ML algorithms to learn from past tests and improve test case quality.
  • Adapting to changes: AI-powered test automation tools can identify and adapt to changes in the application's user interface, which can reduce maintenance.

AI can help testers by:

  • Giving them time to create better testing methods
  • Giving them time to write better test scripts
  • Giving them time to devise ways to craft the best possible user experience

There are two main approaches to implementing AI in software testing: 

  • Rule-based techniques
  • ML techniques

Some examples of AI-powered software testing tools include: 

  • OpenText UFT One: A tool for automated functional testing and regression testing
  • Sofy.AI: A no-code, AI-powered quality automation tool that uses AI to test mobile apps on a number of Android and iOS devices


- Will AI Take Over Test Automation? 

AI software testing is a process that uses AI to evaluate a system's functionality, performance, and reliability. AI testing uses the same core techniques as traditional software testing, but AI technology has improved them.   

AI is not expected to completely replace human testers. AI can help software testers with tasks like:

  • Creating test cases: AI can help software testers design test cases, but it can't replace the creativity and judgment required to create effective test cases.
  • Foreseeing problems: AI can help foretell problems.
  • Improving performance testing: AI can improve performance testing.

AI is currently mainly beneficial for basic and repetitive tasks. It's unlikely that AI will replace high-value software engineers skilled in building complex and innovative software anytime soon. 

Some say that AI will augment and empower the software industry. Recent projections by the Bureau of Labor Statistics (BLS) highlight the ongoing and growing demand for software developers, partly driven by the need to implement and manage AI technologies.

AI will improve the speed and productivity of building software, but it will not yet be able to build the software and assure its quality autonomously. If I were a full-time software tester today, I would not worry about AI taking my job. I would worry about how I can test the AI.


[More to come ...]


Document Actions