Телефон: 8-800-350-22-65
Напишите нам:
WhatsApp:
Telegram:
MAX:
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CCXXVIII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 12 января 2026 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Барцевич А.С. АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ BI/CRM ВЕБ ПРИЛОЖЕНИЙ: СТРАТЕГИЯ ОТ UNIT ДО E2E НА ПРИМЕРЕ СЦЕНАРИЕВ «НЕДАВНИЕ», «ИЗБРАННОЕ», ЛИМИТОВ И КОПИРОВАНИЯ ВИДЖЕТОВ // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. CCXXVIII междунар. студ. науч.-практ. конф. № 1(227). URL: https://sibac.info/archive/meghdis/1(227).pdf (дата обращения: 26.01.2026)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ BI/CRM ВЕБ ПРИЛОЖЕНИЙ: СТРАТЕГИЯ ОТ UNIT ДО E2E НА ПРИМЕРЕ СЦЕНАРИЕВ «НЕДАВНИЕ», «ИЗБРАННОЕ», ЛИМИТОВ И КОПИРОВАНИЯ ВИДЖЕТОВ

Барцевич Алина Сергеевна

студент, кафедра экономической информатики, Белорусский государственный университет информатики и радиоэлектроники,

РБ, г. Минск

AUTOMATED TESTING OF BI/CRM WEB APPLICATIONS: A STRATEGY FROM UNIT TO E2E USING RECENT, FAVORITES, LIMITS, AND WIDGET COPYING SCENARIOS AS AN EXAMPLE

 

Bartsevich Alina Sergeevna

Student, Department of Economic Informatics, Belarusian State University of Informatics and Radioelectronics,

Belarus, Minsk

 

АННОТАЦИЯ

В работе представлена практическая стратегия автоматизированного тестирования BI/CRM веб приложений на основе пирамиды тестов (unit – интеграционные – сквозные e2e). На примере реализованной системы агрегирования и представления данных показано, как строить устойчивые автотесты для пользовательских сценариев: «Недавние», «Избранное», ограничение размера истории, копирование/вставка виджетов отчёта, работа с шаблонными отчётами и мультиклиентский контекст. Описаны организация тестового окружения, подготовка тестовых данных, подходы к снижению нестабильности (flake rate), метрики качества набора тестов и интеграция в CI/CD. Приведены фрагменты кода и рекомендации, повышающие инженерную зрелость и качество BI/CRM продуктов.

ABSTRACT

This paper presents a practical strategy for automated testing of BI/CRM web applications based on a test pyramid (unit → integration → end-to-end e2e). Using an example of an implemented data aggregation and presentation system, it demonstrates how to build robust automated tests for user scenarios: "Recents," "Favorites," history size limitation, copy/paste of report widgets, working with template reports, and multi-client context. The paper describes the organization of the test environment, preparation of test data, approaches to reducing instability (flake rate), test suite quality metrics, and CI/CD integration. Code snippets and recommendations for improving the engineering maturity and quality of BI/CRM products are provided.

 

Ключевые слова: автоматизированное тестирование, Selenium, .NET, unit тесты, интеграционные тесты, e2e тесты, BI, CRM, CI/CD, тестовые данные.

Keywords: Automated testing, Selenium, .NET, unit tests, integration tests, e2e tests, BI, CRM, CI/CD, test data.

 

BI/CRM‑интерфейсы чувствительны к регрессам: сбои в «Недавних», «Избранном», фильтрации и операциях с виджетами сразу ухудшают скорость и точность управленческих решений. Ручной регресс нарастает по затратам и времени, поэтому требуется системная автоматизация, которая даёт быструю обратную связь и удерживает качество при изменениях данных и кода. Мы опираемся на паттерны проектирования тестов и принципы «пирамиды» (сильная база unit + интеграция, узкая вершина e2e) [1–2].

Метод и инструменты. Тестируемая система реализована на .NET MVC с использованием Entity Framework и веб‑интерфейса. Для unit/интеграционных проверок применялись xUnit/NUnit, моки и встроенные средства тестирования контроллеров/микросервисных API, в том числе TestServer для ASP.NET Core [4]. Сквозные сценарии выполнялись в Selenium WebDriver с шаблоном Page Object и явными ожиданиями WebDriverWait [3]. Окружение поднималось через Docker Compose: приложение, БД, миграции и исходные фикстуры. Для воспроизводимости введены фабрики данных и абстракция времени (фиксированная тайм‑зона и «текущее время»), чтобы корректно проверять «сегодня/неделя».

Стратегия тестирования. В основе — пирамида из трёх уровней [2]. На уровне unit сосредоточена логика без внешних зависимостей: правила расчёта и «скользящее окно» для ограничения истории «Недавних» (не более 30 элементов), маппинги, валидации; такие тесты выполняются миллисекундами и позволяют локально изолировать дефекты [1]. Интеграционные проверки подтверждают корректность взаимодействия слоёв: API‑контракты, сортировки и пейджинг, транзакционность операций «избранное/не избранное», сериализация дат и локализация времени [4]. Узкая e2e‑верхушка воспроизводит пользовательские сценарии в браузере: добавление/удаление из «Избранного», заполнение «Недавних» в нужном порядке, проверка лимита в 30 записей, копирование/вставка виджетов на отчёте, генерация шаблонного отчёта без попадания в «Недавние», смена клиента с раздельной историей. Такой баланс сочетает скорость обратной связи с гарантиями пользовательского пути.

Ключевые сценарии. Сценарий «Избранное» подтверждает, что закрепление и снятие работают стабильно и отражаются в боковой панели. «Недавние» проверяются на наполнение в хронологическом порядке, на раздельность по клиентам и на соблюдение лимита: при открытии больше 30 элементов сохраняются только последние, что фиксируется одновременно через UI и чтение состояния в БД — двойная верификация уменьшает «ложно‑зелёные» результаты. Операции с виджетами (копирование/вставка) валидируются по факту появления копии с ожидаемым названием и сохранения состояния после перезагрузки страницы. Для шаблонных отчётов важна UX‑оговорка: скачивание PDF не считается «просмотром» и не должно попадать в «Недавние» — это отдельное бизнес‑правило, зафиксированное сквозными тестами. Во всех сценариях применяются явные ожидания загрузки данных и завершения сетевых запросов [3].

Снижение нестабильности. Надёжность e2e обеспечивается несколькими практиками. Во‑первых, тесты ждут не «время», а «событие»: появление данных или окончание запроса — это резко снижает флейки [3]. Во‑вторых, используются устойчивые локаторы (data‑атрибуты), а не хрупкие Xpath. В‑третьих, каждый тест готовит и чистит своё состояние идемпотентно: уникальные имена объектов, фабрики данных, teardown без «магических» зависимостей — подход, рекомендованный паттернами xUnit [1]. Наконец, при падениях сохраняются артефакты — скриншоты, дамп HTML и логи консоли/сети — что уменьшает среднее время диагностики.

Интеграция в CI/CD и метрики. Пайплайн разделён на быстрый и полный прогон. В каждом pull‑request запускаются все unit‑тесты, часть интеграционных и «smoke»‑набор e2e (критические сценарии). Ночью выполняется расширенный интеграционный и полный e2e‑набор. В качестве метрик отслеживаются доля покрытия критических сценариев e2e, flake‑rate (целевое значение <3%), длительность прогонов на каждом уровне и среднее время диагностики инцидента. Такая матрица соответствует практикам «пирамиды», когда дорогие e2e используются точечно как защита наиболее ценного UX [2–3].

Практическая выгода подхода выражается в снижении затрат на регресс‑тестирование при сохранении доверия к отчётам. Большую часть дефектов ловят дешёвые unit/интеграционные проверки, а e2e покрывает только то, что действительно важно пользователю: корректность истории и избранного, предсказуемость поведения виджетов, отсутствия «шумных» попаданий в «Недавние». Ключевыми оказались две идеи: проверять бизнес‑правила одновременно через UI и данные, и проектировать «тестируемость» приложения заранее (data‑локаторы, абстракция времени, стабильные идентификаторы) [1–3]. Ограничения работы связаны с лабораторной природой данных и браузерного окружения; дальнейшее развитие — добавление тестов доступности и мобильных сценариев, а также регресса производительности.

Комбинация пирамиды тестов с целевыми e2e‑сценариями для «Недавних», «Избранного», лимитов истории и операций с виджетами обеспечивает устойчивое качество BI/CRM веб‑приложений. Опора на паттерны тестирования [1], «пиромиду» [2] и best‑practice Selenium [3], а также корректная интеграция в CI/CD [4], позволяет снизить нестабильность, ускорить обратную связь и повысить инженерную зрелость продукта.

 

Список литературы:

  1. Meszaros G. xUnit Test Patterns: Refactoring Test Code. Addison‑Wesley, 2007.
  2. Martin Fowler. The Practical Test Pyramid. martinfowler.com.
  3. Selenium WebDriver Documentation. https://www.selenium.dev/documentation/
  4. Microsoft Docs. Integration testing in ASP.NET Core. https://learn.microsoft.com/
  5. Nielsen J. Usability Engineering. Morgan Kaufmann, 1993.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий