О тестировании в EDI

Preview:

Citation preview

Команда

• 12 разработчиков• 3 тестировщика

Что такое EDI• Быстро принять, преобразовать, переслать и отобразить в морде

много сообщений (400 000 в день)

Терминология unit, системные, браузерные, на интеграцию

код EDI

Часть кода EDI, в которой сосредоточена бизнес-логика

Функциональный макет на реакте

EDI

Тесты

EDI для девочек

Макет

Цепочки производства: 1. Нефункциональные задачи

Программист Бой (и с ближайшим релизом)

Код Тесты

Цепочки производства: 2. Код конвертеров, всякие мелочи

Аналитик Тестировщик Бой

Тесты Еще тестыEDI для девочек

Цепочки производства: 3. Обычные задачи (попроще)

Программист Тестировщик Бой

EDI Тесты Еще тесты

Цепочки производства: 3. Обычные задачи (посложнее)

Программист Проектировщик Фронтендер Тестировщик Бой

Тесты Еще тестыEDI Макет Морда

Цепочки производства: 3. Большие задачи

Проектировщик Программист Бой

Фронтендер Тестировщик

Тесты

EDIМакет

Морда

Цепочки производстваАналитик Проектировщик Фронтендер Программист Ревью Тестировщик Ревью Бой

EDI для девочек

Фуллстек таск

Задача на производительность мимо тестирования

Обычная задачка

Релизы• 1-2 релиза в неделю• Еще столько же нагрузочных релизов мимо тестеров• Не релизим после 13:00, и по пятницам• С 2-4 фичами каждый релиз

• Есть блог релизов в вики

Презентация архитектурных решений• Несколько за год, по большим задачам• Собираются программисты, но слушать можно всем

Что тестируем

• Новые фичи, новые интерфейсы• Регрессии нет, верим тестам

Где тестируем• 1й тестинг с боевыми интеграциями• 2й тестинг начали создавать

• Основная работа - локально

Тестинг• 45 сервисов• 7 баз• 10+ виртуалок• 3 больших железки• 18 000$

Когда тестируемРазработчик:• Код – тесты – полный прогон тестов – Ревью

Тестировщик:• Еще тесты – полный прогон тестов• Выкатываем на тестинг и гоняем на старых данных• Заливаем в мастер – полный прогон тестов

• Прогон основного кейса на тестинге (5 минут)• Релиз

После тестирования

Разборы полетов:• Не написал тест = не проверял

Передача знаний:• Ревью кода

Числа по тестам• 6496 тестов всех уровней (на 4 марта 2016)

Юнит

Системные

Браузерные

0 500 1000 1500 2000 2500 3000

Числа по тестам• Время прохождения тестов (без очереди) 9 часов =(

• Параллелим в 24 потока, но по типам тестов: 11+10+5+42+14+9+250+2+2+1+13+7+11+55+31+15+230+77+54+37+528+20+40 (минут)

• Полное время прогона в 1 поток: 25 часов• 14 агентов

Поток задач (прочеканы 30+ штук)

Параметр Минимум, дни

Максимум, дни

Среднее, дни 90% за, дни

Время ожидания задачи в очереди 0 10 2 4

Время в тестировании 0 42 6 13

Время ожидания релиза 0 6 3 5

От готовности к тесту до релиза 0 44 11 16

От создания до релиза 3 47 13 16

Практики• Код приложения читают все (я понимаю не всё, но всё равно

читаю)• Код тестов пишут и читают все

• Стараемся писать контракты в вики• Демо задач проводилось, но умерло

• Частая ситуация: разработчик чинит код с машины тестера. Этакая парная разработка

ПланыВ основном связаны с тестирующей системой и исполнением контрактов:

• Ревью кода• Регламент релиза• Оптимизация времени прохождения тестов• Понижение уровня тестов (browser system, systemunit)• Повышение стабильности тестов

Recommended