ArticlePDF Available

Artificial Intelligence in Software Test Automation: A Systematic Literature Review

Authors:

Abstract

The main aim of this paper was to review how artificial intelligence works in software test automation. When it comes to software engineering, artificial intelligence (AI) has had a significant influence, and software testing is no exception. With artificial intelligence (AI), the goal of software test automation may be closer than ever before. To some extent, the paradigm has changed during the previous two decades [1]. Everything about the testing process has been a positive experience, starting with manual testing and progressing to automated testing, where Selenium is acknowledged to be one of the best test automation tools. As a result, in today's high-speed IT landscape software testing must come up with fresh testing approaches that are based on solid research. The emergence of AI-based testing has been very beneficial for this aim [1]. A computer's ability to learn without human involvement may be fully simulated by AI algorithms and machine learning (ML). While AI and ML entail the construction of distinct and unique algorithms to access data and learn from it by identifying patterns to make conclusions, these predictions are intended to be employed in software testing to their full potential [1].
© 2019 JETIR December 2019, Volume 6, Issue 12 www.jetir.org (ISSN-2349-5162)
JETIR1912176
Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org
1329
Artificial Intelligence in Software Test
Automation: A Systematic Literature Review
Abstract The main aim of this paper was to review how
artificial intelligence works in software test automation.
When it comes to software engineering, artificial
intelligence (AI) has had a significant influence, and
software testing is no exception. With artificial intelligence
(AI), the goal of software test automation may be closer
than ever before. To some extent, the paradigm has
changed during the previous two decades [1]. Everything
about the testing process has been a positive experience,
starting with manual testing and progressing to automated
testing, where Selenium is acknowledged to be one of the
best test automation tools. As a result, in today's high-speed
IT landscape software testing must come up with fresh
testing approaches that are based on solid research. The
emergence of AI-based testing has been very beneficial for
this aim [1]. A computer's ability to learn without human
involvement may be fully simulated by AI algorithms and
machine learning (ML). While AI and ML entail the
construction of distinct and unique algorithms to access
data and learn from it by identifying patterns to make
conclusions, these predictions are intended to be employed
in software testing to their full potential [1].
Keywords: Artificial intelligence, automation, Software
test automation, software engineering, AI systems
I. INTRODUCTION
The significance of technology in our professional and
personal life constantly changes at a breakneck rate, and we
must keep up with it. The digital revolution is now affecting
every part of life, from household appliances to virtual
reality headsets. To an international audience, companies
create applications utilized by hundreds of thousands or
perhaps million worldwide [2]. The agile quick delivery
methodology is used by the vast majority of those
companies, resulting in fresh launches every two weeks on
average. These programs must be thoroughly tested before
each launch to provide the best possible experience for the
end-user. Manual testing cannot keep up at that rate. Every
company, no matter how big or little, views software and
application testing as a critical phase in the development
cycle. There are several important components of a
program that are validated by this process [2]. To be sure,
manual testing gets more inefficient, time-consuming, and
expensive as software expands and new functionality is
introduced. Test automation, which automates critical
processes & operations in detail to boost the quality &
effectiveness of human testers, is increasingly being added
to prevent such concerns.
In software development, the usage of artificial
intelligence (AI) is still in its development, and the amount
of autonomy is still considerably lower than observed in
more mature fields of work including such self-driving
systems or voice-assisted control, but it is still moving
towards autonomous testing. In software testing tools, AI is
being utilized to make the software development lifecycle
simpler for the team working on the product. In software
development and testing, artificial intelligence (AI) may be
used to automate and minimize the number of dull and
laborious operations that must be performed manually
[2,3]. We must make certain that the test is always
performed with an empty cart before adding any products.
This helps to avoid distorted findings and adheres to sound
automation principles. "Maintenance" is the largest issue
with test automation. As software complexity rises, we
must write more tests to keep up. It's because of this that
we're swamped with testing and maintenance. It takes a lot
of time and effort to debug and resolve tests that fail.
Recent research shows that maintaining tests takes roughly
40% of the time spent by testers [4].
II. PROBLEM STATEMENT
The main problem that this paper will address is to
review artificial intelligence in software test automation.
Automated software testing has a major difficulty, which
will be examined in detail in this paper. As a result of a lack
of intelligence and premature human involvement, today's
technologies are forced to cope with ineffective test runs
[5]. As a result, there will be no way to identify test
mistakes, code flaws, or other important obstacles in the
testing environment. When it comes to testing, artificial
intelligence makes it possible for users to move over their
current challenges and improve their productivity. Instead
of prioritizing the feature's testing, most teams just assign
that task to whoever happens to be available at the moment
[5]. To test software effectively, we need testers that are
inquisitive about the product and have a critical
perspective. These testers should question the product and
assess it objectively.
III. LITERATURE REVIEW
A. An Overview of Artificial Intelligence for
Software Testing
Software testing is a critical step in ensuring the
application's customers are satisfied. Test automation is
carried out in a controlled manner in which an application
is monitored under specified situations, allowing testers to
gauge the threshold and potential dangers associated with
the software's deployment [6]. In software testing, artificial
intelligence (AI) aids in the prevention of application fail-
overs that might be costly to both the program and the
company in the long run. Tests using Artificial Intelligence
are becoming more important as AI becomes increasingly
prevalent in our daily lives. Even with autonomous driving
automobiles, there is still the risk of human lives being
endangered if the car's intelligence isn't working correctly
and it makes the incorrect judgment or responds too slowly
[6]. An introduction to the advantages and requirements of
Dhaya Sindhu Battina
Sr. Data Engineer & Department of Information Technology
CA, USA
© 2019 JETIR December 2019, Volume 6, Issue 12 www.jetir.org (ISSN-2349-5162)
JETIR1912176
Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org
1330
artificial intelligence in software testing will be provided in
this article. Robotic testing is in charge of carrying out
routine activities more accurately and quickly.
Figure I: Framework for software test automation
B. How is Artificial Intelligence Shaping the
Dynamics of Software Testing?
We're leaning more and more on AI to make the
application more secure (AI). We may be handing over
much of the testing to AI as it becomes more automated.
So, instead of human-driven testing, we're heading towards
a situation where robots execute test scripts in place of
people [6]. Machine learning and self-improvement will
need some human input, but it will be minimal. Hence, the
creation of a group focused on the Grand Dream of Testing
has become critical, where everything is automated without
human interaction and technologies provide superior
testing than existing application test teams [6,7]. Consider
going one step further and imagining an environment where
software can test, diagnose, and cure itself on its own.
C. Artificial Intelligence-enhanced Software tools
Model-Inference driven testing (MINTest) is used for
software test automation and may be used to generate test
cases using the C4.5 method. It describes itself as a
framework for unit and integration testing on its website
[7]. It is implemented for the Linux operating system (OS).
Using AutoBlackTest (Automated Black-Box Testing), the
supervised learning method known as QLearning is
implemented. The tool's primary purpose is to generate
GUI test cases automatically. GitHub says it's only
compatible with IBM Rational Functional Tester running
on Windows [7,8]. It's impossible to determine if the
program works with Windows OS versions higher than 8.1
and JRE based on the evidence currently accessible.
AimDroid is a GUI testing platform for Android apps
created by Google. Exploration of the app's activity is used
for automated testing. Using the program, tests may be run
and results reported to the user. Fusing was employed as an
AI enhancement [8]. One of AimDroid's drawbacks and
concerns is that the smartphone must be rooted: the user of
the device is given root access.
To fix GUI test breakage, Vista makes use of computer
vision technology from the past. A successful test is
recorded in the web-based GUI. It is possible for Vista to
restore test scripts that fail on a subsequent version of an
application by comparing their current status with what was
documented before. In specific Selenium scripts, the
program presently supports repairing Java scripts. To write
GUI tests, you may use the Sikuli Test, an algorithm that is
efficient that lets you use the visual notation (such as an
image of an element to help identify it on the screen) while
utilizing visual notation. The program makes automated
testing easy for the users by using computer vision. Sikuli
Test was created to run on any operating system. Because
of this, it may be used to test personal computers, online,
and mobile (Android) apps [8]. The tool seems to be
actively being developed as SikuliX at the moment.
Testilizer can generate test scenarios for software
applications leveraging SVM from Selenium scripts that
are already in existence. It starts with Selenium tests and
may create additional test cases for application states that
haven't been reached yet. It's necessary to have Crawljax
installed before running any tests on that system [9].
Automating Android GUI tests is made easier using
SwiftHand's GUI test automation features. This approach is
used to explore the model of the graphical user interface
(GUI) of the program under test [10]. SwiftHand then
makes use of it to produce the necessary inputs for
inspecting the software's previously unvisited levels.
SwiftHand is compatible with Linux and Mac. The tool's
GitHub source has comprehensive installation and uses
instructions [11].
D. The Importance of Artificial Intelligence in
the Software Testing Process
In the field of software development, software testing
is a critical step in the process. Nevertheless, due to the lack
of resources and time, programmers are often unable to
perform comprehensive testing (a test technique in which
all conceivable data configurations are tested) on
applications. To automate recurring patterns, we want a
system capable of intelligently recognizing areas that will
be developed and more concentrated. The greatest time,
money, and resources go into software testing. In addition,
developers are looking for speedier releases, and Artificial
Intelligence is a good solution [12]. A human tester adds
unnecessary expenses and energy since 80 percent of
testing consists of repeating tests that the software already
has. Artificial Intelligence may assist automate these
procedures more effectively. To discover application
difficulties, it would be a good practice to use both
cognitive abilities and AI automation to create unique and
novel software systems. Repetitive labor should be
automated using Artificial Intelligence, such that just 80%
of testing processes need human creativity and thinking
[12].
When it comes to creating smarter and more efficient
applications for end-users, artificial intelligence algorithms
may be a huge assist in the testing sector. However,
understanding how Artificial Intelligence (AI) may be used
wonderfully is critical. Artificial intelligence algorithms
that access automation in the same way as an actual human
would. The next step is to identify the parts of the process
where Artificial Intelligence may improve performance,
and then use a machine learning or learning techniques
algorithm to do so [13]. An algorithm that encourages the
process, aids testers in finding the most problems in the
shortest time, and increases the reliability and accuracy of
the application is a plus [13]. Developers may then utilize
the results to iterate on the product and learn from their
mistakes.
© 2019 JETIR December 2019, Volume 6, Issue 12 www.jetir.org (ISSN-2349-5162)
JETIR1912176
Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org
1331
E. The advantages of using artificial intelligence
in software testing
Fig i: The benefits of integrating Artificial Intelligence in
Software Testing
i. Enhanced Precision
When doing frequent manual software testing, even
the most seasoned tester is prone to make errors. To aid
with this, automated software tests conduct the same or
repeated tasks properly every time, ensuring that accurate
findings are recorded every time. The time saved by
automating manual testing allows the testers to work on
more complex features and new automated tests.
ii. Beyond Manual Testing's Restrictions
It is almost hard for even the largest software
development/quality assurance organizations to conduct
controlled web application testing involving 1000+ users.
One may mimic tens, hundreds, or thousands of virtual
users using automated testing, and these people can then be
combined with a web-based application, program, or
network [13].
iii. Benefits for developers and testers.
The developers can detect issues faster by using shared
automated tests before submitting them to the QA team.
Tests may be performed periodically anytime the source
code is modified, checked in, and failures can be reported
to the team or the developer. These kinds of features
provide developers more confidence and save them time at
the same time.
iv. Increasing the total number of tests
conducted
It's possible to do more tests with more depth and
breadth thanks to automated software testing. Automated
software testing may examine the contents of memory and
files, as well as internal program modes and datasets, to
evaluate whether or not the software is working as it should
under certain conditions. Overall, software test automation
allows for the execution of over 1000 distinct test cases in
a single test run, providing coverage that is not feasible
with human software testing [14].
v. Time and money saved equates to a quicker
time to market
Manually performing such tests may be time- and
money-consuming when software tests are redone after
every modification in the source code [15]. However, once
they've been written, automated tests may be reused
indefinitely at no extra charge and a significantly faster
rate. Software testing may be done in a matter of hours
rather than days, saving time and money.
IV. FUTURE IN THE U.S
The automation of software testing is advancing
rapidly in the United States. The software industry's long-
term prospects. The usage of tools to assist with testing will
be a part of test automation. According to an InfoWorld
study, 88% of firms automate 50% or more of their tests,
which results in quicker testing cycles, 71% higher test
coverage, and 68% better problem detection. Many
American organizations are aiming to expand their
automated testing portfolios as Agile and DevOps adoption
increases [15,16]. Test automation has grown by 85% in the
last two years, according to app developer Magazine. Open
Source software technologies freely accessible on the
market today have contributed to this increase. As a
decentralized architecture for resilient and flexible
cybersecurity management, cybersecurity mesh is a term to
remember. As a result of cybersecurity mesh, the perimeter
may be refocused on securing people or things rather than
just their physical location. System scalability and
adaptability will be determined via this kind of testing. The
goal of artificial intelligence (AI) in software testing is to
make testing more intelligent and efficient. The use of
artificial intelligence (AI) and machine learning (ML) helps
automate and enhance testing [16]. Software testing using
artificial intelligence (AI) saves time and allows teams to
work on more difficult tasks, such as developing inventive
new features. The phrase "Mobile First" and providing the
user with a mobile platform via mobile internet, hybrid
mobile apps were popular throughout the world around 5
years ago. Artificial intelligence (AI) is the newest fad (AI).
In self-driving vehicles, voice recognition, machine vision,
healthcare, finance, and now test automation, hardly a day
goes by without someone or an article announcing some
form of AI progress [17].
V. ECONOMIC BENEFITS
As AI advance at a fast rate in the US, the advantages
to the economy will only grow. To address many technical
issues in the fields of healthcare, driverless vehicles, search
engines, predictive modeling, and a lot more testing,
companies like Apple have begun spending more on AI. It
has an impact on all businesses, large and small. By 2030,
AI is anticipated to boost the world economy by a
whopping $15.7 trillion. The application of artificial
intelligence (AI) in software development will be one of the
fastest-rising technologies in the industry in the next years.
Quality assurance will benefit from AI-based technologies
by automating manual work and speeding up sprints within
the SDLC [17,18]. Software quality assurance. One of the
main goals of the US software business is to reduce
software development costs while also enhancing the
quality of the software. Though computerized economies
are becoming more complicated, so is the underlying
software required to sustain them. Software applications
are now measured in terms of millions of lines of code
rather than tens of thousands of lines of code, as was
formerly the case. Concerns about software quality have
grown as software complexity has increased and the typical
market living standards of many software products have
decreased. To conduct a thorough investigation, two
industrial groups were chosen: automobile and aerospace
equipment makers, as well as banking and finance players
and associated digital communications equipment
producers.
VI. CONCLUSION
This study looked at how artificial intelligence may be
incorporated into the software testing process using test
automation. Overall, the purpose of this study was to
generate interest in artificial intelligence (AI) as a viable
tool for use in the software testing automation industry. A
Systematic Literature Review (SLR) was carried out to
achieve the objective. In the near future, even "Continuous
Testing" would be unable to keep up with the smaller
delivery cycle durations, increased technological
© 2019 JETIR December 2019, Volume 6, Issue 12 www.jetir.org (ISSN-2349-5162)
JETIR1912176
Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org
1332
complexity, and growing rates of change. We are rapidly
nearing this point. For robots, the Internet of Things, and
other cutting-edge technologies, the testing evolution must
be carried out to ensure the efficiency necessary. While
working on the IoT and practically driving "self-driving"
automobiles, we need to learn how to work smarter, not
harder, to ensure quality in an age where software processes
an unthinkable number of data points in real-time.
Although artificial intelligence (AI) continues to advance,
it is clear that simulating the human brain is a difficult
undertaking. It's important to remember that applications
are used by people, and the technical improvements being
developed consider that. This helps to guarantee a high-
quality product.
REFERENCES
1. S. Amaricai and R. Constantinescu, "Designing a Software
Test Automation Framework", Informatica Economica, vol.
18, no. 12014, pp. 152-161, 2014.
2. D. Banerjee and K. Yu, "3D Face Authentication Software
Test Automation", IEEE Access, vol. 8, pp. 46546-46558,
2020.
3. L. Damm and L. Lundberg, "Results from introducing
component-level test automation and Test-Driven
Development", Journal of Systems and Software, vol. 79, no.
7, pp. 1001-1014, 2006.
4. C. Jordan, F. Maurer, S. Lowenberg and J. Provost,
"Framework for Flexible, Adaptive Support of Test
Management by Means of Software Agents", IEEE Robotics
and Automation Letters, vol. 4, no. 3, pp. 2754-2761, 2019.
5. J. Kasurinen, O. Taipale and K. Smolander, "Software Test
Automation in Practice: Empirical Observations", Advances in
Software Engineering, vol. 2010, pp. 1-18, 2010.
6. D. Kumar and K. Mishra, "The Impacts of Test Automation on
Software's Cost, Quality and Time to Market", Procedia
Computer Science, vol. 79, pp. 8-15, 2016.
7. C. Rankin, "The Software Testing Automation
Framework", IBM Systems Journal, vol. 41, no. 1, pp. 126-
139, 2002.
8. A. Bertolino, H. Foster, J. Jenny Li and H. Zhu, "Special
section on automation of software test", Journal of Systems
and Software, vol. 86, no. 8, p. 1977, 2013.
9. V. Garousi and F. Elberzhager, "Test Automation: Not Just for
Test Execution", IEEE Software, vol. 34, no. 2, pp. 90-96,
2017.
10. B. Green, "Software test automation", ACM SIGSOFT
Software Engineering Notes, vol. 25, no. 3, pp. 66-66, 2000.
11. J. Hollingum, "Reflex puts its software capabilities to the
test", Assembly Automation, vol. 7, no. 1, pp. 21-23, 1987.
12. D. Hutton, "Software Test Automation: Effective Use of Test
Execution Tools20005Mark Fewster and Dorothy Graham.
Software Test Automation: Effective Use of Test Execution
Tools. Reading, MA: Addison Wesley Longman 1999. 592
pp., ISBN: ISBN 0‐201‐33140‐3 $39.95 (£25
approx.)", Kybernetes, vol. 29, no. 3, pp. 392-398, 2000.
13. D. O'Shea, F. Ortin and K. Geary, "A virtualized test
automation framework: A DellEMC case study of test
automation practice", Software: Practice and Experience, vol.
49, no. 2, pp. 329-337, 2018.
14. J. Park and J. Choi, "Test Framework Development for
Software Reliability Test using Formal Method", International
Journal of Software Engineering and Its Applications, vol. 10,
no. 8, pp. 151-158, 2016.
15. M. Polo, P. Reales, M. Piattini and C. Ebert, "Test
Automation", IEEE Software, vol. 30, no. 1, pp. 84-89, 2013.
16. K. Wiklund, S. Eldh, D. Sundmark and K. Lundqvist,
"Impediments for software test automation: A systematic
literature review", Software Testing, Verification and
Reliability, vol. 27, no. 8, p. e1639, 2017.
17. S. Jan, A. Javed and M. Majeed, "Quality Category Matrix to
Ensure the Quality of Software Product", International
Journal of Computer and Communication Engineering, pp.
175-178, 2012.
18. B. Kitchenham, "Towards a constructive quality model. Part 1:
Software quality modelling, measurement and
prediction", Software Engineering Journal, vol. 2, no. 4, p.
105, 1987.
... Regardless of size and scale, companies acknowledge that software testing is a critical phase of the development cycle. As software systems become more complex and new functionalities are introduced, manual testing becomes increasingly inefficient, time-consuming, and costly [3]. To this end, automation testing has emerged as a solution designed to enhance the quality and efficiency of human testers by automating essential processes. ...
... As software complexity increases, the number of tests that need to be written also rises, which places a heavier burden on the maintenance and updating of these tests. Research indicates that testers spend approximately 40% of their time updating and maintaining test suites [3]. In addition, troubleshooting and fixing failed tests requires considerable time and effort. ...
... Companies increasingly turn to artificial intelligence (AI) to address these challenges [3]. AI has the potential to streamline the software development life cycle by enhancing the identification, creation, execution, and maintenance of automated test suites through statistical methodologies. ...
Conference Paper
Full-text available
Artificial intelligence (AI) significantly influences the systems and applications that underpin modern life. Large datasets are generated from diverse sources. Hence, there is a need for effective data monitoring, processing, and reporting, which is crucial for making influential decisions. In developing complex software systems, AI has become essential for ensuring rigorous testing that aligns with business requirements within constrained timelines. The main advantage of AI in software testing lies in its ability to enhance accuracy and streamline repetitive tasks, ultimately reducing the time required for testing. To this end, this paper explores the role of AI in automated software testing, critically analyzing the limitations of traditional automated testing methods, which often struggle with inconsistent bug detection and have limited adaptability across different environments. By expanding test coverage and addressing these limitations, AI-driven tools can significantly enhance testing efficiency. Additionally, we investigate various AI-based tools designed to optimize software testing and strengthen quality assurance processes.
... The first benefit is that it greatly increases productivity by automating repeated testing operations, which saves time and money compared to manual testing. This increase in efficiency frees up development teams to concentrate more on innovation and providing consumers with value [11]. Furthermore, by lowering the possibility of human error-a frequent problem with manual testingautomated testing increases software dependability by producing consistent and reproducible test findings. ...
Article
Full-text available
Automation testing is often needed in the software testing process to improve test results and save time and money. Automation testing is very useful for evaluating web applications based on load, stress, security, vulnerability, and performance. The many studies on automated software testing methods and tools are reviewed in this article. This comprehensive review highlights that no single automated testing tool excels in all aspects; the selection depends on project-specific criteria such as cost, usability, support, and test type. Tools like Selenium and WATIR offer flexibility and cost-efficiency for web applications, while UFT/QTP supports both web and desktop testing but at a higher cost. The rise of AI-powered, self-repairing frameworks signals a shift toward more adaptive testing solutions. Additionally, parallel execution methods significantly enhance regression testing efficiency. Ultimately, selecting the right tool and execution strategy is crucial to minimizing time and cost in software development.
... As a result, Automated Test Failure Detection and Healing Tools have been rising [14]. These benefits are from the latest techniques like intricate algorithms, artificial intelligence, machine learning, etc. ...
... Automated software testing allows for more thorough and extensive testing. • Time and money saved equates to a quicker time to market: It could be costly and time-consuming to manually execute these checks every time the source code is modified in software [11]. ...
Article
Full-text available
With the help of AI, automated testing and monitoring in the SaaS field is being improved significantly, becoming significantly smarter, faster, and more reliable. Incorporation of AI in SaaS platforms enables the platforms to diagnose problem areas, anticipate failures as well as enable efficient testing hence delivering optimal value and continuous service. This shift helps business by providing them with more intelligent and proactive ways to manage complex systems. The integration of Artificial Intelligence (AI) into Software as a Service (SaaS) environments has significantly transformed a landscape of software testing and monitoring. Automating testing procedures, improving efficiency, and minimising human work in Agile and DevOps approaches are all highlighted in this study as key roles of AI. Advanced AI leads to the testing capability of generating test cases automatically, executing these and analyzing performance, thus, identifying problems faster and more accurately. On the same note, AI improves the observation process by facilitating real-time observation of the performance of various systems and offering early management of disruptions. It is to understand that separate positive effects of AI implementation involve operation, expansion, and cost-effectiveness aspects that overall enhance the efficiency of SaaS applications. A review of the relevant literature underlines the progress in and further prospects for utilizing AI in enhancing testing and monitoring processes in SaaS contexts.
Chapter
Software engineering has traditionally followed structured methodologies like the Waterfall model, Agile, and DevOps to manage complexity, ensure quality, and streamline development. However, rapid advancements in Artificial Intelligence (AI) are transforming software engineering. AI-driven methodologies, including machine learning and natural language processing, automate coding, testing, debugging, and project management, enhancing efficiency and scalability. This chapter explores traditional and AI-driven software engineering practices, analyzing their strengths, limitations, and impact on the software development lifecycle (SDLC). Case studies highlight AI-powered automation's role in improving decision-making, optimizing workflows, and reducing development time. While AI enhances adaptability, integrating traditional methodologies ensures structure, compliance, and reliability. The future lies in a hybrid model that combines traditional robustness with AI-driven automation for intelligent, scalable software solutions.
Preprint
Full-text available
In the world of software development life cycle (SDLC), automated testing has become increasingly popular. This is because it can overcome the limitations of manual testing, leading to faster and more reliable development. To understand the current state of automated testing, we conducted a systematic mapping review. This review involved examining relevant research to create a complete picture. First, we defined clear steps for our research and followed them carefully. Using five reliable databases, we initially found 793 studies. Then, We adopted careful standards to select high-quality, relevant studies, yielding a collection of 37 studies. We meticulously examined and compiled these studies, acquiring the necessary data to address our research inquiries. These questions focused on exploring the different tools used for automated testing, the types of tests these tools are best suited for, how automated testing improves software quality, and the challenges faced when using automated testing for quality improvement.
Article
Full-text available
With the increased complexity of the software systems and the need for quick, high-quality releases, traditional testing methods cannot catch up. This article focuses on artificial intelligence's (AI) transformational influence on the software testing environment, with detailed progress from the manual and script-based approach to intelligent adaptive frameworks. It illustrates the shortcomings of legacy test methods. It demonstrates how AI, using machine learning, natural language processing, and neural networks, allows test automation to become more accurate, scalable, and predictive. Major applications, including AI-based test case generation, defect prediction, and self-healing scripts, are discussed in detail, as well as generative AI models such as ChatGPT for scenario creation and documentation. The article also examines future trends, such as hybrid human-AI testing models and advances in the generative AI that will completely change the quality assurance game. By incorporating AI in the testing workflows, organizations can optimally increase efficiency, decrease time to market, and improve software reliability. The research detects that AI does not replace human testers but enhances them by helping develop strategic, creative, and user-centric quality assurance activities. As companies try to be agile and competitive, a decision to implement AI-powered testing is not optional but necessary. This change indicates more than a technological evolution; it changes how software quality is maintained in the digital age.
Article
Full-text available
Artificial Intelligence (AI) has rapidly evolved into a transformative technology with profound implications across diverse sectors, particularly in software development, web technologies, and cybersecurity. This review critically examines AI's substantial contributions to improving code quality, automating software testing, and enhancing digital security frameworks. Furthermore, it explores AI's broader societal, economic, and environmental effects, emphasizing both the opportunities and challenges associated with widespread adoption. While AI holds tremendous promise, it also poses fundamental questions about ethics, privacy, algorithmic bias, and access equity. Hence, responsible governance, strong ethical frameworks, and inter-disciplinary collaboration are crucial to ensure the sustainable and inclusive deployment of AI technologies.
Article
Full-text available
The 3D face authentication has become a hot trend for researchers and developers in the recent years, due to its many advantages over the 2D face recognition feature. The 3D reconstruction of a human face using both near-infrared and depth sensors is a complex process on mobile phones. It commonly involves algorithms like face detection, face landmark detection, facial feature extraction, and depth information analysis. The 3D face authentication feature is critical for the user as per as security and also providing a convenient way to authenticate by the correct user. Therefore, the testing of 3D face authentication algorithms and applications in terms of functionality, performance, and stability is critical. However, the research on 3D face authentication application level validation and testing method is lacking in the field. Most testers are still validating the application manually. In this paper, we propose a robotic-arm-based test automation for testing the 3D face authentication feature on mobile phones. We programmed a 6 degree of freedom (6-DOF) robotic arm to perform 3D face authentication automated tests that were executed manually before. Our test automation also benchmarked the performance of an in-house developed 3D face authentication application and a 3rd party application which yielded promising latency and accuracy comparison results under different performance-impacting test scenarios.
Article
Full-text available
Automated software testing is a critical enabler for modern software development, where rapid feedback on the product quality is expected. To make the testing work well, it is of high importance that impediments related to test automation are prevented and removed quickly. An enabling factor for all types of improvement is to understand the nature of what is to be improved. We have performed a systematic literature review of reported impediments related to software test automation to contribute to this understanding. In this paper, we present the results from the systematic literature review: The list of identified publications, a categorization of identified impediments, and a qualitative discussion of the impediments proposing a socio-technical system model of the use and implementation of test automation.
Article
Full-text available
To work more efficiently and effectively, test engineers must be aware of various automated-testing strategies and tools that assist test activities other than test execution. However, automation doesn't come for free, so it must be carefully implemented.
Article
Full-text available
In spite of the availability of most proficient quality assurance teams and tools, software testing has always been a time-consuming task. Thus test automation is being profoundly practiced in most of the software industries to leverage the total development time. Although the test automation has its own advantages and disadvantages and it influences various other development phases, the higher management is particularly interested in reckoning its effects on total software's cost, quality and time. In this paper, we have tried to ascertain some of the critical factors related to test automation and cost/return of/from automation. As automation is itself a pricy activity, it requires development effort and significant time, we have attempted to enumerate test automation's impacts on software's cost, time and quality on three different softwares. The results of our experiments clearly show the positive effects of test automation on cost, quality and time to market of the software.
Article
Full-text available
Testing is an art and science that should ultimately lead to lower cost businesses through increasing control and reducing risk. Testing specialists should thoroughly understand the system or application from both the technical and the business perspective, and then design, build and implement the minimum-cost, maximum-coverage validation framework. Test Automation is an important ingredient for testing large scale applications. In this paper we discuss several test automation frameworks, their advantages and disadvantages. We also propose a custom automation framework model that is suited for applications with very complex business requirements and numerous interfaces.
Article
Full-text available
This research work is to describe some issues and their solutions with respect to quality management of software products. Software is the only type of product which is famous for the internal complexity and providing a quality in software products is more difficult. So Quality should be managed, at the beginning stage of the Software Development Life Cycle (SDLC). In general, No one can give guarantee that a product is a quality product, until all the modules, components of product are tested by the teams and until they approved that the product is high-quality product. While doing integration of components, problems can comes, so iterative approach of Software Quality implementation and testing required during Integration, which should ensure the quality throughout the development process of product. In this paper I proposed an iterative solution for performing testing for ensure the quality with in software products. 'Quality Category Matrix' is proposed for monitoring the quality internally during each artifact development. Regardless the fact that in world many standards (ISO 9126), process improvement practices (CMM) and Models (MC call's FURPS) exist for the quality assurance of software products. But existence and implementation of quality in the software products is still an issue in software development. Professional software Developers are still looking for better solution for putting into practice new approaches to ensure the quality.
Article
In the context of system testing on Hardware-in-the-Loop (HiL) test benches, performing functional tests on electrical control units (ECUs) comes with various challenges. Especially planning the execution of test cases for a test cycle and nightly batch runs is cumbersome. In order to support the test managers, this work proposes an adaptable and flexible test management assistance system. Therefore, a set of requirements for such an assistance system have been identified and proposed solutions from the literature have been recalled. Out of those, software agents appear to be a suitable method for building up the framework of the assistance system. The framework proposed in this paper is divided into two phases: static prioritization of test scripts and dynamic execution ordering. The agents of the former phase aggregate relevant available data from various sources to calculate a test script priority. In the latter the agents negotiate to solve the resource allocation problem for test scripts on test benches. In addition, test logs are taken into account at run-time for reprioritization. Finally, an industrial use case from the automotive industry is taken as an example to discuss the applicability and current obstacles on the way to application and qualitative evaluation of the expected benefits are discussed.
Chapter
The objective of this industry study is to shed light on the current situation and improvement needs in software test automation. To this end, 55 industry specialists from 31 organizational units were interviewed. In parallel with the survey, a qualitative study was conducted in 12 selected software development organizations. The results indicated that the software testing processes usually follow systematic methods to a large degree, and have only little immediate or critical requirements for resources. Based on the results, the testing processes have approximately three fourths of the resources they need, and have access to a limited, but usually sufficient, group of testing tools. As for the test automation, the situation is not as straightforward: based on our study, the applicability of test automation is still limited and its adaptation to testing contains practical difficulties in usability. In this study, we analyze and discuss these limitations and difficulties.
Article
This paper introduced formal method as a new method to evaluate the reliability of software that has been developed. By using a mathematical notation called formal specification, this evaluation method describes the characteristics and functions of system that includes software or hardware and proves what can be proved using a proving technique. It can give a clearer answer than other techniques because it guarantees completeness, correctness, and consistency, which are the general characteristics of math, and evaluates reliability by mathematical technique. Since it is difficult to express a mathematical notation in a UI, a framework was developed by using it to show the measured results on a screen like other general software. This framework was named FMTF (Formal Method Test Framework) and was made to test the program of general web development. For the performance experiment of FMTF system, the parallel test, loop test, conditional branch perform test, time control test, etc. of web program were experimented. According to the measurement result, the reliability was low in the beginning of project due to many factors such as analysis design but gradually improved by error correction and debugging. By suggesting a guide on how to correct what errors, the paper could also provide a method to improve reliability.
Article
Test case generation is among the most labour-intensive tasks in software testing. It also has a strong impact on the effectiveness and efficiency of software testing. For these reasons, it has been one of the most active research topics in software ...