Дослідження інтелектуальних методів тестування програмного забезпечення
This article presents the examination of several techniques and tools used in the automated software testing process. Considering the ever-growing importance of software testing, several possible implications of implementation of artificial intelligence into this area are also discussed. The main ob...
Збережено в:
| Дата: | 2021 |
|---|---|
| Автори: | , , |
| Формат: | Стаття |
| Мова: | Англійська |
| Опубліковано: |
The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
2021
|
| Теми: | |
| Онлайн доступ: | https://journal.iasa.kpi.ua/article/view/252088 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | System research and information technologies |
| Завантажити файл: | |
Репозитарії
System research and information technologies| _version_ | 1866302794927964160 |
|---|---|
| author | Kazimov, Tofig Bayramova, Tamilla Malikova, Nazakat |
| author_facet | Kazimov, Tofig Bayramova, Tamilla Malikova, Nazakat |
| author_sort | Kazimov, Tofig |
| baseUrl_str | http://journal.iasa.kpi.ua/oai |
| collection | OJS |
| datestamp_date | 2022-06-20T14:19:48Z |
| description | This article presents the examination of several techniques and tools used in the automated software testing process. Considering the ever-growing importance of software testing, several possible implications of implementation of artificial intelligence into this area are also discussed. The main objective of this study is to examine the field of test automation by categorising related test activities, to which artificial intelligence tools can be applied for increased efficiency, and evaluate the impact of the application. The main software testing methods are white-box, black-box, and grey-box methods; an effort has been made to determine a connection between the given testing methods and artificial intelligence methods. A brief summary of several artificial intelligence engine tools used to automate testing was also provided. Lastly, the possible future benefits from usage of AI in software testing was investigated. |
| doi_str_mv | 10.20535/SRIT.2308-8893.2021.4.03 |
| first_indexed | 2025-07-17T10:27:43Z |
| format | Article |
| fulltext |
T.H. Kazimov, T.A. Bayramova, N.J. Malikova, 2021
42 ISSN 1681–6048 System Research & Information Technologies, 2021, № 4
UDC 3338.01
DOI: 10.20535/SRIT.2308-8893.2021.4.03
RESEARCH OF INTELLIGENT METHODS
OF SOFTWARE TESTING
T.H. KAZIMOV, T.A. BAYRAMOVA, N.J. MALIKOVA
Abstract. This article presents the examination of several techniques and tools used
in the automated software testing process. Considering the ever-growing importance
of software testing, several possible implications of implementation of artificial
intelligence into this area are also discussed. The main objective of this study is
to examine the field of test automation by categorising related test activities, to
which artificial intelligence tools can be applied for increased efficiency, and evalu-
ate the impact of the application. The main software testing methods are white-box,
black-box, and grey-box methods; an effort has been made to determine a connec-
tion between the given testing methods and artificial intelligence methods. A brief
summary of several artificial intelligence engine tools used to automate testing was
also provided. Lastly, the possible future benefits from usage of AI in software test-
ing was investigated..
Keywords: software testing, automated testing, artificial intelligence.
INTRODUCTION
The increasing complexity of software systems require modern testing methods
that can match the complexity of these systems to ensure defendable verification
of these systems. Today, software complexity has reached the heights where
making mistakes is an inevitable part of the development process. Much progress
has been achieved in test and verification techniques, however software develop-
ment still requires considerable effort in testing before delivery to the customer.
Software testing is using test methods to eliminate the errors at different stages of
the software life cycle.
Testing is an imperative stage in the Software Development Life Cycle
(SDLC) [1]. The quality and suitability of the software is determined by the extent
of fulfilment of its intended purpose. This is evaluated and verified at the testing
stage. Hence, testing stage approximately comprises 50% of software develop-
ment time [2].
In SDLC, the software is considered unfinished if it is untested, therefore the
sooner an error is detected the cheaper it becomes to fix [3]. Generally, the intent
of program testing is not to prove that the software is error free, but rather to
demonstrate the viability of the software before installation. Software testing is an
important research area, and therefore it has recently experienced significant ad-
vances.
Software testing can be manual or automatic. Manual testing does not re-
quire knowledge of any testing tool, it requires a lot of effort and more human
labor. Participation of humans in the testing process does inevitably result in in-
troduction of errors, and it is important to identify these errors. The use of human
labour in software testing is highly unfavourable due to increased execution
speeds, insufficient scope of software testing, and requirements in manpower [4].
Research of intelligent methods of software testing
Системні дослідження та інформаційні технології, 2021, № 4 43
Following Fig. 1 demonstrates systematic and automated testing capability to re-
duce huge costs. Using traditional testing methods in software testing is considered
inconvenient due to poor execution speed, insufficient test coverage, and addi-
tional manpower. All of the listed issues are easily eliminated by the implementa-
tion of automated testing methods. Automated testing is a process using software
separate from the software under test to control test execution and compare actual
results with expected results [5].
Automation tools are used to
automate many sections of manual test-
ing, but they do not cover all sections
[6]. Automated testing usually saves
time, a tester can efficiently run large
numbers of tests in a short period, and
testing that would be difficult to do
manually can be automated. At the
same time, test automation saves money
and effort, improves the quality of test-
ing tasks, and also helps to improve the
reliability of software [7]. Test automa-
tion requires an experienced tester with
knowledge of automation tools and
software under test.
Automated testing has its advantages and disadvantages (Table 1) [8].
T a b l e 1 . Advantages and disadvantages of automated testing
Advantages Disadvantages
Improves accuracy and faster error
detection compared to manual testing
Choosing the right tool takes a lot of effort,
time and development plan
Saves time and effort by making testing
more efficient
Knowledge of testing tool required
Increases test coverage as multiple test
tools can be used concurrently, allowing
parallel testing of different test scenarios
The cost of buying a testing tool and,
in the case of reproduction methods, testing
maintenance is slightly more expensive
Automation test script repeats
Writing Automated Test Scripts
Requires Skill
The determining factors for successful and effective software testing projects
are: (a) choosing and using the right test method, and (b) choosing and using the
right test automation tool.
It is impossible to carry out automated testing without the use of good tools.
Recently, the application of artificial intelligence and machine learning in testing
has been rising. Artificial Intelligence has had a major impact on software engi-
neering and has found wide application in software testing in recent years. Many
experts in the field of software testing and quality assurance have pointed out the
necessity of integration of artificial intelligence into the software testing processes.
Organizations that carry out software testing using artificial intelligence models
and techniques have stepped into a new era, increasing the competitive advantage
by producing applications exceeding the set expectations. Fundamentally, the
1
Automated
Manual
Times Run
Cost
Fig. 1. Costs for manual and automated
testing
T.H. Kazimov, T.A. Bayramova, N.J. Malikova
ISSN 1681–6048 System Research & Information Technologies, 2021, № 4 44
most basic component of all software is data; input and output, source codes,
websites, and databases are all examples of such data. Artificial intelligence algo-
rithms and techniques excel at the efficient processing of big data.
Artificial intelligence and machine learning algorithms have found wide-
spread application in real-life industries such as commercial, industrial, and digital
services, however, their usage in the software testing methods is relatively new.
The complexity of the software testing methods and techniques have limited the
practical application of artificial intelligence to academic usage only. In theory, it
is estimated that the highest level of automated testing will be achieved with the
help of artificial intelligence. The main objective of this research is to de-
termine how artificial intelligence will be used and how much it will contribute
to the field.
METHODOLOGY
Testing methods play a crucial part in widening the scope of the test and in de-
termination of strategies used in the test result analysis [5]. Several test methods are
available to determine various qualitative aspects of the software application. Al-
though it is not possible to use all testing methods in testing of any given software,
the testing specialist may select and apply more than one testing method based on
the requirements of the test, the type of the software being tested, the monetary
and time constraints. The desired result is achieved more easily if more testing
methods are being applied [6]. The methodologies used in the software testing are
described below [7]:
White box testing. This method is also referred to as open-box testing,
white-box analysis, and open-box analysis. During the testing process, the internal
workings and structure of the system are known. It is a very effective problem
detection and resolution method, due to early identification of the issues prevent-
ing the escalation resulting in costs and time. In white-box testing method, the
tester must have full access to the source code in order to identify the part of the
device that is causing the undesirable outcome. Application of this method is
therefore limited to the cases where the tester has full comprehension of the inter-
action between software components. Therefore, a skilled tester is required to car-
ry out this testing method. It is the most time-consuming method, preventing its
application to large systems and networks. It is most commonly used in web ser-
vices applications [8].
Black-box testing. The internal workings of the black-box testing device
are unknown to the user and are not accessible. This method can be used without
any knowledge of the internal working mechanisms of the device and at various
stages of the testing process. It only examines the key aspects of the system and
therefore the scope of this approach is limited. However, it is the fastest testing
approach among the listed methods. The main goal of this method is to determine
the extent by which the specified requirements are met by the system. This method
ensures that input and output data are as expected [9]. The most ubiquitous
method is fuzzing (purposefully inputting incorrect information to determine the
errors) [8].
Gray-box testing. This method is a combination of white box and black
box testing methods. It combines the advantages of both black and white box test-
ing. It uses built-in data structures and algorithms to compile test scripts more
Research of intelligent methods of software testing
Системні дослідження та інформаційні технології, 2021, № 4 45
than black box testing and less than white box testing. This method is only relevant
when doing integrated testing between two or more code modules written by
different developers, provided the interfaces are open for testing [10]. Gray-box
testing is considered the most unbiased testing tool as it does not require the tester
to enter internal source code. However, the scope is limited due to the lack of
source code. This method is used to test an application that has partial knowledge
of the fundamental aspects of the system. Some forms of gray box testing are
regressiontesting (checking for new software changes) and model testing (check-
ing the architecture and design of an application) [8].
The methods used in machine learning fall into two categories: supervised
machine learning and unsupervised machine learning. There is also a reinforcement
machine learning method. Based on “Google Scholar”, the most popular machine
learning method used in software testing in the last 3 years is control and rein-
forcement methods. Amplification is the most popular machine learning method
for “Scopus Elsevier” and “Web of Science”. During the last three years, artificial
intelligence algorithms and machine learning methods have been increasingly ap-
plied to “black- box” testing methods. Although not as popular as the two methods
mentioned above, unsupervised learning is very important in black box testing.
Black box testing is the most widely used method of artificial intelligence. The
most popular AI algorithms are "clustering" (a general uncontrolled learning
method), ANN (a method used in controlled and reinforcement learning), and GA
(a method commonly used to reinforce learning). Artificial intelligence is not
widely used in white box and gray box testing [11].
REVIEW OF THE SCIENTIFIC LITERATURE ON THE SUBJECT
OF RESEARCHING AI METHODS FOR TESTING
In recent years, various parametric and non-parametric software reliability models
have been developed in the software testing process to assess software reliability.
Despite this, no single model can accurately predict the number of software bugs
under all testing conditions. Modern software is developed with many features
and sizes, and assessing the reliability of software is an extremely challenging
task. In [17], research and study of these testing features show that a deep neural
network (NN) model can have suitable prediction capabilities. This study uses a
repetitive NN (RNN) codec-based deep learning model to predict the number of
software errors and assess software reliability. Experimental results show that the
proposed model has better forecasting characteristics in comparison with other
parameters and NN models. The authors show that the deep learning neural net-
work model has better prediction performance than other models. This model is
more reliable in predicting software reliability.
In [18], a new idea of using machine learning to automatically generate test
suites is proposed. The NEAT (Neuroevolution of Augmenting Topology) algo-
rithm was used to automatically create new test suites or to improve the coverage
of already created test suites. This method automatically generates test suites for
white box testing.
In [19], artificial neural networks were used for regression testing. For the
optimal selection of the highest priority regression checks, test management sys-
tems were used, which allow to determine the priorities of test cases depending on
T.H. Kazimov, T.A. Bayramova, N.J. Malikova
ISSN 1681–6048 System Research & Information Technologies, 2021, № 4 46
the corrections made to the product code, based on a neural network model. The
collection and analysis of data on changes in the code from the version control
system is used as input data for an artificial neural network. The output in such a
model is the results of the regression tests, that is, the fact that an error was found
or that the product is performing as expected. Thus, the training of the neural
network is based on real data obtained from the results of running tests at the
software development stage. A trained neural network is able to prioritize test
cases and optimize resources for regression testing.
In [20], the authors presented optimization models that ensure the correct se-
lection of values for various attributes of test plans, test cases, defect reports and
other documents generated during testing. Described the structure of a neural
network and the concept of its application for the most accurate selection of at-
tribute values.
Swarm intelligence is a new area in optimization, and researchers have de-
veloped various algorithms that simulate the behavior of various flocks of animals
and insects such as ants, termites, bees, birds, and fish. These algorithms are used
to reduce the time and cost of testing in general and regression testing in particu-
lar. Two such widely used algorithms for prioritizing test cases are the ant colony
algorithm and the bee colony optimization [21].
In [22], the authors proposed using UML state diagrams and Ant Colony Al-
gorithms to generate test data. The advantages of the approach they propose are
that it directly uses standard UML artifacts created in software design processes,
and also automatically generates a valid test sequence that is not redundant and
achieves the stated coverage criteria. An important aspect of this algorithm is par-
allelism: several solutions are simultaneously built that exchange information dur-
ing the process and use information from previous iterations.
In [23], the authors carried out an experiment. In this experiment, the opti-
mal testing process for regression testing is determined using the multipurpose ant
lion optimization (MOALO) algorithm. This algorithm is completely suitable for
identifying test cases of mutants. To gain access to software quality through re-
gression testing, they used mutant test cases. Ensuring the availability of mutants
is seen as a multi-purpose modernization problem that can be addressed by the
MOALO calculation. The experimental results showed that the proposed
MOALO method provides better and more effective results than other methods.
In [24], the authors proposed a fault coverage regression system using the
Bee Colony Optimization (BCO) algorithm. The idea is based on a natural bee
colony with two types of worker bees that are responsible for the development
and maintenance of the colony: scout bees and forage bees. The BCO algorithm
developed for a suite of fault coverage regression tests is based on the behavior of
these two bees. The algorithm was designed for failure coverage in order to
achieve maximum failure coverage in the smallest units of execution time for
each test case. This algorithm automates the process of prioritizing the test suite
according to the bee colony optimization criteria. Using this algorithm, you can
automatically generate a test case and test your application efficiently, with less
cost and time.
For quality control of video games, the software testing process is essential.
Gaming environments are complex and interactive systems. These environments
can include level geometry, interactive objects, player-controlled and non-player
Research of intelligent methods of software testing
Системні дослідження та інформаційні технології, 2021, № 4 47
characters, and so on. Depending on the number and complexity of the levels,
manually testing them can be significant. This problem can be solved using artifi-
cial intelligence (AI) in testing. In [25], the authors investigated the most
promising and current artificial intelligence applications for video game testing,
which can serve as a reference for anyone getting started in the field. Automated
testing of video games using AI is a relatively new area of research, often without
an established terminology and structure.
ARTIFICIAL INTELLIGENCE TOOLS USED IN SOFTWARE TESTING
The application of artificial intelligence to the software testing process has led to
radical changes in this field. Currently, the process of developing and testing the
program continues to evolve. During software development, testers must ensure
that customer satisfaction is achieved. For this reason, the use of artificial intelli-
gence bots in the testing process is inevitable. This section provides examples of
tools that apply the capabilities of artificial intelligence and machine learning in au-
tomated testing. During the process, some tools are used without machine learning.
However, these tools are not yet considered scientifically reliable as they are more
relevant to companies’ marketing activities. The most commonly used AI tools in
software testing are:
“Mabl”. Boston-based startup “Mabl” has introduced a program that sim-
plifies the functional testing process for developers using machine learning.
However, users no longer had to manually type large lines of code. Instead, devel-
opers should show the workflow they want to test in the program and let “Mabl”
do the rest. “Mabl” will perform these tests and adapt to even the smallest interface
changes. It can detect software bugs, “JavaScript” errors, visual changes and more.
This makes testing as simple as possible for users. Co- founders of “Mabl” are
Izzy Azeri and Dan Belcher, who were founders of Stackdriver (formerly ac-
quired by Google). Not surprisingly, “Mabl” runs on Google’s Cloud platform. In
short, “Mabl” makes the continuous testing process both easy and measurable
with its advanced artificial intelligence technology [12].
“Eggplant”. This tool is not model based, it is an amazing artificial intel-
ligence tool for testing software using different concepts. “Eggplant” is a power-
ful tool that uses different complex algorithms to achieve different goals. While
testing the software, the tool performs the following [13]:
Detects errors: the tool looks for common patterns that may indicate the
presence of errors.
Evaluates the scope: The tool performs comprehensive analysis in
terms of information, movement and status.
“Applitools” is a tool that visually monitors software applications using
an advanced algorithm. “Applitools” serves professionals and teams especially in
“DevOps”, “Digital Transformation’’, “Quality Assurance” and many more. The
tool identifies possible errors and flaws in the implementation of the program [14].
“Sealights” is also a Web-based testing tool for developers and quality as-
surance professionals. This tool is indispensable for testers as it takes a long time
to perform repeated tests. It offers machine learning technology that evaluates ve-
hicle codes and tests performed. At the same time, with this tool, testers can learn
T.H. Kazimov, T.A. Bayramova, N.J. Malikova
ISSN 1681–6048 System Research & Information Technologies, 2021, № 4 48
the true scope of tests. The tool performs different types of tests in terms of per-
formance, functionality, unit testing and more [14].
“Testim”. With this test tool, the user can automatically save and code test
cases. The tool has auto-correction features that reduce the amount of manual
work required when changing the target. It also allows the user to use different
datasets and browsers simultaneously by performing visual verification on the
tested pages. The features of AI focus on the ease of use of these steps and the
reuse of the steps between different test scenarios. As the number of tests per-
formed increases, more reliable results are obtained [15].
“Functionize”. Uses machine learning and artificial intelligence to ac-
celerate the creation, diagnosis and maintenance of tests. One of the best features
of this tool is that you don’t have to think much before you do the test. Only those
who want to be tested should write in plain English. The “NLP” engine will then
process and automate the individual steps of a test plan written in English. Thou-
sands of tests are performed in a few minutes with this tool [16].
“TestCraft”. Also used to monitor web applications. The role of AI tech-
nology is to automatically handle changes in the application, eliminating service
life and costs. The biggest advantages of “TestCraft” are that testers are auto-
mated using a drag-and-drop interface, can create selenium-based tests, and run
simultaneously in multiple browsers and workspaces. Tests can be run in parallel
in different environments and in different browsers. No coding skills are required
to perform this test [16].
THE POTENSIAL IMPACT OF AI ON SOFTWARE TESTING
Based on our research, we can conclude that the ongoing trends in artificial intel-
ligence in the field of software testing are very promising and that AI will play
a more important role in the development of this field in the future. It is not a
coincidence that companies have already started to invest in this sector. Following
Fig. 2 demonstrates the potential impact of AI on software testing. In the first
phase of the development path, AI will take on automation tasks that require deci-
sions that a person can make in less than a second. In the second phase, resolution
of higher- level test tasks may still require human intervention or intervention.
Tasks such as “Test creation”, “Usage testing”, “Security testing” and “External
cases” require more thought. Third, as technology evolves and machines learn these
high-level tasks on the go, AI will be able to handle these activities and tackle
problems that require a deeper context.
Significant contributions to artificial intelligence in the field of software
testing in the near future (4 to 8 years) based on research, analysis and prediction
are [17]:
Artificial intelligence software testing will become an independent indus-
try and play an important role in the field of information technology. Artificial
intelligence is expected to replace quality assurance and test engineers. Quality
assurance professionals and test engineers will play a new role in organizing and
monitoring results.
Artificial Intelligence will manage the software testing process and will
cover all stages of testing without human intervention and error, from test prepara-
tion to planning, execution and reporting.
Research of intelligent methods of software testing
Системні дослідження та інформаційні технології, 2021, № 4 49
The application of artificial intelligence will provide more accurate results
in the testing field than traditional testing methods and shorten the development
time of the program. Especially since it is difficult to meet software requirements
and meet deadlines, artificial intelligence is expected to fill this gap and alleviate
the problem by reducing the required trial time.
AI will eventually have specialized tools to effectively test “Cloud Com-
puting”, “Big Data” and other future technologies. The introduction of new tech-
nologies will also bring innovation to software testing based on artificial intel-
ligence. Because artificial intelligence will play an integrative role in generating
the test data required for a particular product.
AI can apply predictive analytics by examining other similar products and
services to better understand the new features customers need.
Organizations will use artificial intelligence algorithms and techniques to
improve their product offerings and improve the quality of services provided.
The predictive analytics of artificial intelligence will play an important
role in detecting all possible test scenarios, making software products more robust,
reliable and exceeding customer expectations.
New AI-enabled software testing tools will be innovative, flexible and
smart. This will allow users to get more accurate results.
“Machine learning”, “Deep learning”, “NLP” and other fields of artificial
intelligence are considered pioneers of most of the technologies around us. As
mentioned earlier, the application of artificial intelligence is automated. It will
demonstrate the great power of software testing and improve the software devel-
opment and testing process in a new era of innovation and agility.
CONCLUSION
At a time of increasing demand for quality software testing, it is important to
stimulate research in this area, continually recap new achievements, and come up
with different ideas to facilitate rapid development. Studying and successfully
C
o
m
p
u
ta
ti
o
n
Fig. 2. Development of AI in software testing in the near future
T.H. Kazimov, T.A. Bayramova, N.J. Malikova
ISSN 1681–6048 System Research & Information Technologies, 2021, № 4 50
using the methods used in this area will help testers to perform testing more effec-
tively and thus improve the quality of the program. Obviously, delivering quality
software is the ultimate goal of any software project. We cannot be sure of the
quality level in a program without measurement. Therefore, various test methods
are used to measure quality. The article examines different testing techniques that
can be used to measure different quality characteristics. We concluded that artifi-
cial intelligence is the most widely used method for black box testing, and all
three machine learning methods (controlled, uncontrolled and augmented), name-
ly “clustering” are widely used.
In addition, the result is expected to be an integral part of artificial intelli-
gence software testing. Testers will play a new role in making AI models and algo-
rithmic methods smarter. Artificial intelligence has the ability to automatically
analyze complex data using intelligent models and algorithms. Thus, artificial
intelligence will manage most of the test areas and provide more accurate results.
Automating software testing will improve the quality of software and have a huge
impact on customer experience by delivering seamless applications and solutions.
At the same time, artificial intelligence algorithms will be applied to new technolo-
gies (Cloud Technology, Big Data) and better results will be obtained.
REFERENCES
1. A. Dennis, B.H. Wixom, and D. Tegarden, Systems Analysis and Design with OOP
Approach with UML 2.0; 4th edition. USA: John Wiley & Sons, Inc., 2009, 691 p.
2. G.J. Myers, C. Sandler, and T. Badgett, The Art of Software Testing; 3rd edition.
Canada: John Wiley & Sons, Inc., 2012, 420 p.
3. A. Dennis, B.H. Wixom, and R.M. Roth., Systems Analysis and Design; 5th edition.
USA: John Wiley & Sons, Inc., 2012, 594 p.
4. D.R. Graham, “Testing, Verification and Validation”, Int. J., vol. XVI, pp. 1069–1101,
1979.
5. D. Huizinga and A. Kolawa, Automated defect prevention. Hoboken, N.J.: Wiley-
Interscience, 2007, 454 p.
6. M. Polo, P. Reales, M. Piattini, and C. Ebert, “Test automation”, IEEE Software, vol.
30, no. 1, pp. 84–89, 2013.
7. M.A. Umar, “Comprehensive study of software testing: Categories, levels, tech-
niques and types”, International Journal of Advance Research, Ideas and Innova-
tions in Technology, vol. 5, no. 6, pp. 32–40, 2019.
8. U. Mubarak Albarka, and C. Zhanfang, “A Study of Automated Software Testing:
Automation Tools and Frameworks”, International Journal of Computer Science
Engineering (IJCSE), vol. 8, pp. 217–225, 2019.
9. L. Luo, A Report on Software Testing Techniques. Pittsburgh, USA, 2003, 20 p.
10. O. Carol, “Why We Need New Software Testing Technologies”, Conference At-A-
Glance PNSQC World Trade Center 121 SW Salmon St. Portland, pp. 226–248,
2019.
11. I. Jovanovic, “Software Testing Methods and Techniques”, IPSI BgD Trans. Internet
Res., vol. 5, no. 1, pp. 30–41, 2009.
12. E. Khan, “Different Forms of Software Testing Techniques for Finding Errors”, Int.
J. Comput. Sci., vol. 7, no. 3, pp. 11–16, 2010.
13. M.E. Khan and F. Khan, “A comparative study of white box, black box and grey box
testing techniques”, International Journal of Advanced Computer Science and Ap-
plications, vol. 3, no. 6, pp. 12–15, 2012.
Research of intelligent methods of software testing
Системні дослідження та інформаційні технології, 2021, № 4 51
14. R.S. Pressman, Software Engineering: A Practitioner’s Approach; 6th edition. Chap-
ter 14: Software Testing Techniques, & Associates, Inc., 2005, 402 p.
15. F. Redmill, “Theory and Practice of Risk-based Testing”, Software testing, vol. 15,
no. 1, pp. 3–20, 2005.
16. R. Lima, A.M. Cruz, and J. Ribeiro, “Artificial Intelligence Applied to Software
Testing: A Literature Review”, 15th Iberian Conference on Information Systems and
Technologies (CISTI), pp. 6–7, 2020. Available: https://doi.org/10.23919/cisti49556.
2020. 9141124.
17. J. Wang and C. Zhang, “Software reliability prediction using a deep learning model
based on the RNN encoder–decoder”, Reliability Engineering & System Safety,
vol. 170, pp. 73–82, 2018.
18. H.L.P. Raj and K. Chandrasekaran, “NEAT Algorithm for Testsuite generation in
Automated Software Testing”, IEEE Symposium Series on Computational Intelli-
gence (SSCI), pp. 2361–2368, 2018.
19. A.D. Danilov and V.M. Mugatin, “Solving the optimization problem for regression
testing using a neural network approach”, Modeling, optimization and information
technology, 8 (1), pp. 1–8, 2020.
20. I.S. Polevshikov and R.A. Faizrakhmanov, “Automated control of testing software
systems using neural networks”, Engineering Bulletin of Don, no. 4 (51), pp. 94–105,
2018.
21. M. Hossain, S. Abufardeh, and S. Kumar, “Frameworks for Performing on Cloud
Automated Software Testing Using Swarm Intelligence Algorithm: Brief Sur-
vey”, Advances in Science, Technology and Engineering Systems Journal, vol. 3,
no. 2, pp. 252–256, 2018.
22. H. Li and P.L. Chiou, “Software Test Data Generation using Ant Colony Optimiza-
tion”, International conference on computational intelligence, pp. 1–4, 2004.
23. A. Tripathi, Sh. Srivastava, H. Mittal, Sh. Sinha, and V. Yadav, “Multi-Objective
ANT Lion Optimization Algorithm Based Mutant Test Case Selection for Regres-
sion Testing”, Journal of Scientific & Industrial Research, vol. 80, pp. 582–592,
2021.
24. K. Karnavel and J. Santhoshkumar, “Automated Software Testing for Application
Maintenance by using Bee Colony Optimization algorithms (BCO)”, Information
Communication and Embedded Systems (ICICES), 2013 International Conference
on IEEE, pp. 327–330, 2013.
25. I. Zarembo, “Analysis of artificial intelligence applications for automated testing of
video games”, Environment Technologies Resources Proceedings of the Interna-
tional Scientific and Practical Conference, pp.170–174, 2019.
26. M. Mikael, “Utilizing Artificial Intelligence in Software Testing”, Metrolopolia Uni-
versity of Applied Science, pp. 46–47, 2019. Available: http://urn.fi/URN:NBN:
fi:amk-2019120123754
27. Eggplant Software. Available: https://www.eggplantsoftware.com/
28. A. Jones, Artificial Intelligence Tools for Software Testing. Available: https://www.
rtinsights.com/artificial-intelligence-tools-for-software-testing
29. R. Subramanian, “How AI is transforming software testing”, Selenium Conference,
Chicago, 2018. Available: https://youtu.be/pMd1L1IZrxk
30. 5 Popular AI-powered tools for test automation. Available: https://www. nextgenera-
tionautomation.com/post/ai-powered-tools
31. H. Hourani, A. Hammad, and M. Lafi, “The Impact of Artificial Intelligence on
Software Testing”, IEEE Jordan International Joint Conference on Electrical Engi-
neering and Information Technology (JEEIT), pp. 568–569, 2019. Available:
https://doi.org/10.1109/ jeeit.2019.8717439
Received 30.09.2021
T.H. Kazimov, T.A. Bayramova, N.J. Malikova
ISSN 1681–6048 System Research & Information Technologies, 2021, № 4 52
INFORMATION ON THE ARTICLE
Tofig H. Kazimov, ORCID: 0000-0001-9245-6731, Institute of İnformation Technology
of ANAS, Department of Software Engineering, Azerbaijan, e-mail: tofig@mail.ru
Tamilla A. Bayramova, ORCID: 0000-0002-8377-3572, Institute of Information Tech-
nology of Azerbaijan National Academy of Sciences, Department of Software Engineer-
ing, Azerbaijan, e-mail: toma_b66@mail.ru
Nazakat J. Malikova, ORCID: 0000-0001-9617-0554, Institute of İnformation Technol-
ogy of ANAS, Department of Software Engineering, Azerbaijan, e-mail:
naranara_68@mail.ru
ИССЛЕДОВАНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ МЕТОДОВ ТЕСТИРОВАНИЯ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / Т.Г. Кязимов, Т.А. Байрамова, Н. Дж. Ме-
ликова
Аннотация. Рассмотрено несколько методов и инструментов, используемых в
процессе автоматизированного тестирования программного обеспечения с
учетом постоянно растущей важности тестирования программного обеспече-
ния; обсуждены некоторые возможные последствия внедрения искусственного
интеллекта в этой области. Основная цель исследования — изучить область
автоматизации тестирования путем категоризации связанных тестовых дейст-
вий, к которым могут быть применены инструменты искусственного интел-
лекта для повышения эффективности, и оценивания влияния приложения. Ос-
новные методы тестирования программного обеспечения — методы белого
ящика, черного ящика и серого ящика; сделана попытка установить связь ме-
жду данными методами тестирования и методами искусственного интеллекта.
Предоставлено краткое описание нескольких инструментов двигателя искус-
ственного интеллекта, используемых для автоматизации тестирования. Изуче-
ны возможные будущие выгоды от использования искусственного интеллекта
при тестировании программного обеспечения.
Ключевые слова: тестирование программного обеспечения, автоматизиро-
ванное тестирование, искусственный интеллект.
ДОСЛІДЖЕННЯ ІНТЕЛЕКТУАЛЬНИХ МЕТОДІВ ТЕСТУВАННЯ ПРОГРАМ-
НОГО ЗАБЕЗПЕЧЕННЯ / Т.Г. Кязимов, Т.А. Байрамова, Н.Дж. Меликова
Анотація. Розглянуто кілька методів та інструментів, які використовуються у
процесі автоматизованого тестування програмного забезпечення. З огляду на
постійно зростаючу важливість тестування програмного забезпечення обгово-
рено декілька можливих наслідків запровадження штучного інтелекту в цій
сфері. Основна мета дослідження — вивчення галузі автоматизації тестування
шляхом категоризації пов’язаних тестових дій, до яких можуть бути
застосовані інструменти штучного інтелекту для підвищення ефективності, і
оцінювання впливу програми. Основні методи тестування програмного забез-
печення — методи білого ящика, чорного ящика і сірого ящика; зроблено
спробу встановити зв’язок між цими методами тестування і методами штучно-
го інтелекту. Подано короткий опис декількох інструментів двигуна штучного
інтелекту, які використовуються для автоматизації тестування. Вивчено
можливі майбутні вигоди від використання штучного інтелекту для тестування
програмного забезпечення.
Ключові слова: тестування програмного забезпечення, автоматизоване тесту-
вання, штучний інтелект.
|
| id | journaliasakpiua-article-252088 |
| institution | System research and information technologies |
| keywords_txt_mv | keywords |
| language | English |
| last_indexed | 2025-07-17T10:27:43Z |
| publishDate | 2021 |
| publisher | The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" |
| record_format | ojs |
| resource_txt_mv | journaliasakpiua/d7/b8839e7998b56bd493b81e785fb2c0d7.pdf |
| spelling | journaliasakpiua-article-2520882022-06-20T14:19:48Z Research of intelligent methods of software testing Исследование интеллектуальных методов тестирования программного обеспечения Дослідження інтелектуальних методів тестування програмного забезпечення Kazimov, Tofig Bayramova, Tamilla Malikova, Nazakat software testing automated testing artificial intelligence тестирование программного обеспечения автоматизированное тестирование искусственный интеллект тестування програмного забезпечення автоматизоване тестування штучний інтелект This article presents the examination of several techniques and tools used in the automated software testing process. Considering the ever-growing importance of software testing, several possible implications of implementation of artificial intelligence into this area are also discussed. The main objective of this study is to examine the field of test automation by categorising related test activities, to which artificial intelligence tools can be applied for increased efficiency, and evaluate the impact of the application. The main software testing methods are white-box, black-box, and grey-box methods; an effort has been made to determine a connection between the given testing methods and artificial intelligence methods. A brief summary of several artificial intelligence engine tools used to automate testing was also provided. Lastly, the possible future benefits from usage of AI in software testing was investigated. Рассмотрено несколько методов и инструментов, используемых в процессе автоматизированного тестирования программного обеспечения с учетом постоянно растущей важности тестирования программного обеспечения; обсуждены некоторые возможные последствия внедрения искусственного интеллекта в этой области. Основная цель исследования — изучить область автоматизации тестирования путем категоризации связанных тестовых действий, к которым могут быть применены инструменты искусственного интеллекта для повышения эффективности, и оценивания влияния приложения. Основные методы тестирования программного обеспечения — методы белого ящика, черного ящика и серого ящика; сделана попытка установить связь между данными методами тестирования и методами искусственного интеллекта. Предоставлено краткое описание нескольких инструментов двигателя искусственного интеллекта, используемых для автоматизации тестирования. Изучены возможные будущие выгоды от использования искусственного интеллекта при тестировании программного обеспечения. Розглянуто кілька методів та інструментів, які використовуються у процесі автоматизованого тестування програмного забезпечення. З огляду на постійно зростаючу важливість тестування програмного забезпечення обговорено декілька можливих наслідків запровадження штучного інтелекту в цій сфері. Основна мета дослідження — вивчення галузі автоматизації тестування шляхом категоризації пов’язаних тестових дій, до яких можуть бути застосовані інструменти штучного інтелекту для підвищення ефективності, і оцінювання впливу програми. Основні методи тестування програмного забезпечення — методи білого ящика, чорного ящика і сірого ящика; зроблено спробу встановити зв’язок між цими методами тестування і методами штучного інтелекту. Подано короткий опис декількох інструментів двигуна штучного інтелекту, які використовуються для автоматизації тестування. Вивчено можливі майбутні вигоди від використання штучного інтелекту для тестування програмного забезпечення. The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" 2021-12-22 Article Article application/pdf https://journal.iasa.kpi.ua/article/view/252088 10.20535/SRIT.2308-8893.2021.4.03 System research and information technologies; No. 4 (2021); 42-52 Системные исследования и информационные технологии; № 4 (2021); 42-52 Системні дослідження та інформаційні технології; № 4 (2021); 42-52 2308-8893 1681-6048 en https://journal.iasa.kpi.ua/article/view/252088/249426 |
| spellingShingle | тестування програмного забезпечення автоматизоване тестування штучний інтелект Kazimov, Tofig Bayramova, Tamilla Malikova, Nazakat Дослідження інтелектуальних методів тестування програмного забезпечення |
| title | Дослідження інтелектуальних методів тестування програмного забезпечення |
| title_alt | Research of intelligent methods of software testing Исследование интеллектуальных методов тестирования программного обеспечения |
| title_full | Дослідження інтелектуальних методів тестування програмного забезпечення |
| title_fullStr | Дослідження інтелектуальних методів тестування програмного забезпечення |
| title_full_unstemmed | Дослідження інтелектуальних методів тестування програмного забезпечення |
| title_short | Дослідження інтелектуальних методів тестування програмного забезпечення |
| title_sort | дослідження інтелектуальних методів тестування програмного забезпечення |
| topic | тестування програмного забезпечення автоматизоване тестування штучний інтелект |
| topic_facet | software testing automated testing artificial intelligence тестирование программного обеспечения автоматизированное тестирование искусственный интеллект тестування програмного забезпечення автоматизоване тестування штучний інтелект |
| url | https://journal.iasa.kpi.ua/article/view/252088 |
| work_keys_str_mv | AT kazimovtofig researchofintelligentmethodsofsoftwaretesting AT bayramovatamilla researchofintelligentmethodsofsoftwaretesting AT malikovanazakat researchofintelligentmethodsofsoftwaretesting AT kazimovtofig issledovanieintellektualʹnyhmetodovtestirovaniâprogrammnogoobespečeniâ AT bayramovatamilla issledovanieintellektualʹnyhmetodovtestirovaniâprogrammnogoobespečeniâ AT malikovanazakat issledovanieintellektualʹnyhmetodovtestirovaniâprogrammnogoobespečeniâ AT kazimovtofig doslídžennâíntelektualʹnihmetodívtestuvannâprogramnogozabezpečennâ AT bayramovatamilla doslídžennâíntelektualʹnihmetodívtestuvannâprogramnogozabezpečennâ AT malikovanazakat doslídžennâíntelektualʹnihmetodívtestuvannâprogramnogozabezpečennâ |