0.95M
Категория: ПрограммированиеПрограммирование

Автоматизация тестирования ДБО

1.

Автоматизация
тестирования
ДБО

2.

Пирамида тестирования
UI
tests
Backend
Integration tests
Unit tests
Тесты интерфейса
и пользовательских
сценариев
Дорого, долго и хрупко, но
тестируется бизнес-процесс
на фронт-системе
полностью
Тесты API,
интеграции,
межсервисного
взаимодействия
Быстро, не зависит от
состояния внешних
сервисов благодаря
заглушкам
Низкоуровневые
модульные тесты
Очень быстро, но не
интеграция, а отдельный
модуль в коде приложения

3.

Работа с задачами в Jira
Реквест на
реализацию фичи
Done
Автоматически создаются задачи с типом
AutoTest на каждый реквест
Задача на покрытие
автотестом
Технические задачи,
заводимые
автотестировщиком
Техтаски появляются в бэклоге,
приоритизируются, оцениваются и
берутся в спринт на планировании
командного спринта

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

4.

CI/CD и встраивание интеграционных тестов в процесс непрерывной поставки
VCS (Bitbucket)
Commit & Push
Разработчик
QAA
<service_code>
CI/CD
(TeamCity)
<integration_tests_code>
Неудача
(билд или тесты
зафейлены)
Build
Unit tests
Integration
tests
Успех
(билд и
тесты
зеленые)
Deployment

5.

Пример влияния бета-тестов на PR

6.

Сборки в
TeamCity на
примере
сервиса
Auth
Бета-тесты
(интеграционные)
Сборки сервиса и
Unit-тесты

7.

Как происходит автоматизация тестирования ИБ
Проект
автоматизации
Внешние системы
REST API
3card
Tibco.stub
Тестируемый
микросервис
T
I
B
C
O
CDI
Dynamics
card.stub

Заглушки сервисов
card
REST API (межсервисное взаимодействие)

8.

CI автотестов мобильных приложений
TeamCity
(ежедневный
триггер)
iOS / Android
app build
(dev или
release)
Обновление
статусов тесткейсов в TestIT
на основе
статистики
Формирование
статистики
прохождения
автотеста
UI-тесты на
каждую
платформу
Формирование
регресс-пака
кейсов
Регрессионное
тестирование

9.

Покрытие автотестами ИБ (Grafana)
Ссылка: qa-domain-coverage
Покрытие автотестами МБ
iOS
Android

10.

Влияние автоматизации на работу команд
1. Автоматизация – не замена ручному тестированию в полной мере, а обеспечение
работоспособности старого функционала.
2. Один из этапов поставки сервиса – запуск интеграционных тестов. Ответственность разработчика и
автоматизатора – зеленые тесты в CI. Если интеграционные тесты упали, производится анализ
ошибок.
3. Взятие задач на покрытие автотестами нового функционала происходит только после завершения
разработки фичи, например, в следующем спринте. Обязательное условие – написанные ручные
тест-кейсы.
4. Автотестировщик – полноценный член команды, задачи которого так же необходимо оценивать и
приоритизировать во время командных активностей.
English     Русский Правила