0% found this document useful (0 votes)
14 views18 pages

GSDFFDSDSDD

hi

Uploaded by

vivek nair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views18 pages

GSDFFDSDSDD

hi

Uploaded by

vivek nair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Significance of AI in software

testing
Agenda

• Introduction

• Challenges with Traditional Automation.

• An Overview of AI and Machine Learning

• Leveraging AI and ML in Test Automation

• Other Uses of AI in Test Automation

• Tools Leveraging AI in Test Automation

• Conclusion
Introduction

• Waterfall model of software development to Agile.

• Open-source frameworks and integration with DevOps.

• CI/CD has become the bare minimum.

• Problems with automation.

• Challenges can be solved by using AI in automation


Challenges with Traditional Automation
Finding team members with required skill set Finding the right automation tool for the project

Starting from scratch (doing repetitive tasks in every new project) Flaky tests
Script updates with every minor UI change Determining test size to ensure quality of a change.

Maintaining different test suites/scripts


An Overview of AI and Machine Learning

• Artificial intelligence (AI) refers to the capability of machines to perform functions that
mimic a human mind, such as learning and problem-solving

• Machine learning (ML) is a sub-field of AI .

• Two major applications of ML are referred to as unsupervised learning and supervised


learning.

• In unsupervised learning, unlabeled data is fed into a training algorithm with the goal of
discovering patterns and relationships.

• Supervised learning, in contrast, involves human-labeled training data.


Leveraging AI and ML in Test Automation
Changing the way we identify our web elements

• Increased use of rapid web development frameworks.

• Large number of failed tests due to failure to locate desired elements.

• More dynamic Ids and other properties will be in the HTML DOM.

• Actions on these web elements involves more vigilant locator definition and extra
time if done manually

• Most traditional tools rely on the single algorithm they were built on and tend to generate frail
element locators when used for such a dynamic web page.
Visually locating an element

• Locating elements without consulting DOM properties.

• Using a visual representation, similar to what any user would do.

• Trained with a large number of known icons and then be ready to automatically identify if
any similar image, button or icon is present on the web page.

• In the test scripts, users can simply mention which type of element is targeted instead of
providing locators based on HTML DOM properties. This can be as simple as saying, “Click
on My Account.”

• An AI-powered automation tool will automatically find where the My Account icon is
on the web page and perform user action on it..
Self-Healing Test Scripts

• Changing customer expectations, our web applications have become highly dynamic

• Need of revisiting multiple test scripts.

• What if our test scripts were given the ability to do this themselves! That is exactly
what artificial intelligence can do for us.
Approaches an intelligent framework can follow to self-heal a failing script

• Correct a failing web element locator. Intelligent retry of a failing step

• Handle any unexpected error as per the error content

• Update obsolete test data resulting in error


Replace Repetitive tasks

Numerous tasks are repetitive in nature.

Page Object model is a widely used design pattern.

Automatically identify robust web element locators can further be extended to create some tools, which can
perform reverse engineering on the web application and generate page classes for us.

Most test automation frameworks also consist of Data Model classes, which often represent test data for
different web forms in our web applications.

Deriving all such Data Models by performing analysis or reverse engineering on the application under test can
also be a great use of artificial intelligence and machine learning. This will give any test automation team a
skeleton framework that is ready to start test authoring
Smart Regression

1.Pick up tests based on impacted functionality

2.Identify tests that frequently fail with a similar change

3.Which developer wrote the piece of code


Visual/Snapshot Testing

Verification of visual appearance on a web page with its baseline expected image

Traditional approach wasn’t an effective approach and tended to give unreliable results.

Helps to uncover any UI defects that are not always reported by functional test automation.
Other Uses of AI in Test Automation

Spidering

Browses through a web application and web forms on the page.

Perform reverse engineering on an AUT and identify Test Cases automatically


Test Bots doing exploratory testing on an application

Exploratory testing cannot be automated with traditional approaches

Crawling through an application and finding any unusual patterns during future test runs
Tools Leveraging AI in Test Automation
Conclusion

Artificial intelligence and machine learning in software testing is a reality and a requirement for
coming industry demands

A question might arise: As a QA engineer, should I learn about artificial intelligence right now?

You might also like