SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Становление процесса
автоматизированного тестирования в
интернет-магазине О’КЕЙ
Кугач Анастасия
Рексофт 2016
Кратко о проекте
• Заказчик – О’КЕЙ
• Интернет-магазин
• Платформа IBM WebSphere Commerce
Цели и задачи
Цели:
• Уменьшение трудозатрат на
регрессионное тестирование
• Оптимизация использования
имеющихся ресурсов
• Уменьшение времени на
релиз
Задачи:
• Разработка собственной
утилиты сборки
• Поиск ресурсов для
автоматизации тестирования
• Подготовка тестов
С чего начать?
• Ресурсы
• Люди
• Бюджет
Бюджет – обоснование необходимости
автоматизации тестирования
• экономия времени на регрессионное тестирование
• сравнительно небольшая стоимость поддержки автотестов по
сравнению с ручным тестированием
• окупаемость процесса автоматизации за предсказуемое время
• более строгий контроль качества разработки
С чего начать?
• Ресурсы
• Люди
• Бюджет
• Тестовое окружение
Тестовое окружение – основные факторы
• железо (если требуется)
• инструменты автоматизации
• стоимость лицензий специализированного ПО и операционных
систем
С чего начать?
• Ресурсы
• Люди
• Бюджет
• Тестовое окружение
• Тесты
• База регрессионных тестов
А кому и зачем это нужно?
• Команде тестирования
• Команде разработки
• Руководителю проекта
• Заказчику
ЗАЧЕМ?
Предсказуемое время для получения точного результата
Технические особенности проекта, на
которые нельзя закрыть глаза
• Платформа IBM WebSphere Commerce
• Не имеет своей системы сборки
• Различие окружений dev, test, stage, prod
Технические особенности проекта, на
которые нельзя закрыть глаза
• Разные ветки разработки - разные окружения – разные
конфигурационные файлы
• Различие в идентификаторах публикуемых магазинов
(особенность WSC)
• Внутренние идентификаторы доступности товаров в SOLR –
различается от окружений
Технические особенности проекта, на
которые нельзя закрыть глаза
DEV
TEST
STAGE
Module
Module, system
Module, system, integration
Выгода
• Исходные данные:
• 6 чел/дней - ручное регрессионное тестирование версии (Tmanual)
• 132 чел/дня – разработка утилиты сборки и автоматизация (Tauto)
• 20 – 23 новые версии в год (С)
• Бесплатный инструмент Selenium/Selenium Grid
• Расчет: Tmanual * С > Tauto * C
• Вывод: срок окупаемости автотестирования: 1-1,5 года
Масштабируемость
• Увеличение числа nodes, hubs, scripts
• Test script - программа, использующая библиотеку Selenium для выполнения тестов;
• NODE - запускает браузеры и выполняет действия запрограммированные в Test script'е;
• HUB - выполняет роль сервера, который получает запросы от Test script'а и направляет их на выполнение в NODE'ы.
• Различные конфигурации тестовых систем (ОС + версия браузера)
Что мы имеем
Универсальный процесс
• Установка current PROD версии на тестовое окружение
• Сборка и установка изменений на тестовое окружение
• Загрузка тестовых данных (каталоги, цены, изображения, etc.)
• Запуск тестовых скриптов из Selenium Grid
• Сбор и публикация результатов
Время проведения - ночь
Выводы
• Высокая скорость проверки
• Удобное масштабирование окружений и поддержка тестов
• Сокращение трудозатрат на регресс
• 100 % результат после исполнения тестов
• Плюсик в карму 
Спасибо за внимание
Вопросы?
Анастасия Кугач
Старший инженер по тестированию
Рексофт

Weitere ähnliche Inhalte

Was ist angesagt?

Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советыSQALab
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumSQALab
 
Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testingAlexei Lupan
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьSQALab
 
Нагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOpsНагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOpsSQALab
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформаSQALab
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...SQALab
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсыSQALab
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестированияRina Uzhevko
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017Adam Sandman
 
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...SQALab
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийSQALab
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестированиеSQALab
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?CEE-SEC(R)
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаAlexei Lupan
 

Was ist angesagt? (20)

Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
 
Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testing
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
 
Нагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOpsНагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOps
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсы
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
Что ждет тестировщиков при организации процесса тестирования Enterprise-проду...
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестирование
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчика
 

Andere mochten auch

Управление IT-зависимостью
Управление IT-зависимостьюУправление IT-зависимостью
Управление IT-зависимостьюCEE-SEC(R)
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе: CEE-SEC(R)
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in PythonIgor Khrol
 
Reliable Scrum: итеративная разработка и жесткие сроки
Reliable Scrum: итеративная разработка и жесткие срокиReliable Scrum: итеративная разработка и жесткие сроки
Reliable Scrum: итеративная разработка и жесткие срокиCEE-SEC(R)
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеSQALab
 
Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиSQALab
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesSQALab
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricksSQALab
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияCEE-SEC(R)
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый деньCEE-SEC(R)
 
Как подготовить себе преемника?
Как подготовить себе преемника?Как подготовить себе преемника?
Как подготовить себе преемника?SQALab
 
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покерТестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покерSQALab
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойSQALab
 
Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party APISQALab
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
Оценка качества автотестов
Оценка качества автотестовОценка качества автотестов
Оценка качества автотестовSQALab
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QAIvan Kolodyazhny
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTSQALab
 
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfireИгры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfireSQALab
 
Тестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиТестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиSQALab
 

Andere mochten auch (20)

Управление IT-зависимостью
Управление IT-зависимостьюУправление IT-зависимостью
Управление IT-зависимостью
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in Python
 
Reliable Scrum: итеративная разработка и жесткие сроки
Reliable Scrum: итеративная разработка и жесткие срокиReliable Scrum: итеративная разработка и жесткие сроки
Reliable Scrum: итеративная разработка и жесткие сроки
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложение
 
Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователи
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricks
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый день
 
Как подготовить себе преемника?
Как подготовить себе преемника?Как подготовить себе преемника?
Как подготовить себе преемника?
 
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покерТестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покер
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
 
Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party API
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Оценка качества автотестов
Оценка качества автотестовОценка качества автотестов
Оценка качества автотестов
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QA
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
 
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfireИгры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
 
Тестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиТестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложности
 

Ähnlich wie Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ

Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиАлександр Шамрай
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Evgeny Savitsky
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolCOMAQA.BY
 
Web application testing architecture
Web application testing architectureWeb application testing architecture
Web application testing architectureAndrey Lazarev
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSАлександр Шамрай
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Hub-IT-School
 
Автоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятАвтоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятMarina Peregud
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеVasiliy Burov
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
 
Automation Overview
Automation OverviewAutomation Overview
Automation OverviewKiraKeiss
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойSQALab
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsAnton Vidishchev
 

Ähnlich wie Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ (20)

Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
 
Web application testing architecture
Web application testing architectureWeb application testing architecture
Web application testing architecture
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Автоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едятАвтоматическое тестирование и с чем его едят
Автоматическое тестирование и с чем его едят
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET Applications
 

Mehr von CEE-SEC(R)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...CEE-SEC(R)
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитикCEE-SEC(R)
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамCEE-SEC(R)
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...CEE-SEC(R)
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...CEE-SEC(R)
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентамиCEE-SEC(R)
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияCEE-SEC(R)
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...CEE-SEC(R)
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхCEE-SEC(R)
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...CEE-SEC(R)
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхCEE-SEC(R)
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoCEE-SEC(R)
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииCEE-SEC(R)
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунетаCEE-SEC(R)
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствCEE-SEC(R)
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповCEE-SEC(R)
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»CEE-SEC(R)
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
SysML в качестве платформы интеграции для моделирования ко-симуляций
SysML в качестве платформы интеграции для моделирования ко-симуляцийSysML в качестве платформы интеграции для моделирования ко-симуляций
SysML в качестве платформы интеграции для моделирования ко-симуляцийCEE-SEC(R)
 
Восхождение Гражданской науки о данных
Восхождение Гражданской науки о данныхВосхождение Гражданской науки о данных
Восхождение Гражданской науки о данныхCEE-SEC(R)
 

Mehr von CEE-SEC(R) (20)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитик
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованиях
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятиях
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в Virtuozzo
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартапов
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
SysML в качестве платформы интеграции для моделирования ко-симуляций
SysML в качестве платформы интеграции для моделирования ко-симуляцийSysML в качестве платформы интеграции для моделирования ко-симуляций
SysML в качестве платформы интеграции для моделирования ко-симуляций
 
Восхождение Гражданской науки о данных
Восхождение Гражданской науки о данныхВосхождение Гражданской науки о данных
Восхождение Гражданской науки о данных
 

Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ

  • 1. Становление процесса автоматизированного тестирования в интернет-магазине О’КЕЙ Кугач Анастасия Рексофт 2016
  • 2. Кратко о проекте • Заказчик – О’КЕЙ • Интернет-магазин • Платформа IBM WebSphere Commerce
  • 3. Цели и задачи Цели: • Уменьшение трудозатрат на регрессионное тестирование • Оптимизация использования имеющихся ресурсов • Уменьшение времени на релиз Задачи: • Разработка собственной утилиты сборки • Поиск ресурсов для автоматизации тестирования • Подготовка тестов
  • 4. С чего начать? • Ресурсы • Люди • Бюджет
  • 5. Бюджет – обоснование необходимости автоматизации тестирования • экономия времени на регрессионное тестирование • сравнительно небольшая стоимость поддержки автотестов по сравнению с ручным тестированием • окупаемость процесса автоматизации за предсказуемое время • более строгий контроль качества разработки
  • 6. С чего начать? • Ресурсы • Люди • Бюджет • Тестовое окружение
  • 7. Тестовое окружение – основные факторы • железо (если требуется) • инструменты автоматизации • стоимость лицензий специализированного ПО и операционных систем
  • 8. С чего начать? • Ресурсы • Люди • Бюджет • Тестовое окружение • Тесты • База регрессионных тестов
  • 9. А кому и зачем это нужно? • Команде тестирования • Команде разработки • Руководителю проекта • Заказчику ЗАЧЕМ? Предсказуемое время для получения точного результата
  • 10. Технические особенности проекта, на которые нельзя закрыть глаза • Платформа IBM WebSphere Commerce • Не имеет своей системы сборки • Различие окружений dev, test, stage, prod
  • 11. Технические особенности проекта, на которые нельзя закрыть глаза • Разные ветки разработки - разные окружения – разные конфигурационные файлы • Различие в идентификаторах публикуемых магазинов (особенность WSC) • Внутренние идентификаторы доступности товаров в SOLR – различается от окружений
  • 12. Технические особенности проекта, на которые нельзя закрыть глаза DEV TEST STAGE Module Module, system Module, system, integration
  • 13. Выгода • Исходные данные: • 6 чел/дней - ручное регрессионное тестирование версии (Tmanual) • 132 чел/дня – разработка утилиты сборки и автоматизация (Tauto) • 20 – 23 новые версии в год (С) • Бесплатный инструмент Selenium/Selenium Grid • Расчет: Tmanual * С > Tauto * C • Вывод: срок окупаемости автотестирования: 1-1,5 года
  • 14. Масштабируемость • Увеличение числа nodes, hubs, scripts • Test script - программа, использующая библиотеку Selenium для выполнения тестов; • NODE - запускает браузеры и выполняет действия запрограммированные в Test script'е; • HUB - выполняет роль сервера, который получает запросы от Test script'а и направляет их на выполнение в NODE'ы. • Различные конфигурации тестовых систем (ОС + версия браузера)
  • 15. Что мы имеем Универсальный процесс • Установка current PROD версии на тестовое окружение • Сборка и установка изменений на тестовое окружение • Загрузка тестовых данных (каталоги, цены, изображения, etc.) • Запуск тестовых скриптов из Selenium Grid • Сбор и публикация результатов Время проведения - ночь
  • 16. Выводы • Высокая скорость проверки • Удобное масштабирование окружений и поддержка тестов • Сокращение трудозатрат на регресс • 100 % результат после исполнения тестов • Плюсик в карму 
  • 17. Спасибо за внимание Вопросы? Анастасия Кугач Старший инженер по тестированию Рексофт

Hinweis der Redaktion

  1. Всем добрый день. Меня зовут Анастасия и я хочу сегодня рассказать о том, как мы выстраивали процесс автоматизации тестирования на проекте интернет-магазин Окей. Думаю, что в связи с тенденциями текущего времени наш опыт может пригодиться.
  2. Для начала - пару слов о проекте. Интернет магазин окей реалзиуется на базе платформы IBM WebSphere Commerce. Опыт работы с этой платформой - не однозначный из за технических особенностей платформы, а также из за организации самого проекта. Относительно функционала важно отметить то, что по сути один сайт интернет магазина содержит в себе несколько так называемых подсайтов для гипермаркетов. Дело в том, что покупатель делает заказ на конкретный гипермаркет. Проект реализуется уже в течение двух лет, и за это время мы плавно подошли к тому, что настало время внедрить в проекте автотесты. И вот как это было:
  3. Собственно, необходимость объяснялась тем, что стало слишком много времени уходить на регрессионное тестирование и на локализацию ошибок. Уменьшение времени на эти активности без потери качества, а так же простота локализации ошибок стали нашими главными целями в вопросе внедрения автотестов. И для их достижения был определен следующий круг задач: - разработка собственной утилиты борки (мы помним, что платформа свой утилиты не предоставляет) - Подготовка тестов - выделение времени и людей для организации процессов автоматизации тестирования.
  4. Когда встает вопрос о необходимости автоматизировать что либо в контексте тестирования, закономерно встает вопрос "с чего начать, за какую из задач взяться?". Когда мы задали этот вопрос себе, то поняли, что первое, за что мы возьмемся - это РЕСУРСЫ. Ресурсы мы разделяли так: Люди. В организационной структуре проекта люди выделяются под потребности, и если на какой то момент для человека нет задач, то он высвобождается из проекта в так называемый пул. Для нашего проекта был выделен тестировщик-автоматизатор. Одному ему было бы справляться тяжело, поэтому технический руководитель нашего проекта и инженер по технической поддержке выделяли свое время соразмерно своему кругу задач для поднятия автоматизации. У проекта есть определенный бюджет. Единственный источник этого ресурса - заказчик, который дает согласие на такие работы. Поэтому ему необходимо их обосновать. И тут могут подойти следующие доводы:
  5. - экономия времени на регрессионное тестирование - сравнительно небольшая стоимость поддержки автотестов по сравнению с ручным тестированием - окупаемость процесса автоматизации за предсказуемое время - более строгий контроль качества разработки
  6. Когда мы начинаем говорить о бюджете, нельзя не сказать о стоимости технологических решений, которые будут использоваться. Третий вид ресурса, о котором стоит задуматься - тестовое окружение. Под это понятие определяем следующие пункты:
  7. - железо (если требуется, например, сервера) - инструменты автоматизации - стоимость лицензий специализированного ПО и операционных систем
  8. Второй пункт, который мы рассматриваем - это тесты. Руководством проекта должно быть принято решение, какого рода автоматизация должна быть внедрена: функциональное, нефункциональное тестирование или же все вместе. Мы приняли решение на данном этапе автоматизировать проверку интерфейса и функционала, нагрузочное тестирование в рамках данного рассказа мы рассматривать не будем. Проект уже, можно сказать, зрелый, за время его существования на нем проработали несколько тестировщиков, и общими усилиями была выделена определенная база регрессионных тестов. Именно их было решено автоматизировать, сделав их более "атомарными".
  9. Осознав круг задач, кто-то может махнуть рукой и спросить, а зачем все это нужно? А главное - кому? Не проще ли оставить все как есть, не вводя в проект новые риски? Так, в неформальной обстановке мы пришли к выводу, что в первую очередь это нужно нам самим - команде тестирования. Приложив усилия в начале процесса на его становление, мы получим ожидаемый результат в последствии, сможем предсказывать выходной уровень качества. По мере обсуждения и развития темы, нас поддержали коллеги-разработчики. Для них - это возможность непосредственного наблюдения и точного выявления ошибок, а так же возможность точного воспроизведения конкретных багов. Наконец, автоматизация нужна и руководителю проектов. Это помогает при планировании релизов давать более четкие оценки. Ну и в завершении, для заказчика будет аргументом то, что плюсы от автотестов окупятся за обозримый срок. Все это позволяет нам корректно определять время для получения точного результата.
  10. Говоря об автоматизации на проекте, стоит упомянуть о некоторых его технических особенностях. Как я уже говорила, платформа IBM WebSphere Commerce не имеет никакой своей системы сборки. На старте проекта она была написана командой разработки самостоятельно. Первые сборки же вообще проводились вручную,но на данный момент создана своя утилита. Еще одна важная особенность - это различие окружений разработчиков, тестировщиков, стэйджа и прода.
  11. Различия заключаются вот в чем. Первое - в один момент в реализации может быть несколько версий, что в принципе нормальная ситуация. Это уже требует различных окружений с различными конфигурационными файлами. Второе - WebSphere Commerce берет идентификаторы публикуемых магазинов из своего некоего пула, соответственно, поэтому, идентификаторы одного и того же магазина на различных окружениях различаются. Ну и третье - платформа поиска SOLR так же имеет свои внутренние уникальные идентификаторы в поисковом индексе для определния доступности товаров в магазинах, что являлось специальной ее кастомизацией. (заказчику необходимо было использовать один и тот же каталог продаж в нескольких магазинах.Но при этом ещё и нужно было определённые товары скрывать в определённых магазинах.)
  12. Поскольку автоматизация вводится уже сильно после старта проекта, мы имеем уже вполне устоявшийся план тестирования на наших окружениях, которые, как мы видим, сильно различаются, и, к сожалению, нам проходилось выполнять одни и те же тесты по несколько раз. Во-первых, на dev окружении выполняются ручные модульные тесты. После этого, на test окружении - модульные и часть системны тестов, которые касаются именно сайта. Финальной проверкой перед передачей на приемочное тестирование заказчику служит проверка на stage-окружении. На нем выполняются модульные, системные и интеграционные тесты.
  13. Когда принималось решение о внедрении автоматизации, были подсчитаны количественные показатели выгоды. Что мы имели: на каждую версию, поставляемую в PROD, мы тратили 6 человеко-дней на регрессионное тестирование на stage-окружении. С учетом 20-23 версий в год, мы получали 120-132 человеко-часов только на регресс. По подсчетам, на внедрение автоматизации была дана оценка в 132 человеко/дня, в которую так же входит написание своей утилиты сборки. Как видим, затраты сопоставимы. Так же, было решено использовать бесплатный инструмент Selenium Grid, который полностью покрывает наши потребности в использовании. На старте работ по внедрению автоматизации трудозатраты превосходили время, затраченное на ручное тестирование. Однако, с течением времени, процесс окупился. Срок окупаемости – примерно полтора года.
  14. Внедренное решение на основе Selenium Grid позволило нам быстро расширить архитектуру нашей автоматизации на все тестовые окружения за счет увеличения числа нод, хабов и скриптов. А уже внутри каждого кластера, образуемого ими, мы можем поднимать сколько угодно конфигураций тестовых машин (ОС и версия бразуера).
  15. В общем итоге мы получили универсальный процесс обновления, осуществляемый по ночам: - установка текущей ПРОД версии на тестовое окружение - сборка и установка изменений - загрузка тестовых данных - запуск тестовых скриптов - сборка и публикация результатов прогона тестов.
  16. 22. Выводы от всех наших действий могут быть следующими: увеличение скорости проверки и сокращение трудозатрат на регресс с 6 человеко-дней до 4-6 часов. удобное масштабирование окружений и поддержка тестов. При желании увеличить регрессионную базу тестов это будет сделать легко 100 процентный результат после исполнения автотестов