SlideShare uma empresa Scribd logo
1 de 46
проблемы роста
системы тестирования
 большого продукта
кто мы ?

• мы -              automation QA
• мы выпускаем большой продукт (платформу)
  – автоматизация облачных услуг и хостинга
  – 5000 сервис провайдеров - партнеров
  – 10 миллионов конечных пользователей
• 4 года - опыт автоматизации тестирования
• 5 команд автоматизации + outsourcing
• 100 разработчиков продукта
пирамида проблем


                               ???
level 4. ??

level 3. стоимость поддержки

level 2. проблемы роста

level 1. физиологический
???
     level 1:
физиологические
  потребности




                        4
система запуска тестов
система сбора результатов
репорт результатов
???
    level 2:
проблемы роста
???
проблема первая:
  изменения в
    продукте
изменения в продукте

• регулярные изменения - это
  неизбежно
• больше пользователей –
  чаще изменения
• больше тестов – сложнее
  контроль
изменения в продукте - проблема ?


• необходима               адаптация кода

• изменения UI заметны только после запуска

• изменения в бизнес логике – еще больнее
изменения в продукте: история


• 20       экранов UI
• 10       типов бизнес - объектов
• 100      тест кейсов



                • 1000      экранов UI
                • 300       типов бизнес - объектов
                • 10000     тест кейсов
изменения в продукте: последствия

   3 человека
 поддержка тестов                     другие
                          изменение
                              UI

                                изменение
                                 бизнес-
                                  логики
как решать ?



• генерация Java описаний UI страниц

• business-objects builders
генерация кода UI контролов


• вместе со сборкой продукта
• анализатор кода UI страниц продукта



• Java описания UI страниц
• поля в классах – Selenium control objects
генерация кода UI контролов: пример
profit ?
• известны все контролы на странице
• изменения контролов не ломают тесты
• удаление контрола заметно на стадии компиляции
изменения UI: итог

• минус 1 человек на поддержку
                                 заметны
                                  сразу



                                 не влияют на
                                    тесты
изменения бизнес-логики продукта
• сложное дерево связанности
• чем сложнее тест сценарии, тем сложнее
  зависимости
                               Account

                                                Billing
                Contact                         method
                                  User



                  Group                  Role



                          Permissions
изменения бизнес-логики: история


• 2-3 уровня зависимостей объектов
• 20 типов объектов



• 5-10 уровней зависимостей объектов
• 300 типов объектов
business-objects builders


• пока в ручную



• отдельный уровень библиотек
• фиксированная логика связанности
• генерации объекта по-умолчанию
попытаться сразу правильно?


• метрика автотестера - количество тесткейсов!

• 20 объектов и 2 уровня связанности

• не напрягает при небольшом объеме кода...
business-objects builders: пример
profit ?


• легкость оперирования объектами

• не переживаем о зависимостях

• единая логика конфигурации - НЕ в тестах
business-objects builders: итог
• сокращение времени исправления багов на 50%
• минус           строк кода тестов
• 1 исправление чинит много тестов
• минус 1 человек на поддержку
уровни в тестовой библиотеке
               собственно тесты




         business-object builders



        библиотеки бизнес-объектов




         Java описания UI страниц




          платформенный уровень

    Selenium     Log4j     SSH    UI elements
???
проблема вторая:
  стабильность
 запуска тестов
когда это проблема ?


• несколько команд и общие компоненты

• разрастается тестовая инфраструктура

• большое кол-во параллельных запусков
стабильность запуска тестов: история


•   1 платформа: Lin
•   2 конфигурации
•   100 тесткейсов
•   8 инсталляций на 2-х серверах



            •   4 платформы: Win, Win x64, Lin, Lin x64
            •   5 конфигураций на каждой платформе
            •   10000 тесткейсов
            •   100 инсталляций на 15-ти серверах
стабильность запуска тестов: последствия

• 1 проблема ломала 10 запусков
• 1 человек – разбор, перезапуск тестов
• 1 человек – поддержка инфраструктуры




                                           успешно
                                          пройдены


                                               ошибки из-за
                                             инфраструктурных
                                                 проблем
как решать ?

• “stable artifact”

• load management

• мониторинг инфраструктуры
stable artifact: зависимости компонент

• история успешности запусков
• 1 проблема ломает 1 запуск

                                    build




                      deployment          BVT
                         tool



                               customer             integration
                               upgrade                 tests



                      performance           stability
                                              tests
load management

• мониторинг серверов
• автоматическая очистка




• запуски на наименее
  загруженных серверах
• предотвращение перегрузки
• сложнее восстановить, чем
  предотвратить!
мониторинг инфраструктуры
•   third-party система мониторинга серверов
•   слежение за критическими компонентами
•   наличие истории
•   уменьшение кол-ва “cannot reproduce” багов
???

проблема третья:
10000 тесткейсов
10000 тесткейсов - проблема ?
• много тесткейсов – много падений в тестах
• 2000 падений - сложнее найти уникальные
• качество разбора падает
10000 тесткейсов: история


• 100 тесткейсов на 1 платформе
• 5% failed → 5 репортов
• 1/2 часа на разбор



                • 10000 тесткейсов на 4 платформах
                • 5% failed → 2000 репортов
                • 5 дней на разбор
10000 тесткейсов: последствия
•   не успеваем разбирать
•   50%        тестов
•   теряем regression баги
•   1 человек – на разбор тестов
как решать ?
• разделение на RED, GREEN группы
• GREEN bugs культура в Dev команде
• constant        dashboard
RED, GREEN test группы
• “теория разбитых окон”
• не даем разбиваться GREEN группам
• уменьшаем размер RED групп
GREEN bugs культура


• GREEN баг – приоритет ASAP
  для Dev команды
• GREEN “дежурный” в Dev
  команде
• Dev + QA контроль количества
  GREEN багов
constant           dashboard

• constant GREEN дешевле
• быстрая реакция на новые проблемы
• короче жизнь бага →дешевле фикс
???
   level 3:
 стоимость
поддержки
level 3: стоимость поддержки
•   те же проблемы: вид сбоку
•   синхронный коммит тестов и продукта
•   1 test failure → 1 баг
•   ускорение конфигурации test-а
???
automation QA
http://vk.com/parallels_aqa

Mais conteúdo relacionado

Mais procurados

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисовSQALab
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииCEE-SEC(R)
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеVasiliy Burov
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingLiloSEA
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестированииSQALab
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...COMAQA.BY
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформаSQALab
 
Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыCEE-SEC(R)
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumSQALab
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестированияIT61
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017Adam Sandman
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?CEE-SEC(R)
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumSQALab
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDCEE-SEC(R)
 
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2SeleniumАвтоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Seleniumjazzteam
 

Mais procurados (20)

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисов
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-команды
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
 
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2SeleniumАвтоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
 

Destaque

Как познакомить заказчика с жизненным циклом продукта?
Как познакомить заказчика с жизненным циклом продукта?Как познакомить заказчика с жизненным циклом продукта?
Как познакомить заказчика с жизненным циклом продукта?Ольга Павлова
 
Примеры слайдов "Было-стало"
Примеры слайдов "Было-стало"Примеры слайдов "Было-стало"
Примеры слайдов "Было-стало"1625.ru
 
Особенности работы с требованиями при доработке продукта для заказчика
Особенности работы с требованиями при доработке продукта для заказчикаОсобенности работы с требованиями при доработке продукта для заказчика
Особенности работы с требованиями при доработке продукта для заказчикаSQALab
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продуктаAlexey Filimonov
 
Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...
Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...
Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...Maxim Kyshtymov
 
Менеджер-снежинка
Менеджер-снежинкаМенеджер-снежинка
Менеджер-снежинкаSlava Pankratov
 

Destaque (8)

Как познакомить заказчика с жизненным циклом продукта?
Как познакомить заказчика с жизненным циклом продукта?Как познакомить заказчика с жизненным циклом продукта?
Как познакомить заказчика с жизненным циклом продукта?
 
Salesforum 2013
Salesforum 2013Salesforum 2013
Salesforum 2013
 
Психология коммуникаций
Психология коммуникацийПсихология коммуникаций
Психология коммуникаций
 
Примеры слайдов "Было-стало"
Примеры слайдов "Было-стало"Примеры слайдов "Было-стало"
Примеры слайдов "Было-стало"
 
Особенности работы с требованиями при доработке продукта для заказчика
Особенности работы с требованиями при доработке продукта для заказчикаОсобенности работы с требованиями при доработке продукта для заказчика
Особенности работы с требованиями при доработке продукта для заказчика
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
 
Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...
Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...
Алексей Ивахин, компания intecmedia — «Как объяснить клиенту, что продукт кру...
 
Менеджер-снежинка
Менеджер-снежинкаМенеджер-снежинка
Менеджер-снежинка
 

Semelhante a Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого продукта"

Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summaryAnton Zhukov
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - ТестированиеYandex
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSАлександр Шамрай
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Yandex
 
Тестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщикаТестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщикаZestranec
 
Тестирование крупных проектов командой из одного тестировщика
Тестирование крупных проектов командой из одного тестировщика Тестирование крупных проектов командой из одного тестировщика
Тестирование крупных проектов командой из одного тестировщика SQALab
 
Сервисы на базе автоматизации тестирования
Сервисы на базе автоматизации тестированияСервисы на базе автоматизации тестирования
Сервисы на базе автоматизации тестированияSQALab
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииSQALab
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьDaria Oreshkina
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСРоман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСDev_Party
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingAlexandr Zinovyev
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваSQALab
 
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньАлександр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньVolha Banadyseva
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!SQALab
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 

Semelhante a Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого продукта" (20)

Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summary
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
 
Тестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщикаТестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщика
 
Тестирование крупных проектов командой из одного тестировщика
Тестирование крупных проектов командой из одного тестировщика Тестирование крупных проектов командой из одного тестировщика
Тестирование крупных проектов командой из одного тестировщика
 
Сервисы на базе автоматизации тестирования
Сервисы на базе автоматизации тестированияСервисы на базе автоматизации тестирования
Сервисы на базе автоматизации тестирования
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСРоман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производства
 
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньАлександр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 

Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого продукта"

  • 2. кто мы ? • мы - automation QA • мы выпускаем большой продукт (платформу) – автоматизация облачных услуг и хостинга – 5000 сервис провайдеров - партнеров – 10 миллионов конечных пользователей • 4 года - опыт автоматизации тестирования • 5 команд автоматизации + outsourcing • 100 разработчиков продукта
  • 3. пирамида проблем ??? level 4. ?? level 3. стоимость поддержки level 2. проблемы роста level 1. физиологический
  • 4. ??? level 1: физиологические потребности 4
  • 8. ??? level 2: проблемы роста
  • 9. ??? проблема первая: изменения в продукте
  • 10. изменения в продукте • регулярные изменения - это неизбежно • больше пользователей – чаще изменения • больше тестов – сложнее контроль
  • 11. изменения в продукте - проблема ? • необходима адаптация кода • изменения UI заметны только после запуска • изменения в бизнес логике – еще больнее
  • 12. изменения в продукте: история • 20 экранов UI • 10 типов бизнес - объектов • 100 тест кейсов • 1000 экранов UI • 300 типов бизнес - объектов • 10000 тест кейсов
  • 13. изменения в продукте: последствия 3 человека поддержка тестов другие изменение UI изменение бизнес- логики
  • 14. как решать ? • генерация Java описаний UI страниц • business-objects builders
  • 15. генерация кода UI контролов • вместе со сборкой продукта • анализатор кода UI страниц продукта • Java описания UI страниц • поля в классах – Selenium control objects
  • 16. генерация кода UI контролов: пример
  • 17. profit ? • известны все контролы на странице • изменения контролов не ломают тесты • удаление контрола заметно на стадии компиляции
  • 18. изменения UI: итог • минус 1 человек на поддержку заметны сразу не влияют на тесты
  • 19. изменения бизнес-логики продукта • сложное дерево связанности • чем сложнее тест сценарии, тем сложнее зависимости Account Billing Contact method User Group Role Permissions
  • 20. изменения бизнес-логики: история • 2-3 уровня зависимостей объектов • 20 типов объектов • 5-10 уровней зависимостей объектов • 300 типов объектов
  • 21. business-objects builders • пока в ручную • отдельный уровень библиотек • фиксированная логика связанности • генерации объекта по-умолчанию
  • 22. попытаться сразу правильно? • метрика автотестера - количество тесткейсов! • 20 объектов и 2 уровня связанности • не напрягает при небольшом объеме кода...
  • 24. profit ? • легкость оперирования объектами • не переживаем о зависимостях • единая логика конфигурации - НЕ в тестах
  • 25. business-objects builders: итог • сокращение времени исправления багов на 50% • минус строк кода тестов • 1 исправление чинит много тестов • минус 1 человек на поддержку
  • 26. уровни в тестовой библиотеке собственно тесты business-object builders библиотеки бизнес-объектов Java описания UI страниц платформенный уровень Selenium Log4j SSH UI elements
  • 27. ??? проблема вторая: стабильность запуска тестов
  • 28. когда это проблема ? • несколько команд и общие компоненты • разрастается тестовая инфраструктура • большое кол-во параллельных запусков
  • 29. стабильность запуска тестов: история • 1 платформа: Lin • 2 конфигурации • 100 тесткейсов • 8 инсталляций на 2-х серверах • 4 платформы: Win, Win x64, Lin, Lin x64 • 5 конфигураций на каждой платформе • 10000 тесткейсов • 100 инсталляций на 15-ти серверах
  • 30. стабильность запуска тестов: последствия • 1 проблема ломала 10 запусков • 1 человек – разбор, перезапуск тестов • 1 человек – поддержка инфраструктуры успешно пройдены ошибки из-за инфраструктурных проблем
  • 31. как решать ? • “stable artifact” • load management • мониторинг инфраструктуры
  • 32. stable artifact: зависимости компонент • история успешности запусков • 1 проблема ломает 1 запуск build deployment BVT tool customer integration upgrade tests performance stability tests
  • 33. load management • мониторинг серверов • автоматическая очистка • запуски на наименее загруженных серверах • предотвращение перегрузки • сложнее восстановить, чем предотвратить!
  • 34. мониторинг инфраструктуры • third-party система мониторинга серверов • слежение за критическими компонентами • наличие истории • уменьшение кол-ва “cannot reproduce” багов
  • 36. 10000 тесткейсов - проблема ? • много тесткейсов – много падений в тестах • 2000 падений - сложнее найти уникальные • качество разбора падает
  • 37. 10000 тесткейсов: история • 100 тесткейсов на 1 платформе • 5% failed → 5 репортов • 1/2 часа на разбор • 10000 тесткейсов на 4 платформах • 5% failed → 2000 репортов • 5 дней на разбор
  • 38. 10000 тесткейсов: последствия • не успеваем разбирать • 50% тестов • теряем regression баги • 1 человек – на разбор тестов
  • 39. как решать ? • разделение на RED, GREEN группы • GREEN bugs культура в Dev команде • constant dashboard
  • 40. RED, GREEN test группы • “теория разбитых окон” • не даем разбиваться GREEN группам • уменьшаем размер RED групп
  • 41. GREEN bugs культура • GREEN баг – приоритет ASAP для Dev команды • GREEN “дежурный” в Dev команде • Dev + QA контроль количества GREEN багов
  • 42. constant dashboard • constant GREEN дешевле • быстрая реакция на новые проблемы • короче жизнь бага →дешевле фикс
  • 43. ??? level 3: стоимость поддержки
  • 44. level 3: стоимость поддержки • те же проблемы: вид сбоку • синхронный коммит тестов и продукта • 1 test failure → 1 баг • ускорение конфигурации test-а
  • 45. ???

Notas do Editor

  1. Затравка докладаНачальный уровень (о котором мы не расскажем) - как построить систему тестирования, как написать свой первый тест, как анализировать результаты тестированияпроблемы роста – основная тема докладаЧто встает перед вами когда пройдены два уровня ?А что на четвертом ? Мы не узнаем пока не пройдем третий
  2. Здесь будет записанный видео каст !!
  3. Здесь будет записанный видео каст !!
  4. Здесь будет записанный видео каст !!
  5. Затравка докладаНачальный уровень (о котором мы не расскажем) - как построить систему тестирования, как написать свой первый тест, как анализировать результаты тестированияпроблемы роста – основная тема докладаЧто встает перед вами когда пройдены два уровня ?А что на четвертом ? Мы не узнаем пока не пройдем третий