<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="JATS-archive-oasis-article1-4.xsd" article-type="research-article" dtd-version="1.4" xml:lang="ru">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Журнал Научное обозрение. Технические науки</journal-title>
      </journal-title-group>
      <issn>2500-0799</issn>
      <publisher>
        <publisher-name>Общество с ограниченной ответственностью &amp;quot;Издательский Дом &amp;quot;Академия Естествознания&amp;quot;</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.17513/srts.1390</article-id>
      <article-id pub-id-type="publisher-id">ART-1390</article-id>
      <title-group>
        <article-title>АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ ANDROID ПРИЛОЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Черевко</surname>
              <given-names>Н.А.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Cherevko</surname>
              <given-names>N.A.</given-names>
            </name>
          </name-alternatives>
          <email>fn1-kf@mail.ru</email>
          <xref ref-type="aff" rid="affed1105a1"/>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Белов</surname>
              <given-names>Ю.С.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Belov</surname>
              <given-names>Y.S.</given-names>
            </name>
          </name-alternatives>
          <email>fn1-kf@mail.ru</email>
          <xref ref-type="aff" rid="affed1105a1"/>
        </contrib>
      </contrib-group>
      <aff id="affed1105a1">
        <institution xml:lang="ru">ФГБОУ ВО «Московский государственный технический университет имени Н.Э. Баумана»</institution>
        <institution xml:lang="en">Bauman Moscow State Technical University</institution>
      </aff>
      <pub-date date-type="pub" iso-8601-date="2022-02-05">
        <day>05</day>
        <month>02</month>
        <year>2022</year>
      </pub-date>
      <issue>2</issue>
      <fpage>21</fpage>
      <lpage>25</lpage>
      <permissions>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This is an open-access article distributed under the terms of the CC BY 4.0 license.</license-p>
        </license>
      </permissions>
      <self-uri content-type="url" hreflang="ru">https://science-engineering.ru/ru/article/view?id=1390</self-uri>
      <abstract xml:lang="ru" lang-variant="original" lang-source="author">
        <p>Мобильные приложения ежедневно используются более чем половиной населения мира для выполнения самых разных задач. По мере все более широкого использования этих приложений возникает потребность в эффективных методах их тестирования. Традиционно компании использовали методы автоматического тестирования. Однако в последнее время все большее число организаций используют автоматизированные инструменты для тестирования. Многие фреймворки позволяют автоматизировать процесс тестирования приложений, однако существующие фреймворки в основном полагаются на разработчика приложений для предоставления тестовых сценариев для каждого разработанного приложения, что предотвращает повторное использование этих тестов для аналогичных приложений. В этой статье представляется новый подход к автоматизации тестирования приложений Android, используя методы машинного обучения и повторное использование популярных тестовых сценариев. Он основан на предположении, что различные компоненты в Android приложениях имеют схожую структуру интерфейса. Чтобы использовать это сходство, используются методы машинного обучения, которые классифицируют каждый компонент как один из семи типов заранее заготовленных компонентов, определённых в данной работе. Демонстрируются потенциальные преимущества нового подхода в эмпирическом исследовании, где показывается, что разработанный инструмент тестирования, основанный на предложенном подходе, превосходит стандартные методы в реальных условиях.</p>
      </abstract>
      <abstract xml:lang="en" lang-variant="translation" lang-source="translator">
        <p>Mobile applications are being used every day by more than half of the world’s population to perform a great variety of tasks. With the increasingly widespread usage of these applications, the need arises for efficient techniques to test them. Traditionally, companies used manual testing methods for testing their applications. However, recently, a growing number of companies and organizations use automated tools for their testings. Many frameworks allow automating the process of application testing, however existing frameworks mainly rely on the application developer for providing testing scripts for each developed application, thus preventing reuse of these tests for similar applications. The problem with this approach is that these tests are hand-coded for specific applications and specific scenarios, and each new application requires spending many resources to reuse these tests. In this paper, we present a novel approach for the automation of testing Android applications by leveraging machine learning techniques and reusing popular test scenarios. We discuss and demonstrate the potential benefits of our approach in an empirical study where we show that our developed testing tool, based on the proposed approach, outperforms standard methods in realistic settings.</p>
      </abstract>
      <kwd-group xml:lang="ru">
        <kwd>тестирование Android-приложений</kwd>
        <kwd>автоматизация мобильного тестирования</kwd>
        <kwd>классификация компонентов</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>Android application testing</kwd>
        <kwd>mobile testing automation</kwd>
        <kwd>activities classification</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <ref>
        <note>
          <p>1. Takeuchi Mi., Gustiar Mu. Development Money Diary Application Models on Android. International Conference on Information Management and Technology. 2020. P. 1–4.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>2. Naja Fa., Mansur Sy., Wibawanto Ad. Automated Software Testing on Mobile Applications: A Review with Special Focus on Android Platform. 20th International Conference on Advances in ICT for Emerging Regions. 2020. P. 4–6.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>3. Pan M., Xu To., Pei Yu. GUI-Guided Test Script Repair for Mobile Apps. IEEE Transactions on Software Engineering. 2022. Vol. 48. No. 3. P. 3–5.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>4. Motan Ma., Zein Sa. Android App Testing: A Model for Generating Automated Lifecycle Tests. 4th International Symposium on Multidisciplinary Studies and Innovative Technologies. 2020. P. 2–3.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>5. Md Faiz., Anwar Md. Hybrid Classification Model to Detect Android Application-Collusion. 43rd International Conference on Telecommunications and Signal Processing. 2020. P. 1–2.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>6. Mahmud Ta. API Compatibility Issue Detection, Testing and Analysis for Android App. 36th IEEE/ACM International Conference on Automated Software Engineering. 2021. P. 6–8.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>7. Jha K., Nadi S. Annotation practices in Android apps. IEEE 20th International Working Conference on Source Code Analysis and Manipulation. 2020. P. 2–3.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>8. Черевко Н.А., Белов Ю.С. Применение технологий машинного обучения в тестировании программного обеспечения // Высокие технологии и инновации в науке. Международной научной конференции. СПб., 2021. С. 127–129.</p>
        </note>
      </ref>
    </ref-list>
  </back>
</article>
