SlideShare a Scribd company logo
1 of 14
Зачем тестируют в Гугле 
Зачем вообще тестировать? 
Зачем пишут об этом книжки, зачем поднимать вопрос? 
Тестирование больше чем программирование 
Регрессионное тестирование: после каждого изменения 
нужно убедится, что ПО всё еще работает. 
Масштабы Гугла 
- несколько сотен продуктов и сервисов 
- тысячи программистов 
- 20 коммитов в минуту!
Подход Гугла к качеству 
Тестирование не создает качество 
Невозможно навешать качество как обертку. Качество 
следствие инженерных практик. 
Делайте все правильно с самого начала 
Перестаньте рассматривать разработку и тестирование 
по отдельности. Тестирование и разработка идут рука 
об руку. 
Роковые ошибки Гугла 
см. стр. 279 (русское издание) 
Тестировщики стали костылём для программистов. 
(технический нигилизм)
Подход Гугла к качеству 
Правильный подход к написанию кода 
Чистый код, code review 
Правильная среда разработки 
Минимум вариаций, однообразный стандартизованный 
подход, 
Автоматизация тестирования и не только 
Непрерывная сборка 
Поощрение стремления к качеству 
Забота о качестве кода и качестве тестов – 
ответственность всех разработчиков. 
Культура жрет стандарты на завтрак
Uncle Bob
Кто тестирует в Гугле? 
Разработчики ПО (Software Engineer) 
TDD, интегральные тесты, приемочные тесты 
Разработчик-тестировщик 
(Software Engineer in Test) 
Создает среду для автоматического тестирования, 
помогает разработчику ПО. (пишет код) 
Не подчиняются директору направления 
Работают на разработчика ПО. 
Инженер-тестировщик (Test Engineer) 
Создание плана тестов, методология тестирования, 
работает на пользователя (тоже пишет код)
Классификация тестов 
Малые 
Типа unit-tests, одна функция 
Средние 
Взаимодействие функций, классов 
Большие 
Пользовательские сценарии, use cases 
Огоромные 
Весть продукт и взаимодействие продуктов
Сертификация проектов 
Уровень 1): CI, классификация тестов, smoke-тесты 
Уровень 2): прогон тестов перед коммитом, покрытие 
50% и 10% малыми, одна фича покрыта 
Уровень 3): новые важные фичи покрыты, 50% 
малыми тестами, все нетривиальные дефекты 
покрываются. 
Уровень 4): смоук-тесты < 30 мин и запускаются 
перед коммитом автоматически, все важные фичи 
покрыты 
Уровень 5): анализ, покрытие не менее 60% (40% 
малыми)
CI в Гугле 
20 коммитов в минуту 
Все тесты прогонять нереально 
Прогонять тесты выборочно 
Запускаются только те тесты, которые относятся к 
изменениям. 
Тесты прогоняются в облаке 
Среда запуска тестов позволяет запускать тесты 
параллельно. 
Нам это тоже доступно
Планирование тестирования 
100% покрытие экономически невыгодно 
(шатл!) Тестировать то, что больше всего нужно 
пользователям. 
ACC-анализ 
Attribute Component Capability 
Анализ рисков 
Обычные технические и деловые риски. 
Вероятность * ущерб 
План тестов за 10 минут 
За 10 мин можно написать план на 80% рисков.
Инструменты 
Selenium Webdriver 
Родились в Thought Works и переехали в Google 
Проект и был начат и вырос на реальных задачах 
Buganizer 
Bug-tracker, который Гугл под себя сделал 
Browser Integrated Test Environment 
Создание дефектов из приложения
Как тестируют в Гугле? 
Также, как и в любой хорошо организованной 
компании. 
Никакой магии. Надо делать так, как говорят мировые 
методологи. 
Автоматизировать тесты не сложно 
Это такая-же задача, как и другие задачи разработки 
ПО. И решаются они в порядке заботы о пользователе и 
заказчике. 
Нет времени? Нет времени на что? 
Это тупая отмазка. Скорость работы в TDD такая-же, 
как и без него или даже быстрее. Переучиваться долго.
Как тестируют в гугле - обзор книги

More Related Content

What's hot

Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийTatyanazaxarova
 
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииDeutsche Post
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеDeutsche Post
 
Постановка процесса тестирования в Agile
Постановка процесса тестирования в AgileПостановка процесса тестирования в Agile
Постановка процесса тестирования в AgileSQALab
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестированияRina Uzhevko
 
Возможна ли жизнь без тестировщика?
Возможна ли жизнь без тестировщика?Возможна ли жизнь без тестировщика?
Возможна ли жизнь без тестировщика?Aleksey Derkach
 
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014it-people
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрикRoman Ivliev
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - ТестированиеYandex
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: ТестированиеYandex
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...Rina Uzhevko
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта, или история одно...
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта,  или история одно...CodeFest 2011. Климова Н. — FitNesse, полезный для проекта,  или история одно...
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта, или история одно...CodeFest
 
Lyanguzov preso sqadays8
Lyanguzov preso sqadays8Lyanguzov preso sqadays8
Lyanguzov preso sqadays8Alexei Lupan
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсыSQALab
 

What's hot (20)

What Tests Are For?
What Tests Are For?What Tests Are For?
What Tests Are For?
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложений
 
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятное
 
Постановка процесса тестирования в Agile
Постановка процесса тестирования в AgileПостановка процесса тестирования в Agile
Постановка процесса тестирования в Agile
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 
Возможна ли жизнь без тестировщика?
Возможна ли жизнь без тестировщика?Возможна ли жизнь без тестировщика?
Возможна ли жизнь без тестировщика?
 
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: Тестирование
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта, или история одно...
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта,  или история одно...CodeFest 2011. Климова Н. — FitNesse, полезный для проекта,  или история одно...
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта, или история одно...
 
Lyanguzov preso sqadays8
Lyanguzov preso sqadays8Lyanguzov preso sqadays8
Lyanguzov preso sqadays8
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Оптимизируем тест кейсы
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсы
 

Viewers also liked

Internet of Things by innocent chukwunonyerem website solution developer afrihub
Internet of Things by innocent chukwunonyerem website solution developer afrihubInternet of Things by innocent chukwunonyerem website solution developer afrihub
Internet of Things by innocent chukwunonyerem website solution developer afrihubJOHN INNOCENT
 
INDIA BUSINESS BRIDGE Exec Summary ppt
INDIA BUSINESS BRIDGE Exec Summary pptINDIA BUSINESS BRIDGE Exec Summary ppt
INDIA BUSINESS BRIDGE Exec Summary pptSwarup Roy
 
Question 5 part 3
Question 5 part 3Question 5 part 3
Question 5 part 3Sophie Tay
 
Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...
Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...
Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...Frederik Smit
 
Uztaiak taldea
Uztaiak taldeaUztaiak taldea
Uztaiak taldeanereapaz1
 
Tarea seminario 2 Bárbara
Tarea seminario 2 BárbaraTarea seminario 2 Bárbara
Tarea seminario 2 Bárbarabaramamar
 
Documents décolonisation Hatier 3e
Documents décolonisation Hatier 3eDocuments décolonisation Hatier 3e
Documents décolonisation Hatier 3easoulabaille
 
04 atlas national_pi_060711b
04 atlas national_pi_060711b04 atlas national_pi_060711b
04 atlas national_pi_060711bSerge Medion
 
Polymer
Polymer Polymer
Polymer jskvara
 
Elegant Springdale - bangalore5.com
Elegant Springdale - bangalore5.comElegant Springdale - bangalore5.com
Elegant Springdale - bangalore5.comBangalore Property
 
Dokumen standard bahasa inggeris sk tahun 3
Dokumen standard bahasa inggeris sk tahun 3Dokumen standard bahasa inggeris sk tahun 3
Dokumen standard bahasa inggeris sk tahun 3vleadminaba2059
 
Procesamiento, nalisis e interpretacion de resultado.
Procesamiento, nalisis e interpretacion de resultado.Procesamiento, nalisis e interpretacion de resultado.
Procesamiento, nalisis e interpretacion de resultado.N Andre Vc
 
наши занятия физической культурой
наши занятия физической культуройнаши занятия физической культурой
наши занятия физической культуройFintfin
 
Revision de la literatura juridica.
Revision de la literatura juridica.Revision de la literatura juridica.
Revision de la literatura juridica.N Andre Vc
 

Viewers also liked (20)

Valoración geriátrica integral
Valoración geriátrica integralValoración geriátrica integral
Valoración geriátrica integral
 
Internet of Things by innocent chukwunonyerem website solution developer afrihub
Internet of Things by innocent chukwunonyerem website solution developer afrihubInternet of Things by innocent chukwunonyerem website solution developer afrihub
Internet of Things by innocent chukwunonyerem website solution developer afrihub
 
Slideshare
SlideshareSlideshare
Slideshare
 
INDIA BUSINESS BRIDGE Exec Summary ppt
INDIA BUSINESS BRIDGE Exec Summary pptINDIA BUSINESS BRIDGE Exec Summary ppt
INDIA BUSINESS BRIDGE Exec Summary ppt
 
Question 5 part 3
Question 5 part 3Question 5 part 3
Question 5 part 3
 
Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...
Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...
Frederik Smit & Jos van Kuijk (2004). Inspraak bij bovenschools beleid. Roeie...
 
Uztaiak taldea
Uztaiak taldeaUztaiak taldea
Uztaiak taldea
 
Tarea seminario 2 Bárbara
Tarea seminario 2 BárbaraTarea seminario 2 Bárbara
Tarea seminario 2 Bárbara
 
Mijbil the otter
Mijbil the otterMijbil the otter
Mijbil the otter
 
International Business, is it indispensable?
International Business, is it indispensable?International Business, is it indispensable?
International Business, is it indispensable?
 
Documents décolonisation Hatier 3e
Documents décolonisation Hatier 3eDocuments décolonisation Hatier 3e
Documents décolonisation Hatier 3e
 
Makalah tekprod flat top barge
Makalah tekprod flat top  bargeMakalah tekprod flat top  barge
Makalah tekprod flat top barge
 
04 atlas national_pi_060711b
04 atlas national_pi_060711b04 atlas national_pi_060711b
04 atlas national_pi_060711b
 
Polymer
Polymer Polymer
Polymer
 
Powerpoint bab 1
Powerpoint bab 1Powerpoint bab 1
Powerpoint bab 1
 
Elegant Springdale - bangalore5.com
Elegant Springdale - bangalore5.comElegant Springdale - bangalore5.com
Elegant Springdale - bangalore5.com
 
Dokumen standard bahasa inggeris sk tahun 3
Dokumen standard bahasa inggeris sk tahun 3Dokumen standard bahasa inggeris sk tahun 3
Dokumen standard bahasa inggeris sk tahun 3
 
Procesamiento, nalisis e interpretacion de resultado.
Procesamiento, nalisis e interpretacion de resultado.Procesamiento, nalisis e interpretacion de resultado.
Procesamiento, nalisis e interpretacion de resultado.
 
наши занятия физической культурой
наши занятия физической культуройнаши занятия физической культурой
наши занятия физической культурой
 
Revision de la literatura juridica.
Revision de la literatura juridica.Revision de la literatura juridica.
Revision de la literatura juridica.
 

Similar to Как тестируют в гугле - обзор книги

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестированияIgor Pozumentov
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Magneta AI
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Technopark
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Sef Streluk Agile
Sef Streluk AgileSef Streluk Agile
Sef Streluk Agilesef2009
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в AgileSQALab
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестированиеAlexander Byndyu
 
Mva stf module 6 - rus
Mva stf module 6 - rusMva stf module 6 - rus
Mva stf module 6 - rusMaxim Shaptala
 
Can we have some more quality - Russian version
Can we have some more quality - Russian versionCan we have some more quality - Russian version
Can we have some more quality - Russian versionAlexander Pushkarev
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doorsYegor Maksymchuk
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Tatyanazaxarova
 
Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!CUSTIS
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 

Similar to Как тестируют в гугле - обзор книги (20)

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Sef Streluk Agile
Sef Streluk AgileSef Streluk Agile
Sef Streluk Agile
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в Agile
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестирование
 
Mva stf module 6 - rus
Mva stf module 6 - rusMva stf module 6 - rus
Mva stf module 6 - rus
 
Can we have some more quality - Russian version
Can we have some more quality - Russian versionCan we have some more quality - Russian version
Can we have some more quality - Russian version
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doors
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
 
Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
TAP
TAPTAP
TAP
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 

Как тестируют в гугле - обзор книги

  • 1.
  • 2.
  • 3. Зачем тестируют в Гугле Зачем вообще тестировать? Зачем пишут об этом книжки, зачем поднимать вопрос? Тестирование больше чем программирование Регрессионное тестирование: после каждого изменения нужно убедится, что ПО всё еще работает. Масштабы Гугла - несколько сотен продуктов и сервисов - тысячи программистов - 20 коммитов в минуту!
  • 4. Подход Гугла к качеству Тестирование не создает качество Невозможно навешать качество как обертку. Качество следствие инженерных практик. Делайте все правильно с самого начала Перестаньте рассматривать разработку и тестирование по отдельности. Тестирование и разработка идут рука об руку. Роковые ошибки Гугла см. стр. 279 (русское издание) Тестировщики стали костылём для программистов. (технический нигилизм)
  • 5. Подход Гугла к качеству Правильный подход к написанию кода Чистый код, code review Правильная среда разработки Минимум вариаций, однообразный стандартизованный подход, Автоматизация тестирования и не только Непрерывная сборка Поощрение стремления к качеству Забота о качестве кода и качестве тестов – ответственность всех разработчиков. Культура жрет стандарты на завтрак
  • 7. Кто тестирует в Гугле? Разработчики ПО (Software Engineer) TDD, интегральные тесты, приемочные тесты Разработчик-тестировщик (Software Engineer in Test) Создает среду для автоматического тестирования, помогает разработчику ПО. (пишет код) Не подчиняются директору направления Работают на разработчика ПО. Инженер-тестировщик (Test Engineer) Создание плана тестов, методология тестирования, работает на пользователя (тоже пишет код)
  • 8. Классификация тестов Малые Типа unit-tests, одна функция Средние Взаимодействие функций, классов Большие Пользовательские сценарии, use cases Огоромные Весть продукт и взаимодействие продуктов
  • 9. Сертификация проектов Уровень 1): CI, классификация тестов, smoke-тесты Уровень 2): прогон тестов перед коммитом, покрытие 50% и 10% малыми, одна фича покрыта Уровень 3): новые важные фичи покрыты, 50% малыми тестами, все нетривиальные дефекты покрываются. Уровень 4): смоук-тесты < 30 мин и запускаются перед коммитом автоматически, все важные фичи покрыты Уровень 5): анализ, покрытие не менее 60% (40% малыми)
  • 10. CI в Гугле 20 коммитов в минуту Все тесты прогонять нереально Прогонять тесты выборочно Запускаются только те тесты, которые относятся к изменениям. Тесты прогоняются в облаке Среда запуска тестов позволяет запускать тесты параллельно. Нам это тоже доступно
  • 11. Планирование тестирования 100% покрытие экономически невыгодно (шатл!) Тестировать то, что больше всего нужно пользователям. ACC-анализ Attribute Component Capability Анализ рисков Обычные технические и деловые риски. Вероятность * ущерб План тестов за 10 минут За 10 мин можно написать план на 80% рисков.
  • 12. Инструменты Selenium Webdriver Родились в Thought Works и переехали в Google Проект и был начат и вырос на реальных задачах Buganizer Bug-tracker, который Гугл под себя сделал Browser Integrated Test Environment Создание дефектов из приложения
  • 13. Как тестируют в Гугле? Также, как и в любой хорошо организованной компании. Никакой магии. Надо делать так, как говорят мировые методологи. Автоматизировать тесты не сложно Это такая-же задача, как и другие задачи разработки ПО. И решаются они в порядке заботы о пользователе и заказчике. Нет времени? Нет времени на что? Это тупая отмазка. Скорость работы в TDD такая-же, как и без него или даже быстрее. Переучиваться долго.

Editor's Notes

  1. Цитата: Фраза «тестирование не определяет качество» уже настолько избита, что просто обязана быть правдой. В любой области разработки, от автомобилей до софта, не получится отточить продукт до совершенства, если он изначально неправильно сконструирован. Спросите любого автопроизводителя, который хоть раз отзывал партию своих машин, чего стоят запоздалые попытки прикрутить качество на готовое изделие. Делайте все правильно с самого начала, не создавайте себе лишних трудностей. Тем не менее это только звучит просто. С одной стороны, качество и не создается тестированием, с другой — без тестирования сделать качественный продукт невозможно. Как вы узнаете, насколько качественный ваш продукт, не проводя тестирование? Эта головоломка решается легко: перестаньте рассматривать разработку и тестирование по отдельности. Тестирование и разработка идут рука об руку. Напишите немного кода и протестируйте его. Затем напишите еще чуть-чуть и снова протестируйте. Тестирование не отдельная практика, это часть самого процесса разработки. Одним только тестированием качества не добиться. Рецепт получения высокого качества: смешивайте разработку и тестирование в блендере, пока они не станут единой субстанцией. Тут вы видим явную ссылку на TDD, одну из тех инженерных практик, о которой ведущие методологи говорили дано. Как только вышла книга, я сразу полез смотреть пятую главу про то, что же там была за самая большая проблема с тестирование в Гугле. И обнаружил там то, что ожидал увидеть – отделение тестирования от разработки. Разработчики ленятся протестировать свою работу, убедится в том, что они выполнили требования и ничего не сломали? ЧТА? А еще разработчики леняться оформлять задачи в issue tracker. Как ты можешь называть себя профессионалом, если ты не можешь создать тикет лучше чем заказчик. Если ты не можешь протестить свой собственный труд. Едем дальше
  2. Часто в компании вижу выученную беспомощность. Надо настолько быстро разрабатывать, что остаются только костыли и заплатки Кто пропагандирует эти ценности? У нас ---- IT Attractor, но мы ничего нового не придумали. Про пропагандируем здравый смысл старших коллег
  3. Кто не знает дядю Боба?
  4. Разработчики не любят тестировать и не умеют. На помощь приходят разработчики-тестировщики Они не подчинаются директорам направлений, они не подчиняются проекту, на них нельзя надавить, чтобы быстро затестили. Их задача --- сделать разработчика ПО эффективным. Они могут поднимать вопросы качества на любом уровне организации. Их задача делать так, чтобы разработчики выпустили качественный продукт. Тестировшики выдаются проекту времено – помочь наладить выпуск качественной продукции. Потом их переводят в другой проект.
  5. Классификация немного необычная. Один руководителей тестировщиков в Гугле решил ввести такую терминологию потому, были люди с разным backgroud и по-разному понимали тесты В основе классификации – объем тестируемого кода
  6. Мне сложно прокомментировать потому, что я не совсем понимаю почему в Гугле так. У меня сложилась своя система уровней: Есть план тестирования основного (критического функционала) Тесты запускаются хоть как-то Тесты запускаются на CI-сервер Система поднимается одним скриптом Автоматическая поставка после прохождения тестов
  7. - Спрашивайте