0% found this document useful (0 votes)
81 views17 pages

Stemicroproject

The document discusses using AI and machine learning to optimize software testing. It provides details on a student's micro project studying this topic, including an abstract, introduction on AI and machine learning, the advantages of using AI in software testing like increased speed and efficiency, improved quality assurance, and cost savings. It also discusses applications of AI in test automation like creating and updating unit tests and automated user interface testing.

Uploaded by

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

Stemicroproject

The document discusses using AI and machine learning to optimize software testing. It provides details on a student's micro project studying this topic, including an abstract, introduction on AI and machine learning, the advantages of using AI in software testing like increased speed and efficiency, improved quality assurance, and cost savings. It also discusses applications of AI in test automation like creating and updating unit tests and automated user interface testing.

Uploaded by

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

Program Name and Code:(22518) Academic Year: 2023-2023

Course Name and Code: Software Testing Semester: fifth

ASTUDY ON

A STUDY ON ‘AI and Machine Learning to Optimize Software Testing’

MICRO PROJECT

Sr. Roll No Enrollment Seat No


Full Name of Student
No (Sem-V) No (Sem-V)

1 9 SADIYA KHURSHID SAYED 2117340034

Under the Guidance of

PROF MRS S. INGOLE


in

Three Years Diploma in Engineering & Technology of Maharashtra State Board of Technical
Education, Mumbai (Autonomous)

SO 9001:2008 (ISO/IEC-27001:2013)

At

1734 – TRINITY POLYTECHNIC PUNE


MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION, MUMBAI

Certificate

This is to certify that Mr. /Ms.

Roll No: of Fifth Semester of Diploma

Programme in Engineering & Technology at 1734 – Trinity Polytechnic Pune, has

completed the Micro Project satisfactorily in Subject ______________in the academic

year 2023-23 as per the MSBTE prescribed curriculum of I Scheme.

Place: Enrollment No:

Date: / /2023 Exam seat No:

Project Guide Head of the Department Principal

Seal of
Institute
INDEX

Sr No. Title

1. Abstract

2. Introduction

3. Information

4. Conclusion & Reference

ABSTRACT

Software testing is a vital phase in the development of any


application. It is the process of evaluating the software's
functionality, performance, and quality to ensure that it meets the
specified requirements and operates as intended. However,
traditional software testing methods can be time-consuming, tedious,
Trinity Polytechnic Pune

and prone to human error. This is where Artificial Intelligence (AI)


comes into play.

AI has revolutionized the software testing industry by offering faster,


more efficient, and more accurate testing methods. AI-powered
testing tools can analyze large sets of data and identify patterns and
anomalies that might be overlooked by human testers. They can also
perform repetitive tests and simulations at a faster pace, reducing
testing time and costs significantly. In this article, I will explore the
benefits and challenges of using AI in software testing and how it is
transforming the industry.

Introduction

AI And Machine Learning

The concept of artificial intelligence (AI) and machine learning


(ML) are sometimes used interchangeably, but they are not exactly

Computer Department
Trinity Polytechnic Pune

the same. AI refers to a machine's capacity to carry out common


human activities like learning, thinking, and problem-solving. Using
algorithms to evaluate data, learn from it, and make predictions or
judgments based on that data is referred to as machine learning, a
subset of artificial intelligence.
AI and machine learning can be applied to software testing to
automate various steps in the testing procedure. AI-driven testing
solutions can, for instance, assess the application being tested and
produce test cases to cover important sections of the application.
Software testers can save time and effort by doing this and trust that
the most crucial portions of the program are adequately tested.
Testing data analysis and trend identification can both be done using
machine learning—enabling testers to concentrate on the
application's most important features while lowering the number of
test cases. Additionally, faults and errors can be automatically
detected using machine learning methods. Machine learning
becomes especially helpful in large-scale applications where manual
flaw detection may be more time-consuming and ineffective.

Information

The Advantages of AI In Software Testing

Increased speed and efficiency

One of the main advantages of using AI in software testing is the


increased speed and efficiency that it brings. AI-powered tools can

Computer Department
Trinity Polytechnic Pune

execute repetitive and time-consuming tasks like regression testing,


functional testing, and performance testing much faster than human
testers. This saves time, as well as reduces the risk of human error.

You can also use AI tools like ChatGPT to generate test cases in a
few seconds, by giving it the acceptance criteria. Or you can use it to
help with your software test automation efforts, by asking it to write
BDD-style test scenarios, that you can include in a test automation
framework, or even asking it to write the test scripts or to debug your
test code.
Improved Quality Assurance

AI-powered tools can enhance software testing quality by identifying


defects and bugs that might be otherwise missed. These tools can
analyze large amounts of data and provide insights that improve the
overall quality of the application under test. Furthermore, AI can
help identify patterns and trends in testing data that can help improve
the testing process and prevent defects from occurring in the
future.AI can significantly improve quality assurance. Equip your
QA team with the best software testing tools to ensure top-notch
quality.

Cost Savings

Using AI in software testing can also lead to cost savings. By


automating repetitive tasks, companies can reduce the need for
human testers and save on labor costs. Additionally, AI-powered
tools can help identify defects and bugs earlier in the software
development lifecycle, reducing the cost to fix later on and even
improving product launches.

GARTNER HYPE CYCLE

Computer Department
Trinity Polytechnic Pune

The hype curve tells us that there is a lot of excitement about


the potential of AI, which cools off before everyone gets into the
bread-and-butter, business-as-usual mode.

However, while we’re a long way from the singularity, AI in its


current avatar still has the potential to significantly improve test
automation.

How Does Machine Learning Produce Automated Tests?

1. Training: In the training phase, the machine learning model


needs to be trained on a specific organizational dataset,

Computer Department
Trinity Polytechnic Pune

including the codebase, application interface, logs, test cases,


and even specification documents. Not having a sufficiently
large training dataset can reduce the efficacy of the algorithm.

Some tools have pre-trained models that are updated through


continuous learning for specific applications like UI testing so
that generalized learning can be used in a specific organization.
2. Output / Result generation: Depending on the use case, the
model generates test cases, checks existing test cases for code
coverage, completeness, accuracy, and even performs tests. In
all cases, a tester needs to check the output generated to get
validation and ensure that it is usable.
3. Continuous improvement: As an organization keeps using the
tool regularly, the training data keeps increasing, thereby
potentially increasing the accuracy and effectiveness of
existing trained networks. In short, the AI system keeps
learning and improving.

Applications Of AI In Test Automation

Creating And Updating Unit Tests

Unit testing, often used as part of continuous testing, continuous


integration / continuous delivery (CI / CD) in DevOps, can be a real
pain in the… asteroid belt.
Typically, developers spend significant amounts of time authoring
and maintaining unit tests, which is nowhere near as much fun as
writing application code. In this instance, AI-based products for
automated unit test creation can be useful, especially for those
organizations that plan to introduce unit tests late in the product life
cycle.

Computer Department
Trinity Polytechnic Pune

Benefits:
 AI-based automated unit tests are a significant step ahead of
template-based automated unit test generation using static or
dynamic analysis. The tests so generated are actual code, not
just stubs.
 AI-based unit tests can be generated very quickly, which is
useful for a large existing codebase.
 Developers just need to modify tests and can set up the unit
regression suite relatively quickly.

Limitations:
 AI-generated unit tests simply mirror the code on which they
are built. They cannot as yet guess the intended functionality of
the code. If the code does not behave as intended, the unit test
generated for that code will reflect that unintended behavior.

This is a significant minus because the whole point of unit tests


is to enforce and verify an implicit or explicit contract.

 Unit tests generated using machine learning can break existing


working unit tests, and it is up to a developer to ensure that this
does not happen.
 Developers need to write tests for complex business logic
themselves.

Automated User Interface Testing

This is an area where AI is beginning to shine. In AI-based UI


testing, test automation tools parse the DOM and related code to
ascertain object properties. They also use image recognition
techniques to navigate through the application and verify UI objects
and elements visually to create UI tests.

Computer Department
Trinity Polytechnic Pune

Additionally, AI test systems use exploratory testing to find bugs or


variations in the application UI and generate screenshots for later
verification by a QA engineer. Similarly, the visual aspects of the
System Under Test (SUT) such as layout, size, and color can be
verified.

Benefits:
 Automated UI testing can lead to increased code coverage.
 Minor deviations in the UI do not cause the test suite to fail.
Product AI models can handle these.
Limitations:
 For any modern application, the number of platforms, app
versions, and browser versions is large. It is not clear how well
AI-based UI automation performs under these conditions.
However, cloud testing tools can execute tests in parallel, so
this is going to be an interesting space to watch!

Using AI To Assist In API Testing


Even without AI, automating API testing is a non-trivial task since it
involves understanding the API and then setting up tests for a
multitude of scenarios to ensure depth and breadth of coverage.

Current API test automation tools, like Tricentis and SoapUI, record
API activities and traffic to analyze and create tests. However,
modifying and updating tests require testers to delve into the
minutiae of REST calls and parameters, and then update the API test
suite.
AI-based API automation testing tools attempt to mitigate this
problem by examining traffic and identifying patterns and
connections between API calls, effectively grouping them by
scenario. Tools also use existing tests to learn about relationships
between APIs, use these to understand changes in APIs, and update
existing tests or create new scenario-based tests.
Benefits:
 For novice testers or those without programming experience,
this could be really helpful to get them to “hit the ground
running”.

Computer Department
Trinity Polytechnic Pune

Once again, change management would be significantly easier


given that at least some of the API changes can be handled by
an AI automation tool.
Limitations:
 In general, API testing is difficult to set up, and not many tools
offer machine learning based capabilities in this space. The
ones that do seem to have pretty rudimentary capabilities.

Automation Test Maintenance

AI-based tools can evaluate changes to the code and fix several
existing tests that don't align with those changes, especially if those
code changes are not too complex. Updates to UI elements, field
names, and the like need not break the test suite anymore.

Some AI tools monitor running tests and try out modified variants
for failed tests by choosing UI elements based on the best fit. They
can also verify test coverage and supplement the gaps if needed.

Automated Test Execution

AI technologies can automate test execution, reducing the need for


human intervention and saving time and effort. This means more
time for exploratory testing by the manual testing team.

AI-powered test automation tools can execute test cases


automatically and provide detailed reports on the results. These tools
can also analyze the results and identify defects and bugs that need to
be fixed. Some popular test automation tools that use AI for
automated test execution include Testim and Katalon Studio.

To maximize the benefits of AI in software testing, consider


integrating specialized test management software into your
workflow.
Self-Healing Capabilities

Computer Department
Trinity Polytechnic Pune

AI-powered testing frameworks can detect and fix defects


automatically, reducing the need for manual intervention. These
frameworks can analyse the testing data and identify defects that
need to be fixed. They can then apply the necessary fixes
automatically, ensuring that the application is functioning correctly.

For example, some tools have the option to automatically update


XPaths or other locators for web applications. Popular AI-based
software testing tools that use self-healing capabilities include
Testim and Healenium.

Challenges Of AI In Software Testing

But of course, nothing good comes without some hurdles, and


artificial intelligence is no exception. Here are two of the most
significant challenges of AI in software testing:

Long Learning Curve

The steep learning curve of AI in software testing is one of its


biggest challenges. Effective usage of AI-powered testing tools
necessitates extensive training and knowledge. This can be difficult
for software testers unfamiliar with AI technologies. Additionally, it
may be challenging to integrate AI-powered testing technologies into
current testing processes due to their complexity. To make sure that
their testers have the ability to use AI-powered testing solutions
effectively, companies need to engage in training and education. that
their testers have the necessary skills to use AI-powered testing tools
effectively.

Difficulty of Debugging

The complexity of debugging is an additional challenge that comes


from AI in software testing. Testing software with AI capabilities

Computer Department
Trinity Polytechnic Pune

can provide a lot of data, which can be challenging to understand and


comprehend. Additionally, it may be difficult to pinpoint the primary
cause of errors and problems due to the complexity of AI algorithms.
Software testers may find it challenging to effectively resolve bugs
and flaws as a result. Businesses must make an investment in the
systems and procedures that will enable them to efficiently examine
and interpret the test results produced by AI-powere d testing
solutions.

Tools For AI Software Testing

As of now, there are dozens of companies in the software testing


space that leverage AI in software testing. Let’s have a look at some
popular AI testing tools.

Tricentis Tosca

Tosca is an enterprise tool used for end-to-end automated testing of


software applications. Some of the key features offered by this
system include model-based test automation, risk-based test
optimization, and vision AI. The Vision AI element of this tool
automates and adapts testing using the capabilities of AI. By fusing
deep convolutional neural networks with clever algorithms, it
produces dependable, self-healing, platform-independent UI
automation tests.
Parasoft

It is an automation tool for testing at any stage of the software


development life cycle, from code analysis to user interface testing.
It is a multi-component test suite that recently included AI and ML
to help businesses deploy static analysis. The AI solution from
Parasoft can identify errors before they cause problems, ensuring that
a variety of functional safety, security, and code standards are met. It

Computer Department
Trinity Polytechnic Pune

reduces the workload on teams and ensures that pressing design


issues are taken care of first.

Applitools

Applitools is an AI-powered platform for visual testing and


monitoring, also known as a next-generation test automation
platform with Visual AI. Applitools Eyes, one of its key features,
assists in boosting test coverage and lowering maintenance. The
Ultrafast grid can speed up functional and visual tests by 30 times
and assist with cross-browser and cross-device testing. Many of the
current test frameworks and existing testing tools, such as Selenium,
Appium, Cypress, etc., are compatible with the Applitools platform.
Mabl

Mabl is a more recent testing tool in the market that focuses on using
AI and machine learning to help testers with their efforts. It runs the
default tests that are typical for most applications and crawls the
screens of the given app. It also makes use of machine-learning
algorithms to enhance test execution and defect detection along the
way. Additionally, you can train Mabl to understand trips in your
application that describe the functionality Mabl will test by using the
Mabl Trainer Chrome Extension.
UI Path Test Suite

UiPath Test Suite integrates RPA (Robotic process automation)


technology with testing capabilities to speed up testing and cross-
enterprise cooperation and provide a consistent strategy for
developing and implementing automation. Some of UiPath’s main
components are the Test Manager, Studio Pro, Orchestrator, and
Robots. Additionally, it has an intuitive UI and encourages
collaboration through reusable artifacts.

Computer Department
Trinity Polytechnic Pune

Computer Department
Trinity Polytechnic Pune

Conclusion

Artificial intelligence has had a significant impact on testing tools


and methods in general, and test automation in particular. An
overview of the current tools promising AI shows that, while many
new features are being added, several of those features are still on
their way to maturity.

AI is no longer a thing of the future—it is part of our lives now,


especially our professional lives. And it’s a good thing, too, because
it can be used to make our jobs easier.

Whether we use bots like ChatGPT to answer our questions, provide


test scenarios and test data, or AI-powered tools to increase test
automation coverage and reliability, artificial intelligence is a great
tool to reduce manual work and improve productivity.

Computer Department
Trinity Polytechnic Pune

Reference

https://theqalead.com/ai-ml/ai-in-software-testing/

https://theqalead.com/ai-ml/ai-test-automation/

https://www.spiceworks.com/tech/artificial-intelligence/guest-article/ai-and-machine-learning-to-
optimize-software-testing/

Computer Department

You might also like