Наш путь от 90 до 6500 тестов
Иван Медведев
Что нужно малому бизнесу?
Деньги!
Что нужно государству?
Как не заплатить больше?
Деньги!
Нельзя сделать всю бухгалтерию
Как мы собираемся ее делать?
MVP (minimum viable product)
Постепенно усложняем, выпуская новые фичи
Много релизов
Хорошо, когда релиз первый
Не ведаем, что творим
Иногда, ведаем, но творим
Каждый раз тестировать руками долго
Нужны автоматические тесты
Типичный бухгалтер
Типичный предприниматель
Настоящий предприниматель
Что нужно хипстеру?
Хипстеру нужен iPhone
Нужны хорошие интерфейсы
Нужны функциональные тесты
Сложно реализовывать
Много ошибок
Итого
Нужно часто релизиться
Функциональные тесты проходят медленно
Continuous Integration
А что советует google?
Развернули 3 конфигурации
Больше
функций
интерфейсов
нюансов
тестов
1 ч
2 ч
5 ч
Все медленно
1 ч
2 ч
5 ч
Отказались от медленных конфигураций
Chrome ведет себя не как Chrome
Периодически пристреливаем Chrome
Вынуждены ждать вечно
Это файл проекта (.csproj) — xml
Его можно модифицировать перед запуском на агентах
10 10 10
Параллелить научились
Можно купить или арендовать сервер
Можно купить через дорогу
Не всегда тесты зеленые
Кто нсрл на паровоз?
Continuous Integration все время должна быть перед
глазами
Телевизор должен быть большим
Поднять глаза вверх — это непросто
Continuous Integration разговаривает с нами в
прямом смысле этого слова
могут проходить, могут не проходить, а могут ни то, ни другое
Нужно разогревать
Итого
6500 тысяч тестов
Общее время прогона — 40 минут
Требует усилий только одного разработчика
Результаты представлены максимально доступно
Релиз минимум раз в месяц