Quality Assurance и автоматизированное тестирование Loginom. Выступление Георгия Киселева

2 декабря 2020
0 комментариев

Как была создана state of the art система автоматизированного тестирования платформы Loginom: от выбора инструментов и внутренностей архитектуры до построения бизнес процесса.

Георгий Киселев
Loginom Company

Дата выступления:
 9 ноября 2020

pdfQuality Assurance и автоматизированное тестирование Loginom.pdf

Подробнее о выступлении

В докладе описано, как устроено автоматизированное тестирование Loginom и чем оно помогает развитию аналитической платформы.

Вводные данные аналитической low-code платформы Loginom с точки зрения обеспечения качества:

  • миллионы строк кода;
  • множество языков программирования;
  • десятки дополнительных библиотек;
  • богатый и гибкий пользовательский интерфейс.

Все вышеупомянутое создает потребность в автотестах. Из-за большого количества функций кода становится сложнее тестировать вручную. Увеличение числа пользователей формируют высокую цену ошибки. Использование Loginom в бизнес-критичных задачах (например, системы принятия решений, кредитный конвейер) выдвигает жесткие требования к срокам исправления ошибок. Времени на отладку работы платформы закладывается все меньше.

Почему ошибки в Loginom исправляются не сразу? Существует несколько причин:

  1. Быстрые изменения продукта в начале.
  2. Нестабильный список функционала.
  3. Отсутствие резкого роста сложности продукта.
  4. Некритичные затраты на тестирование.

Рассмотрим различные виды тестирования:

  1. Unit (модульное) — какая-либо обособленная часть платформы Loginom тестируется изолированно.
  2. Integration (интеграционное) — различные модули соединяются и проверяется валидность их совместной работы.
  3. End-to-end/Functional (конечное, функциональное) — платформа собирается в пользовательском виде, и производится тестирование.
  4. Ручное тестирование — тестировщики прогоняют вручную известные тест-кейсы, проверяет функционал, который сложно протестировать автоматически.
  5. Canary-тестирование — новый функционал передается пользователям для предварительного тестирования и получения обратной связи.

Изначально было определено 10 наиболее важных критериев выбора инструментов для тестов: простота использования; кросс-браузерность; поддержка языков JavaScript/TypeScript для написания тестов; многопоточность; работа браузера без графической оболочки; перезапуск и умное ожидание элементов; drag&drop по координатам; теги; скорость; интерактивная отладка. В итоге, среди 6-и рассматриваемых инструментов был выбран кросс-платформенный фреймворк TestCafe.

При внедрении автотестов было внесено множество изменений в код платформы и бизнес-процесс разработки с целью:

  1. Минимизации доработок, требуемых для тестов.
  2. Стабильности прохождения тестов.
  3. Простоте локализации ошибок.

В Loginom Сompany существует 2 вида тестирования:

  • приемочные тесты по требованиям к функционалу;
  • тесты для воспроизведения известных багов.

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

  1. Пользователь сообщает о баге в техподдержку.
  2. Заводится задача в системе баг-трекинга.
  3. Тестировщик создает скрипт теста.
  4. Скрипт передается на проверку другому сотруднику.
  5. Проверяющий указывает на ошибки и недоработки.
  6. Тест проверяется финально ведущим тестировщиком.
  7. Тест вливается в мастер-ветку репозитория тестов, которая включена в разработку Loginom.
  8. Написанный тест добавляется в Continuous Integration разработки.
  9. После каждого изменения созданный тест прогоняется, чтобы убедиться, что ошибка больше не возникает.

Время выполнения всех тестов Loginom — порядка 16 часов.

В качестве итогов от внедрения автотестов можно выделить следующие:

  1. Управляемость процесса улучшения качества.
  2. Стабильное снижение количества ошибок.
  3. Исключение регрессионных ошибок.
  4. Новые фичи без ухудшения качества.
  5. Ускорение развития платформы.

Другие материалы по теме:

Loginom Community Edition - аналитика, доступная каждому

Новые возможности Loginom 6.4. Вебинар

#loginom days 2020#loginom day#мероприятие#конференция

Смотрите также