<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Intelligent Monitoring of Software Test Automation of Web Sites</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maria Talakh</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Serhii Holub</string-name>
          <email>s.holub@chdtu.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yurii Lazarenko</string-name>
          <email>lazarenko199705@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Cherkasy State Technological University</institution>
          ,
          <addr-line>Shevchenko Boulevard 460, Cherkasy, 18006</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Test automation engineer Softserve</institution>
          ,
          <addr-line>Nebesnoyi Sotni st. 16a, Chernivtsi, 58018</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Yuriy Fedkovych Chernivtsi National University</institution>
          ,
          <addr-line>Rivnenska str., 16, Chernivtsi, 58000</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The active use of test automation approaches in software development causes further automation of this process, in particular, in the field of results analysis. This paper presents the results of applying the methodology for creating information technologies of multi-level intelligent monitoring to provide data for decision-making processes by a testing engineer. Methods of text mining and machine learning are combined to build a methodology for creating intelligent multi-level monitoring systems. On the example of a set of reports, which were divided by an expert into 4 classes, the processes of coordination of interactions of different types of methods for forming an array of informative features, typical aggregates for the synthesis of classifier models at each stage of monitoring were investigated. The task of classifying the results of text research was solved to obtain the reason for the failure of the tests. A set of n-grams for each class of tests formed an array of input data for the synthesizer of models of the monitoring information system. The classification of these data was provided using an ensemble of models, where the resulting value was obtained combining predictions by meta-learning using stacking. The effectiveness of the described methodology has been experimentally proven.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Intellectual monitoring</kwd>
        <kwd>test automation</kwd>
        <kwd>ensemble training</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Intelligent monitoring of automatic software
testing processes provides identification of the
causes of errors to speed up their processing by
the tester. Based on the testing results, the
monitoring information system (MIS) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] solves
the problems of classifying errors and their
causes. This paper describes the process of using
intelligent monitoring information technology to
support decision-making by a QA engineer on
the choice of methods and means of eliminating
errors. The work of the method is described
using the example of developing a website.
      </p>
      <p>The introduction of test automation into the
software development process is now a must, the
number of available test results is increasing
significantly.</p>
      <p>
        Jobs, or agents who have the role of a QA
engineer and perform tests, can work around the
clock, seven days a week, and in addition, the
number of test cases accumulates during each
sprint. Thus, more results are obtained for
management and analysis. A significant amount
of data requires approaches to their processing
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        If the time spent examining the test results
exceeds the time saved by running automated
tests, then the very meaning of its
implementation is lost. To reap the benefits of
automation, it is important to know how to
properly handle the growing number of test
results. Continuous Delivery requires constant
testing that slows down the pace of work. In the
fast pace of product development and testing,
optimizing (both failed and successful) test cases
is critical [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        At the same time, there are not so many
applications for tracking the history of
automated tests, they are limited in functionality.
And standard reports are always hard to read
since the appearance is not informative enough.
The most common test frameworks are NUnit
and TestNG, the latter of which was used in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Machine learning of classifier models is
based on the analysis of previous runs of
autotests. The main stages are [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
      </p>
      <p>1) coordination of the form and content of
information about the properties of objects of
observation;
2) determination of the list of diagnostic signs;
3) the formation of an array of input data (MVD);
4) construction and training of models by the
MIS synthesizer;</p>
      <p>5) testing and using models to identify the
causes of errors. The set of the obtained classifier
models is entered into the model knowledge
base, forming its hierarchical structure.</p>
      <p>
        The task of ensuring the information content
of the Ministry of Internal Affairs, sufficient for
constructing useful models by the available
methods and means, implemented in the
synthesizer of the MIS models, is always
relevant. The effective organization of
observation of research objects provides for the
attraction of the latest scientific achievements in
the subject area, in which the monitoring
technology is implemented [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Now there are not many implemented
readymade products for classifying the results of
automated testing. Most of them are test
developments and student projects [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Thus, the use of machine learning technology
of models through MIS for analyzing the results
of Automation tests is relevant and allows you to
increase the efficiency of QA engineers, allows
you to increase the coverage of web applications
with new tests, and improves the quality of
applications. It also reduces the time it takes to
make decisions to improve on failed tests.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Results</title>
      <p>
        A hypothesis was formulated that the list of
classification features for identifying the causes
of errors in programs should be obtained by
using Text Mining methods [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6-8</xref>
        ]. This work
examines the processes of forming a list of
features and forming an array of input data by
combining expert methods, Text Mining
methods, and ensemble classification methods.
For this, the results of the classification of
samples were studied after the formation of an
array of input data based on the features obtained
by using text mining reports of the fall of
automatic tests. The results were evaluated by
the number of correctly classified samples.
      </p>
      <p>Thus, at the first stage of building a
monitoring information system, it is necessary to
determine the format of the input and output
data.</p>
      <p>Input data for the system - are error messages,
and their example was shown on Figure 1.</p>
      <p>The initial data will be a table with the results
of automatic testing, the application of machine
learning algorithms, and detailed analysis will be
carried out directly by the testing engineer. They
establish the reason for the fall of the test. That
is, the input data was analyzed by an expert, who
allocated 4 classes of system responses to the
results of automation testing. However, if
necessary, this list can be expanded, that was
shown on Figure 2.</p>
      <p>For the analysis of the reports, the text Mining
approaches were used. Tokenization was carried out
(with the selection of the optimal length and mixture
of n-grams. In addition, from the preprocessing
approaches, the text cleaning was used. The main
purpose was to clean the text from specific
characters (primarily specific punctuation and
symbols). Also, the most frequently and rarely used
words were removed, do not allow define the
specifics of the text and classify it.</p>
      <p>
        Algorithms for the synthesis of classifier models
were constructed using artificial intelligence and
machine learning [
        <xref ref-type="bibr" rid="ref10 ref11 ref9">9-11</xref>
        ].
      </p>
      <p>
        In particular, the CountVectorizer provided by
the scikit-learn library [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] was used to vectorize
sentences. The method takes the words of each
sentence and builds the vocabulary of all unique
words in the sentences. This vocabulary can then be
used to create a vector of word count features. Now,
from each sentence, we can get occurrences of
words (or n-grams) in sentences based on the
previous dictionary. The dictionary consists of all
words with Stake trace, each of which represents one
word or phrase in the vocabulary. If we take the
previous sentences and implement the
CountVectorizer, we will get a vector representing
the number of occurrences of each word in the
sentences.
      </p>
      <p>After that, you can see the resulting function
vectors for each sentence based on the previous
dictionary, that is, Bag-of-words. Each document is
represented as an n-gram vector. You can then use
these vectors as function vectors for the machine
learning model.</p>
      <p>Thus, the list of informative signs contains a
mix of n-gram and the reason of the route cause,
determined by the expert. The resulting value for
the entire test case was determined based on the
Bayes' formula:
 (  ) =

∑</p>
      <p>Thus, at the first level of the MIS, a random
forest classifier
with
optimal parameters is
created
by
creating
samples
based
on the
bootstrap from the verified elements. Another
first-level model was decision tree “stumps”,
which were used as a baseline model for running
with optimal parameters. The generalization of
the results obtained at the previous levels was
due to the logistic regression model using the
Softmax function.</p>
      <p>The idea behind the MIS is to automate the
process of analyzing test reports by an engineer
and
provide
support for
making the final
decision. To do this, you will need to use two
roles: the admin side and the engineer side. The
administrator has access to all points and the
ability to edit root causes, create and train the
model. The engineer has access to all reports, can
view and analyze tests. All the functionality that
is on the Report list page, open to the engineer.
The functional diagram of the algorithm is
shown on Figure 4.
will be with the most likely critical root causes
decision rests with the engineer.</p>
      <p>Each test has its name and status, which are
displayed on Figure 5. If the test has not yet been
analyzed using the classification algorithm, the
“Prediction AI” column will be empty. To view
more detailed information about the test, you
must click on it.</p>
      <p>For unanalyzed tests, predictions will be
displayed in a special column. When analyzing,
an engineer will need to first of all pay attention
to those tests that will be with the most likely
critical root causes (Defect, Framework issue,
etc.). The final decision rests with the engineer.</p>
      <p>Thus, the engineer pays attention, first, to
those tests that have critical root causes and, in
more detail, examines the causes of their
occurrence and enters the results into the
database. These detailed reports will also be the
basis for training the model on subsequent
launches. The results of auto-analysis and
engineer's analysis can be seen as a result in the
table with tests. An example of these results is on
Figure 6.</p>
      <p>The developed system was tested based on
reports of automatic testing of the website
development process. The model test results are
demonstrated using an error matrix and are
shown in Figure 7. It is worth noting that the
result c6an be influenced by different class sizes
within the studied array of input data.</p>
      <p>From the 62 studied reports, the reasons were
correctly identified in 55, that is, the number of
correctly identified causes of errors was 89%.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Conclusions</title>
      <p>The use of MIS to provide information to
decision-making processes in the field of
automation testing allows you to successfully
solve the problems of classifying the analysis of
the input standard reports of automated tests
based on the data of the expert assessment of
automation engineers.</p>
      <p>The developed system can have a wide
practical use for solving problems in the process
of developing and testing software products. To
quickly identify critical root causes of test
failures, chronological analysis and help the
engineer make decisions. The introduction of
this system can lead to an increase in the ability
of engineers to cover web applications with new
tests and will lead to a higher quality of
applications. It will also reduce the time it takes
to make decisions about failed tests. The
obtained accuracy allows us to assert that the
proposed approach for the formation of the
Ministry of Internal Affairs makes it possible to
form it sufficiently informative due to its
application in conjunction with the proposed
architecture of the ensemble.</p>
      <p>The effectiveness of using the proposed
architecture of the ensemble classifier for the
synthesis of models-classifiers based on an array
has been experimentally confirmed.</p>
    </sec>
    <sec id="sec-4">
      <title>4. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Golub</surname>
          </string-name>
          <article-title>Bagatorivneve modelyuvannya v tehnologiyah monitoryngu otochuyuchogo seredovyshha (Multilevel modeling in environmental monitoring technologies</article-title>
          ),
          <source>Cherkasy: Vyd. ChNU imeni Bohdan Khmelnytsky</source>
          ,
          <year>2007</year>
          , 220 p.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Cser</surname>
          </string-name>
          <article-title>Why test automation needs machine learning</article-title>
          ,
          <year>2020</year>
          / URL: https://www.functionize.com/gated/eBookWhy-test
          <article-title>-automation-needs-ML.pdf</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Rajesh</given-names>
            <surname>Mathur</surname>
          </string-name>
          , Scott Miles,
          <source>Miao Du Adaptive Automation: Leveraging Machine Learning to Support Uninterrupted Automated Testing of Software Applications, arXiv:1508.00671v1 [cs.SE] 4 Aug</source>
          <year>2015</year>
          URL:https://arxiv.org/pdf/1508.00671.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Trudova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dolezel</surname>
          </string-name>
          <article-title>A. Buchalcevova Artificial Intelligence in Software Test Automation: A Systematic Literature Review</article-title>
          ,
          <source>Conference: 15th International Conference on Evaluation of Novel</source>
          Approaches to Software Engineering,
          <year>Portugal 2020</year>
          , рр.
          <fpage>181</fpage>
          -
          <lpage>192</lpage>
          , DOI:10.5220/0009417801810192.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Chechik Test Generation using Model Checking</article-title>
          , University of Toronto,
          <source>Collection of Reports from CSC2108 Automated Verification</source>
          ,
          <year>2018</year>
          , рр. 13. URL:http://www.cs.toronto.edu/~chechik/c ourses00/csc2108/projects/4.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Talib M. Kashif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shaeela</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fakeeha Text</surname>
          </string-name>
          <article-title>Mining: Techniques, Applications</article-title>
          and Issues,
          <source>International Journal of Advanced Computer Science and Applications</source>
          <volume>7</volume>
          (
          <issue>11</issue>
          ), November,
          <year>2016</year>
          , рр.
          <fpage>414</fpage>
          -
          <lpage>418</lpage>
          . DOI:
          <volume>10</volume>
          .14569/IJACSA.
          <year>2016</year>
          .071153 URL: https://www.researchgate.net/publication/31 1394659_Text_Mining_Techniques_Applic ations_and_Issues
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Jadhav</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Gadekar</surname>
          </string-name>
          <article-title>A survey on text mining and its techniques</article-title>
          , Survey Paper, Computer Science &amp; Engineering, India,
          <volume>3</volume>
          (
          <issue>11</issue>
          ),
          <year>2014</year>
          , рр.
          <fpage>2110</fpage>
          -
          <lpage>2113</lpage>
          . URL:https://www.semanticscholar.org/paper /A-Survey-
          <article-title>on-Text-Mining-and-ItsTechniques-JadhavGadekar/b46c04ad14d021ad444a71103d5c8 7297df3b976</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Antons</surname>
          </string-name>
          , E. Grünwald,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cichy</surname>
          </string-name>
          ,
          <string-name>
            <surname>T. O. Salge</surname>
          </string-name>
          <article-title>The application of text mining methods in innovation research: current state, evolution patterns, and development priorities</article-title>
          ,
          <source>R&amp;D management 50</source>
          (
          <year>2020</year>
          ), pp.
          <fpage>329</fpage>
          -
          <lpage>351</lpage>
          . doi:
          <volume>10</volume>
          .1111/radm.12408
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Golub</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.S. Avramenko</surname>
          </string-name>
          <article-title>Udoskonalennia klasyfikatoriv v monitorynhovykh intelektualnykh systemakh (Improvement of classifiers in monitoring intelligent systems</article-title>
          ),
          <source>Bulletin of the Academy of Engineering Sciences of Ukraine</source>
          ,
          <volume>1</volume>
          (
          <year>2019</year>
          ), рр.
          <fpage>67</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Avramenko</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Holub Classification models in information systems for social and environmental crisis monitoring</article-title>
          .
          <source>In: Inzynier XXI wieku. Monografia: Wydawnictwo naukowe Akademii Techniczno-Humanistycznej w Bielsku-Bialej</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.S.</given-names>
            <surname>Avramenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Golub</surname>
          </string-name>
          <article-title>Decrease of time of model synthesis in intellectual monitoring systems</article-title>
          .
          <source>Mathematical machines and systems</source>
          ,
          <volume>3</volume>
          (
          <year>2019</year>
          ), pp.
          <fpage>129</fpage>
          -
          <lpage>134</lpage>
          . DOI:
          <volume>10</volume>
          .34121/
          <fpage>1028</fpage>
          -9763-2019-3-
          <fpage>129</fpage>
          -134.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Library</surname>
          </string-name>
          scikit-learn.
          <source>Machine Learning in Python</source>
          , URL: https://scikitlearn.org/stable.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>