Як автоматизоване тестування допомогло телеком-клієнту прискорити релізи та підвищити якість продукту
Головна
Кейси
Як автоматизоване тестування допомогло телеком-клієнту прискорити релізи та підвищити якість продукту

Індустрія:

Телекомунікації

Локація

ЄВРОПА

Платформа

.NET

Кооперація:

2+ р.

Як автоматизоване тестування допомогло телеком-клієнту прискорити релізи та підвищити якість продукту

Про клієнта 

Наш давній клієнт з Європи (NDA) розробляє BSS рішення (Business Support System) для постачальників телекомунікаційних послуг. Ми вже надавали підтримку одному з його ключових продуктів — корпоративній ERP системі. Команда NetLS допомогла клієнту задовольнити вимоги телеком оператора шляхом модернізації застарілих рішень, прискорення розробки та впровадження покрокового тест плану. У результаті клієнт був готовий до виходу на нові ринки, адже цифрова трансформація системи дозволила обробляти більші навантаження, складніші процеси й великі обсяги даних. 

Проблема: мануальне тестування не справлялося 

Ми працювали з цим клієнтом понад півтора року, і в певний момент мануального тестування стало недостатньо. 

Склад проєкту на старті: 

  • Наша команда: 3 інженери, фахівець з баз даних, QA, менеджер і frontend розробник. 
  • Паралельна команда: інженер баз даних, ETL інженер, full stack розробник, frontend розробник, DevOps інженер, продакт менеджер. 

Зі зростанням функціональності з кожним спринтом зростала й кількість регресійних сценаріїв. Через 9 місяців клієнт запросив ще одного тестувальника. Однак мануальне тестування все одно не встигало обробити навантаження. 

Крім того, ми залучили молодшого інженера, який спочатку присвячував тестуванню 50% робочого часу, а згодом повністю перейшов до підтримки QA через великий обсяг роботи. Незважаючи на ці зусилля, цикли ручної регресії залишалися складними, а двотижневі спринти затримувалися, бо QA просто не встигав завершити тестування до релізу. 

Найкритичнішим відкриттям для клієнта стало повна відсутність мобільного тестування. Навіть десктоп версію не вдавалося протестувати повністю — про мобільні пристрої не йшлося взагалі. 

Чому автоматизація тестування стала найкращим рішенням 

Ситуація клієнта мала кілька факторів, які підштовхнули нас до впровадження автоматизованого тестування: 

  • Необхідність тестувати одразу кілька платформ (веб і мобільні) 
  • Часті оновлення функціоналу 
  • Велика база користувачів і високі вимоги до продуктивності інтерфейсу 
  • Всі перевірки виконувались вручну, автоматизація була мінімальною 
  • Затримки релізів стали критичними через довгі цикли регресії 

Автоматизація тестування стала правильним бізнес рішенням: 

  • Потрібно було пришвидшити перевірку функціоналу та випуск оновлень 
  • Впровадити BDD для автоматизованих сценаріїв обліку клієнтів — для кращої прозорості й перевірки бізнес логіки 
  • Підвищити точність і стабільність тестів 
  • Підтримати асинхронну CI/CD перевірку для надійного процесу 

Наш підхід: CI/CD пайплайн для автоматизованого тестування 

QA та Automation Testing — це наші ключові компетенції. Для впровадження ефективної автоматизації ми реалізували CI/CD інтеграцію тестування для білінгової платформи телеком компанії. Це дозволило: 

  • Звільнити DevOps інженера від задач QA 
  • Запустити автоматизоване тестування на кількох пристроях з різними характеристиками 

Оптимізоване покриття включало: 

  • UI потоки 
  • Автоматизовану регресію C# систем із асинхронним запуском 
  • Тестування продуктивності 
  • Перевірку поведінки в умовах різного інтернет з’єднання 
  • Масштабоване крос девайсне UI тестування 

Ми провели навантажувальне тестування на 5 найпопулярніших брендах мобільних пристроїв (Apple, Samsung, Xiaomi, Google Pixel, OnePlus) під різними версіями Android, з обмеженнями RAM, сховища та роздільної здатності. 

Сценарії включали складні UI переходи, перевірку завантаження сторінок, взаємодію з динамічними таблицями та формами. 

771

Приклад сценарію 

Feature — частина бізнес логіки, яку потрібно протестувати. 

Фреймворк автоматично визначає всі релевантні елементи для взаємодії та верифікації. Також він дозволяє збирати всі метрики активності користувача. 

Сценарії можуть бути параметризовані за допомогою Examples — списків або діапазонів вхідних даних. 

Як працює CI пайплайн 

Сценарії пишуться мовою бізнесу, з використанням доменної термінології. Всі BDD сценарії релевантні до майбутніх релізів. 

Фреймворк не залежить від front end верстки (CSS/HTML), тому є стабільним. Він забезпечує трасування по модулях: Billing, Reports, ReportKit, TeleMarket. 

На основі списку «підозрілих» ключових слів система автоматично виявляє їх, підсвічує та додає до скріншотів у звітах. 

NetLS отримує звіти про успішні проходження тестів. Клієнта інформують лише у випадку збоїв у продакшені. 

771-2

Стратегія автоматизованого тестування 

Integration testing 

Інтеграційне тестування виконується для перевірки зв’язків між компонентами системи, а також взаємодії між різними її частинами. 

У межах цього проєкту всі абоненти поділені на групи. Для кожної групи абонентів можна призначити знижку та тарифний план. Тому необхідно протестувати взаємодію між компонентами: «Тарифні пакети» – «Групи абонентів» – «Групові знижки». 

Також можлива перевірка взаємодії між такими компонентами, як: «Тарифні пакети» – «Тарифні плани» – «Стандарт». 

System testing 

Основна мета системного тестування — перевірити як функціональні, так і нефункціональні вимоги до системи в цілому. 

Наприклад, на сторінці «Тарифні пакети» можна перевірити наступні режими: «Додати», «Редагувати», «Зберегти», «Видалити». 

Крім того, за допомогою фільтрів на сторінці «Тарифні пакети» можна перевірити, як змінюється результат у таблиці та чи можливо редагувати, зберігати або видаляти ці дані. 

Acceptance testing 

Це формалізований процес тестування, який перевіряє, чи відповідає система вимогам, і виконується з метою: 

  • Визначення того, чи система відповідає вимогам і бізнес потребам. 
  • Прийняття рішення з боку клієнта або іншої уповноваженої особи щодо розгортання останньої версії проєкту на продакшен сервері. 

Технології та інструменти 

У рамках наших послуг з технологічного консалтингу, ми підтримали проєкт клієнта надійним технологічним стеком, який забезпечує конкурентну перевагу. Ми використали: 

  • C# – для автоматизації логіки на стороні бекенду. 
  • BDD-фреймворки – для створення сценаріїв тестування у зрозумілому для бізнесу форматі. 
  • Selenium Grid – для паралельного, кросплатформного UI-тестування. 
  • Azure DevOps Pipelines – для автоматизації запуску тестів і доставки рішень. 
  • Bootstrap – для адаптивного, мобайл-фьорст дизайну інтерфейсу користувача та уніфікованого стилю. 
  • SharePoint – для централізованої співпраці, керування документацією, звітності по версіях рішення та інтеграції бізнес-процесів. 
  • jQuery – для спрощення маніпуляцій з DOM і покращення інтерактивності інтерфейсу на стороні клієнта. 
  • Reqnroll – відкритий фреймворк для BDD-тестування у стилі Cucumber для .NET. Розроблений як оновлення проєкту SpecFlow. 
  • SQL Server Profiler – для моніторингу подій у базі даних і оптимізації продуктивності запитів. 
  • Angular – для динамічної, компонентної розробки інтерфейсу користувача. 
  • Debugger – для трасування та виправлення логіки застосунку в реальному часі під час розробки й тестування. 
  • TeamCity – для безперервної інтеграції та управління збірками у передпродакшен-середовищі. 
  • Синтаксис Gherkin – для послідовного, предметно-орієнтованого опису тестових сценаріїв. 
  • Azure Monitor – для спостереження, збору метрик і логів у хмарному середовищі. 

Планування 

Фаза 1 (3 місяці): 

  • QA Automation – 320 год 
  • .NET Engineer – 200 год 
  • DevOps – 80 год 
  • Project Manager – 160 год 

Згідно з ТЗ, наш інженер з контролю якості визначив ключові користувацькі флоу, які мають бути охоплені автоматизованими тестами. Інженер з автоматизації QA допоміг суттєво знизити витрати: замість ручного тестування кожного релізу тести тепер запускаються автоматично через CI/CD pipeline одразу після кожного коміту. Після написання ці тести щоспринтово заощаджують десятки годин ручної роботи. 

Активна участь проєктного менеджера була критично важливою. Менеджер координував перегляд сценаріїв зі стейкхолдерами з боку клієнта, щоб забезпечити спільне розуміння того, що саме буде протестовано, узгодити вхідні дані та очікувані результати, а також сформувати єдине бачення роботи ключових функцій — як з бізнесової, так і з технічної точки зору. 

Під час етапу планування ми уточнили правила використання граматики BDD. Разом із клієнтом ми визначили й затвердили стандартний формат опису сценаріїв. У результаті всі сценарії були одразу прийняті. 

Друга фаза була зосереджена переважно на підтримці. Мінімальна кількість звернень до служби підтримки — лише три мікрооновлення за півтора року — свідчить про ефективність впровадженого рішення. 

Результати та бізнес ефект 

Через 4 місяці клієнт отримав повний набір скриптів, що зняли навантаження з ручного тестування: 

  • Своєчасні релізи згідно з роадмапом 
  • Автоматизація як частина CI/CD 
  • Зниження людських помилок 
  • Повне покриття мобільного тестування 
  • Підвищення стабільності та якості продукту 

Після співпраці компанії можуть: 

  • Презентувати кандидат реліз у кінці кожного спринту 
  • Проводити UAT після деплою 
  • Вносити зміни до старту наступного спринту 
  • Реалізувати автоматизацію без внутрішніх фахівців 
  • Посилити лояльність користувачів 
  • Збільшити прибуток і розширити клієнтську базу 
  • Скоротити витрати на QA 
  • Поліпшити якість продукту та позиціювання на ринку 

Дізнайтеся, як наші рішення з автоматизації тестування на Reqnroll для .NET допоможуть вам підвищити якість, швидкість і ефективність QA.  

Запитайте наші ціни | NETLS, щоб надати нам деталі ваших потреб та записатися на вступний дзвінок, щоб дізнатися, як наші рішення з автоматизації можуть відповідати цілям вашого бізнесу. 

Yuliia Suprunenko

Вас зацікавив наш кейс стаді?

Команда NetLS може розробити індивідуальне інноваційне рішення на основі нашого досвіду спеціально для вашого бізнесу. Заповнюйте форму і ми повернемось до вас з унікальною пропозицією!

I consent to receiving news, updates, and special offers via email

By sending a message you agree with your information being stored by us in relation to dealing with your enquiry. Please have a look at our Privacy Policy

Related articles

Кооперація: 1+ р.

Архітектура обробки IoT-даних для енергетичної компанії на Azure Cloud

Для ефективної допомоги бізнесам у оптимізації енергоспоживання нашому клієнту знадобилася внутрішня система для відображення та обробки IoT-даних, чи то для житлового будинку, офісної будівлі чи заводу, щоб покращити аналітику, автоматизувати звітування, візуалізацію та надавати практичні рекомендації. Наша глибока та всебічна технічна експертиза у створенні інноваційних рішень дозволила нам з упевненістю розпочати роботу над цим складним проєктом.

Кооперація: 8+ міс.

Підготовка тест-плану для білінгової системи в телеком-індустрії

У цьому кейсі клієнт мав відповідати суворим вимогам одного з найбільших мобільних операторів та інтернет-провайдерів в Україні (NDA). З приблизно 4 000 працівників і понад 27 мільйонами користувачів по всій країні, проєкт вимагав ретельного планування на кожному етапі впровадження. Щоб забезпечити високу якість розробки та стабільність продукту, команда NetLS розробила покроковий тест-план для координації зусиль тестування, зменшення ризиків та підвищення ефективності процесу.

Кооперація: 1+ міс.

Онлайн рішення для картографічної звітності у сфері енергетики

Наш клієнт, компанія в енергетичному секторі, володіє кількома сонячними електростанціями, розташованими на різних об’єктах, і активно розширює свою інфраструктуру. Ключовою вимогою було впровадження рішення, яке б дозволяло оперативно відображати статус кожної соячної станції на інтерактивній мапі. Наша команда одразу занурилася у процес і почала створювати рішення з нуля.