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

More Related Content

Similar to Наш путь от 90 до 6500 тестов / Иван Медведев (СКБ Контур)

Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньАлександр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Volha Banadyseva
 
Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...
Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...
Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...
Lviv Startup Club
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесу
Andrey Rebrov
 
Coub 2014: Управление быстрорастущим проектом
Coub 2014: Управление быстрорастущим проектомCoub 2014: Управление быстрорастущим проектом
Coub 2014: Управление быстрорастущим проектом
Mikhail Tabunov
 
Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)
Ontico
 

Similar to Наш путь от 90 до 6500 тестов / Иван Медведев (СКБ Контур) (20)

Как увеличить конверсию звонков с сайта?
Как увеличить конверсию звонков с сайта?Как увеличить конверсию звонков с сайта?
Как увеличить конверсию звонков с сайта?
 
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньАлександр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
 
Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...
Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...
Майстер-Клас від Павла Рязанова для ІТ-сеілзів. Як шукати замовників на закод...
 
Agile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииAgile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференции
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1
 
Автоматизация тестирования
Автоматизация тестированияАвтоматизация тестирования
Автоматизация тестирования
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесу
 
Фотография рабочего дня отдела продаж: увечить производительность
Фотография рабочего дня отдела продаж: увечить производительностьФотография рабочего дня отдела продаж: увечить производительность
Фотография рабочего дня отдела продаж: увечить производительность
 
Рецепты привлечения клиентов
Рецепты привлечения клиентовРецепты привлечения клиентов
Рецепты привлечения клиентов
 
KONVR - интерактивное тестирование и улучшение конверсии рекламных страниц
KONVR - интерактивное тестирование и улучшение конверсии рекламных страницKONVR - интерактивное тестирование и улучшение конверсии рекламных страниц
KONVR - интерактивное тестирование и улучшение конверсии рекламных страниц
 
Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)
 
Эффективное управление закупками и снабжением. Процессный подход
Эффективное управление закупками и снабжением. Процессный подходЭффективное управление закупками и снабжением. Процессный подход
Эффективное управление закупками и снабжением. Процессный подход
 
Переговоры с клиентом в SEO
Переговоры с клиентом в SEOПереговоры с клиентом в SEO
Переговоры с клиентом в SEO
 
Running Lean (Игорь Акимов, ABBYY)
Running Lean (Игорь Акимов, ABBYY)Running Lean (Игорь Акимов, ABBYY)
Running Lean (Игорь Акимов, ABBYY)
 
Отдел продажи на расстоянии вытянутой руки. Управление и развитие команды в д...
Отдел продажи на расстоянии вытянутой руки. Управление и развитие команды в д...Отдел продажи на расстоянии вытянутой руки. Управление и развитие команды в д...
Отдел продажи на расстоянии вытянутой руки. Управление и развитие команды в д...
 
Coub 2014: Управление быстрорастущим проектом
Coub 2014: Управление быстрорастущим проектомCoub 2014: Управление быстрорастущим проектом
Coub 2014: Управление быстрорастущим проектом
 
Software craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgileSoftware craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы Agile
 
Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)
 
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
 

More from Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Наш путь от 90 до 6500 тестов / Иван Медведев (СКБ Контур)