AUTOMATED TESTING OF WEB APPLICATIONS WITH MULTI-TIER ARCHITECTURE

АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ ВЕБ-ПРИЛОЖЕНИЙ С РАЗНОУРОВНЕВОЙ АРХИТЕКТУРОЙ
Ukhlivanov S.
Цитировать:
Ukhlivanov S. AUTOMATED TESTING OF WEB APPLICATIONS WITH MULTI-TIER ARCHITECTURE // Universum: технические науки : электрон. научн. журн. 2024. 10(127). URL: https://7universum.com/ru/tech/archive/item/18300 (дата обращения: 18.11.2024).
Прочитать статью:

 

ABSTRACT

The article highlights the topical issues related to conducting automated tests of web applications that have a multi-tier architecture. In the course of the research two main ways that allow automating tests of web applications are described. It is noted that includes automatic testing and highlights the features of multi-tier applications, which should be considered when choosing the means of conducting tests. The cycle of automatic testing is presented separately and its main stages are briefly described.

АННОТАЦИЯ

В статье освещаются актуальные вопросы, связанные с проведением автоматических тестов веб-приложений, которые имеют разноуровневую архитектуру. В процессе исследования описаны два основных способа, позволяющих автоматизировать тесты веб-приложений. Отмечены основные виды автоматического тестирования и выделены особенности многоуровневых приложений, которые следует учитывать при выборе средств проведения тестов. Отдельно представлен цикл автоматического тестирования и кратко описаны его ключевые этапы.

 

Keywords: test, web application, automation, architecture.

Ключевые слова: тест, веб-приложение, автоматизация, архитектура.

 

Testing is one of the most important aspects of developing reliable and quality software systems.

 When it comes to multi-tier web applications, the testing process becomes even more complex due to the complex interactions between different elements, the need to ensure seamless integration, and end-to-end functionality. Testing web applications occupies one of the main places in their development process, and the damage caused by poor performance to the base level of an organization emphasizes the need to conduct it properly [1].

 A quarter of users leave a web page that takes four seconds to load, and “Black Friday” serves as an example of how many millions can be lost to poor web application performance.

Obvious is the fact that realistic testing cannot simply be based on a large number of repeated tests using little diverse data. Instead, tests should reflect the full range of actions that users can take towards the system in production, and the full range of possible workloads. Therefore, given that the complexity of web applications is rapidly increasing as are the requirements for their reliability and security, the automation of software systems tests is of particular relevance today.

Automated testing is one of the fastest-growing segments of the software industry. According to one of the McKinsey studies, the expected annual growth will be 16.4 % from 2024 to 2027. Today, virtually 100% of companies use test automation in one capacity or another [2].

Test automation has countless benefits. It helps companies significantly increase test coverage, detect and fix bugs faster, accelerate release schedules, and save money by creating reusable tests that deliver reliable results.

Nevertheless, automation is not necessarily a process without downsides. Especially when it comes to web applications with a multi-tier architecture where the implementation is distributed across different layers and runs on different machines. For this reason, to test the overall behavior of web applications, through-testing methods supported by robust automation are needed.

Thus, the relevance and practical importance of the identified issues predetermined the choice of the topic of this article.

The description of the best automated tools for testing web applications devoted their works to A.V. Tkachev, D.V. Irtegov, A.V. White, O.A. Mitrofanova, N.A. Dubinina, V.O. Fedorov, M.S. Shilkina.

Algorithms for creating and running automated tests using the Automated Test Framework are reviewed by B.F. Latypov, T.R. Ziyazetdinov, A.R. Mukhetdinov, O.N. Vybornova, A.N. Ryzhikov.

At the same time, considering the fact that web application testing is a complex process as its difficulties are multiplied by all the distributed system components interacting with the application, the issues of organizing an efficient automation of the testing process require more detailed elaboration and in-depth analysis. So, for example, the development of an automation test infrastructure with a multi-level architectural approach deserves special attention.

So, the purpose of the article is to consider the features of automated web application testing with a multi-tier architecture.

First of all, it is essential to note that web application testing automation implies using software to perform automated tests that allow you to identify bugs in the application’s performance. Test automation gives you the ability to repeat tests multiple times, using a framework to ensure each test step is executed. Moreover, it is possible to constantly run automated tests as software updates are released, which ensures that there are no new bugs in the web application [3].

Currently, two main ways can be distinguished to automate web application tests with a multi-tier architecture.

1. Using a task launcher, such as Grunt or Gulp, or npm scripts to start tests and clean up code during the build process. This is an effective way to solve, for example, tasks such as linting and minifying code, adding CSS prefixes, or transposing nascent JavaScript features for maximum cross-browserability.

2. Applying a browser automation system, such as Selenium, to run certain tests in installed browsers and return results, alerting to failures as they occur. Commercial cross-browser testing applications like Sauce Labs and BrowserStack are based on Selenium but allow remote access to their settings with a simple interface, eliminating the need to set up your own testing system.

The different types of automated web application testing include functionality testing, usability, cross-browser compatibility, performance testing under load and stress, and accessibility testing. However, for multi-tier applications, it is critical to thoroughly understand the system architecture before proceeding with testing. This involves defining the different levels or layers (e.g., representation, business logic, data access), the communication channels between them, and the technologies involved [4]. A clear understanding of the system architecture will help you plan and prioritize more effectively when testing.

In Fig. 1 presents the automatic testing cycle of web applications with a multi-tier architecture on the example of the Shadow DOM framework

 

Figure. 1 Automatic testing cycle of web applications with multi-tier architecture

 

Let us consider in more detail the main stages of the cycle presented in Fig. 1 . 1

1. Web UI scanning automatically creates complete page objects and implementation code in C#, Java, Javascript, VB Script, Python, and other languages.

2. Application Scanner automatically identifies CSS roots and IDs, saving time from writing complex and repetitive element locators.

3. “Fast Modeling” without delays converts scanned items into logically complete models by defining the equivalence classes associated with each scanned item.

4. Automated coverage algorithms generate the smallest set of test scenarios needed to thoroughly test the simulated web application, detecting defects earlier and spending fewer resources to fix them.

5. Exporting optimized test cases to test management tools such as Zephyr, Azure DevOps, and ALM/Octane creates a connection to them by automatically updating test cases after test execution.

6. Test Scenario Generation embeds dynamic test data features into each test, automatically deploying automation code to Git repositories and running CI/CD processes to execute tests.

7. Updating central models re-generates and synchronizes automated test scenarios and test cases, providing comprehensive automated testing in short iterations.

Summarizing the results of the conducted study, note that an automated web application testing system with a multi-tier architecture allows to quickly and efficiently administer all components of the system, receive information messages and carry out analysis of changes, errors, server part resources and optimize the overall performance of the project. One of the most important areas of development of test automation tools is to support the test suite in an up-to-date state when the web application changes, as well as to expand the types of tests.

 

References:

  1. Popkov M.Yu. Development of a universal library to optimize processes of automated testing of basic functionality of web applications // Issues of sustainable development of society. 2022. No 7. P. 978–982.
  2. Balashova Yu.V. Automated testing of web applications: the role of selenium in innovative approaches // Transnistrian University Bulletin. 2023. No 3 (75). S. 217-226.
  3. Dergachev K.V., Essam M.F. Development of an automated system for the creation and testing of prototypes of user interfaces // Ergodesign. 2022. No 4 (18). Р. 252-261.
  4. Vybornova ON, Automated vulnerability search of web applications based on machine learning with reinforcement // Caspian Journal: Management and High Technologies. 2021. No 1 (53). Р. 91-97.
Информация об авторах

Optum, Senior Software Engineer, USA, San Francisco

старший программист /разработчик, Оптум, США, г. Сан Франциско

Журнал зарегистрирован Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), регистрационный номер ЭЛ №ФС77-54434 от 17.06.2013
Учредитель журнала - ООО «МЦНО»
Главный редактор - Ахметов Сайранбек Махсутович.
Top