SlideShare une entreprise Scribd logo
1  sur  39
QA Club #29
QA Club #29
10 сентября 2013
Колодяжный Иван
1
Continuous Integration для QA:
как, зачем и сколько стоит или
в чем сила, брат?
QA Club #29
Поздравляю!
• С Днём
тестировщика!
2
QA Club #29
Поздравляю!
• С Днём
тестировщика!
• Vikkimus, c Днём
рождения!
3
QA Club #29
Обо мне
• Я - тестировщик
4* иногда тестирую, иногда пишу тесты
*
QA Club #29
О чем поговорим?
• Что это такое и с чем его едят?
• От возникновения CI и до наших дней
• Обзор ПО, которое облегчает нам жизнь (TeamCity,
Jenkins, TFS, cron, etc)
• Опыт внедрения CI на проектах от “hello world” до
разработки крупных систем
• Пример использования Jenkins на примерре
“классического” веб-приложения
• СI/CD (Continuous Integration/Continuous Delivery) –
новое или хорошо забытое старое? Что это такое и
почему нам это (не) нужно?
5
QA Club #29
О чем поговорим?
• Доклад построен на реальном опыте. Все
совпадения с реальными проектами считаются
случайностями. При подготовке доклада ни один
билд не пострадал ;)
6
QA Club #29
А также:
• Ответы на вопросы:
• - Нужно протестировать свежую фичу из
репозитория?
• - Какая версия приложения у нас на вооот этом
сервере?
• - Как настроить и запустить автоматическое
тестирование нужной версии?
• - Как CI(/CD) позволяет добиться улучшения
качества ПО?
• - А был ли мальчик? :)
7
QA Club #29
Чего не будет
• котиков
• много картнок
8
QA Club #29
Начнем
• Ваша роль и обязаности в проекте?
• Технологии?
• Методологии?
9
QA Club #29
Continuous Integration (CI) - это?
10
QA Club #29
Continuous Integration (CI) - это:
• инженерная практика разработки ПО
• Jenkins, TeamCity, TFS, и т.д
• непрерывный процесс
11
QA Club #29
Шел 1999-й год...
• Kent Beck и Martin Fowler написали книгу
“Extreme Programming Explained”
12
QA Club #29
До этого...
• 1960-й: NASA пробовали писать ПО
используя парадигму “test first”
• Создание bash, cron, bat-скрипты, windows
scheduler и т.д.
• и еще работа руками..
13
QA Club #29
Коротко о главном
• Частая автоматическая сборка ПО для
быстрого(раннего) выявления проблем
14
QA Club #29
Кто должен работать?
• Билд инжинер (Build engineer)
• QA
• Разработчики
• Тестировщики
• Руководитель проекта
• Заказчик
• Вся команда!
15
QA Club #29
Терминология
• Билд
• Ревизия
• Модульные тесты
• Приемочные тесты
• Развертывание
• Серверы: dev, testing, staging, production
16
QA Club #29
Шаг за шагом...
17
QA Club #29
Шаг за шагом
• Берем исходный код из репозитория
• Сборка приложения (компиляция, запуск
модульных тестов, создание дистрибутива и
т.д.)
• Развертываем (устанвливаем)
• Запускаем тесты
• Создаем и читем отчеты
• (не)радуемся
18
QA Club #29
Шаг №1
• Берем исходный код из репозитория
19
QA Club #29
Типичные проблемы
• “Берем исходный код из репозитория”
– svn, git, mercurial
– “а этот скрипт лежит вооон у того разработчика”
– Вася, Петя, Женя... не закоммитил код
20
QA Club #29
Шаг №2
• Сборка приложения (компиляция, запуск
модульных тестов, создание дистрибутива и
т.д.)
21
QA Club #29
Типичные проблемы
• “Сборка приложения (компиляция,
создание дистрибутива и т.д.)”
– “код” нерабочий
22
QA Club #29
Шаг №3
• Развертываем (устанвливаем) приложение
23
QA Club #29
Типичные проблемы
• “Развертываем (устанвливаем)”
– железо
– операционые системы
– инсталлятор
24
QA Club #29
Шаг №4
• Запускаем тесты
25
QA Club #29
Типичные проблемы
• “Запускаем тесты”
– а есть ли тесты?
– какие тесты запускать?
– набор test case’ов на все случаи жизни
26
QA Club #29
Шаг №5
• Создаем и читем отчеты
27
QA Club #29
Типичные проблемы
• “Создаем и читем отчеты”
– “я не буду читать эти 12 мегабайтов логов”
– красивые картинки и неработающее ПО
– удалили и забыли
28
QA Club #29
Шаг №6
• (не)радуемся
29
QA Club #29
Типичные проблемы
• “Это неудобно, я не буду этим пользоваться”
30
QA Club #29
Как это обычно бывает:
• Всё просто
• Всё сложно
31
QA Club #29
Всё просто
32
QA Club #29
Всё сложно
33
QA Club #29
Облегчаем себе жизнь
• Jenkins (Hudson)
• TeamCity
• Travis CI
• Cruise Control
• и так далее...
34
QA Club #29
СI/CD (Continuous
Integration/Continuous Delivery)
35
QA Club #29
$
36
QA Club #29
Demo
• Jenkins
37
QA Club #29
Ссылки по теме
• http://www.extremeprogramming.org/rules.html
• http://en.wikipedia.org/wiki/Continuous_integration
• http://www.martinfowler.com/articles/continuousIntegr
ation.html
• http://en.wikipedia.org/wiki/Extreme_Programming
• http://en.wikipedia.org/wiki/Continuous_delivery
• http://blog.e0ne.info/
• http://google.com
• :)
38
QA Club #29
Спасибо. Вопросы?
Skype: e0ne-user
Blog: http://blog.e0ne.info/
E-mail: e0ne@e0ne.info
Twitter: @e0ne

Contenu connexe

Tendances

Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptIgor Khrol
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...SQALab
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийSQALab
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьIgor Khrol
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...COMAQA.BY
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграцииIgor Khrol
 
История HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуИстория HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуSQALab
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?SQALab
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Igor Khrol
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестированиеRina Uzhevko
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...Igor Khrol
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web apiIgor Lyubin
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в AgileSQALab
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QAFest
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 

Tendances (20)

Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScript
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем суть
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
История HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуИстория HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качеству
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестирование
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web api
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в Agile
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 

En vedette

Зачем авто-тесты нам нужны?
Зачем авто-тесты нам нужны?Зачем авто-тесты нам нужны?
Зачем авто-тесты нам нужны?Vitebsk Miniq
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Solit 2013, Open Source continuous integration in java, Калачев Дмитрий
Solit 2013, Open Source continuous integration in java, Калачев ДмитрийSolit 2013, Open Source continuous integration in java, Калачев Дмитрий
Solit 2013, Open Source continuous integration in java, Калачев Дмитрийsolit
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)Anton Katkov
 
Алексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationАлексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationOleg Poludnenko
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationMageCloud
 
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Badoo Development
 
Эволюция разработки в Badoo
Эволюция разработки в BadooЭволюция разработки в Badoo
Эволюция разработки в BadooADV/web-engineering
 
Continuous integration with Jenkins.
Continuous integration with Jenkins.Continuous integration with Jenkins.
Continuous integration with Jenkins.robotbot
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationhugo lu
 
Автоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиАвтоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиSQALab
 
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...CEE-SEC(R)
 
Особенности тестирования NoSql приложений
Особенности тестирования NoSql приложенийОсобенности тестирования NoSql приложений
Особенности тестирования NoSql приложенийUladzimir Kryvenka
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙCEE-SEC(R)
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
 

En vedette (18)

Зачем авто-тесты нам нужны?
Зачем авто-тесты нам нужны?Зачем авто-тесты нам нужны?
Зачем авто-тесты нам нужны?
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Solit 2013, Open Source continuous integration in java, Калачев Дмитрий
Solit 2013, Open Source continuous integration in java, Калачев ДмитрийSolit 2013, Open Source continuous integration in java, Калачев Дмитрий
Solit 2013, Open Source continuous integration in java, Калачев Дмитрий
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)
 
Алексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationАлексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous Integration
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
 
Эволюция разработки в Badoo
Эволюция разработки в BadooЭволюция разработки в Badoo
Эволюция разработки в Badoo
 
Continuous integration with Jenkins.
Continuous integration with Jenkins.Continuous integration with Jenkins.
Continuous integration with Jenkins.
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Автоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиАвтоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщиками
 
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
 
Особенности тестирования NoSql приложений
Особенности тестирования NoSql приложенийОсобенности тестирования NoSql приложений
Особенности тестирования NoSql приложений
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 

Similaire à Continuous Integration для QA

Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере BadooРИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере BadooТарасов Константин
 
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
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practicenikolay_vasiliev
 
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Ontico
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Комплексное использование анализаторов для повышения качества кода
Комплексное использование анализаторов для повышения качества кодаКомплексное использование анализаторов для повышения качества кода
Комплексное использование анализаторов для повышения качества кодаAndrey Karpov
 
Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)
Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)
Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)Ontico
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.Igor Shkulipa
 

Similaire à Continuous Integration для QA (20)

Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере BadooРИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
 
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
 
Team workflow
Team workflowTeam workflow
Team workflow
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
 
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)Performance management lessons learnt / Андрей Дмитриев (JUGRU)
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Комплексное использование анализаторов для повышения качества кода
Комплексное использование анализаторов для повышения качества кодаКомплексное использование анализаторов для повышения качества кода
Комплексное использование анализаторов для повышения качества кода
 
Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)
Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)
Покрываем тестами взрослый RoR проект / Николай Шебанов (Evrone)
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.
 

Plus de Ivan Kolodyazhny

Логирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документацииЛогирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документацииIvan Kolodyazhny
 
Private Clouds and OpenStack: WFT?
Private Clouds and OpenStack: WFT?Private Clouds and OpenStack: WFT?
Private Clouds and OpenStack: WFT?Ivan Kolodyazhny
 
Cross Site Scripting aka XSS: Начало
Cross Site Scripting aka XSS: НачалоCross Site Scripting aka XSS: Начало
Cross Site Scripting aka XSS: НачалоIvan Kolodyazhny
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применениюIvan Kolodyazhny
 

Plus de Ivan Kolodyazhny (6)

Python dependencies
Python dependenciesPython dependencies
Python dependencies
 
Логирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документацииЛогирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документации
 
Private Clouds and OpenStack: WFT?
Private Clouds and OpenStack: WFT?Private Clouds and OpenStack: WFT?
Private Clouds and OpenStack: WFT?
 
DneprPy #0: Openstack
DneprPy #0: OpenstackDneprPy #0: Openstack
DneprPy #0: Openstack
 
Cross Site Scripting aka XSS: Начало
Cross Site Scripting aka XSS: НачалоCross Site Scripting aka XSS: Начало
Cross Site Scripting aka XSS: Начало
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применению
 

Continuous Integration для QA

  • 1. QA Club #29 QA Club #29 10 сентября 2013 Колодяжный Иван 1 Continuous Integration для QA: как, зачем и сколько стоит или в чем сила, брат?
  • 2. QA Club #29 Поздравляю! • С Днём тестировщика! 2
  • 3. QA Club #29 Поздравляю! • С Днём тестировщика! • Vikkimus, c Днём рождения! 3
  • 4. QA Club #29 Обо мне • Я - тестировщик 4* иногда тестирую, иногда пишу тесты *
  • 5. QA Club #29 О чем поговорим? • Что это такое и с чем его едят? • От возникновения CI и до наших дней • Обзор ПО, которое облегчает нам жизнь (TeamCity, Jenkins, TFS, cron, etc) • Опыт внедрения CI на проектах от “hello world” до разработки крупных систем • Пример использования Jenkins на примерре “классического” веб-приложения • СI/CD (Continuous Integration/Continuous Delivery) – новое или хорошо забытое старое? Что это такое и почему нам это (не) нужно? 5
  • 6. QA Club #29 О чем поговорим? • Доклад построен на реальном опыте. Все совпадения с реальными проектами считаются случайностями. При подготовке доклада ни один билд не пострадал ;) 6
  • 7. QA Club #29 А также: • Ответы на вопросы: • - Нужно протестировать свежую фичу из репозитория? • - Какая версия приложения у нас на вооот этом сервере? • - Как настроить и запустить автоматическое тестирование нужной версии? • - Как CI(/CD) позволяет добиться улучшения качества ПО? • - А был ли мальчик? :) 7
  • 8. QA Club #29 Чего не будет • котиков • много картнок 8
  • 9. QA Club #29 Начнем • Ваша роль и обязаности в проекте? • Технологии? • Методологии? 9
  • 10. QA Club #29 Continuous Integration (CI) - это? 10
  • 11. QA Club #29 Continuous Integration (CI) - это: • инженерная практика разработки ПО • Jenkins, TeamCity, TFS, и т.д • непрерывный процесс 11
  • 12. QA Club #29 Шел 1999-й год... • Kent Beck и Martin Fowler написали книгу “Extreme Programming Explained” 12
  • 13. QA Club #29 До этого... • 1960-й: NASA пробовали писать ПО используя парадигму “test first” • Создание bash, cron, bat-скрипты, windows scheduler и т.д. • и еще работа руками.. 13
  • 14. QA Club #29 Коротко о главном • Частая автоматическая сборка ПО для быстрого(раннего) выявления проблем 14
  • 15. QA Club #29 Кто должен работать? • Билд инжинер (Build engineer) • QA • Разработчики • Тестировщики • Руководитель проекта • Заказчик • Вся команда! 15
  • 16. QA Club #29 Терминология • Билд • Ревизия • Модульные тесты • Приемочные тесты • Развертывание • Серверы: dev, testing, staging, production 16
  • 17. QA Club #29 Шаг за шагом... 17
  • 18. QA Club #29 Шаг за шагом • Берем исходный код из репозитория • Сборка приложения (компиляция, запуск модульных тестов, создание дистрибутива и т.д.) • Развертываем (устанвливаем) • Запускаем тесты • Создаем и читем отчеты • (не)радуемся 18
  • 19. QA Club #29 Шаг №1 • Берем исходный код из репозитория 19
  • 20. QA Club #29 Типичные проблемы • “Берем исходный код из репозитория” – svn, git, mercurial – “а этот скрипт лежит вооон у того разработчика” – Вася, Петя, Женя... не закоммитил код 20
  • 21. QA Club #29 Шаг №2 • Сборка приложения (компиляция, запуск модульных тестов, создание дистрибутива и т.д.) 21
  • 22. QA Club #29 Типичные проблемы • “Сборка приложения (компиляция, создание дистрибутива и т.д.)” – “код” нерабочий 22
  • 23. QA Club #29 Шаг №3 • Развертываем (устанвливаем) приложение 23
  • 24. QA Club #29 Типичные проблемы • “Развертываем (устанвливаем)” – железо – операционые системы – инсталлятор 24
  • 25. QA Club #29 Шаг №4 • Запускаем тесты 25
  • 26. QA Club #29 Типичные проблемы • “Запускаем тесты” – а есть ли тесты? – какие тесты запускать? – набор test case’ов на все случаи жизни 26
  • 27. QA Club #29 Шаг №5 • Создаем и читем отчеты 27
  • 28. QA Club #29 Типичные проблемы • “Создаем и читем отчеты” – “я не буду читать эти 12 мегабайтов логов” – красивые картинки и неработающее ПО – удалили и забыли 28
  • 29. QA Club #29 Шаг №6 • (не)радуемся 29
  • 30. QA Club #29 Типичные проблемы • “Это неудобно, я не буду этим пользоваться” 30
  • 31. QA Club #29 Как это обычно бывает: • Всё просто • Всё сложно 31
  • 32. QA Club #29 Всё просто 32
  • 33. QA Club #29 Всё сложно 33
  • 34. QA Club #29 Облегчаем себе жизнь • Jenkins (Hudson) • TeamCity • Travis CI • Cruise Control • и так далее... 34
  • 35. QA Club #29 СI/CD (Continuous Integration/Continuous Delivery) 35
  • 37. QA Club #29 Demo • Jenkins 37
  • 38. QA Club #29 Ссылки по теме • http://www.extremeprogramming.org/rules.html • http://en.wikipedia.org/wiki/Continuous_integration • http://www.martinfowler.com/articles/continuousIntegr ation.html • http://en.wikipedia.org/wiki/Extreme_Programming • http://en.wikipedia.org/wiki/Continuous_delivery • http://blog.e0ne.info/ • http://google.com • :) 38
  • 39. QA Club #29 Спасибо. Вопросы? Skype: e0ne-user Blog: http://blog.e0ne.info/ E-mail: e0ne@e0ne.info Twitter: @e0ne

Notes de l'éditeur

  1. Test notes
  2. «всем спасибо, все свободны» (с) 