SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
Стратегия тестирования
крупного проекта в
условиях agile разработки.
Разработка и внедрение
системы регрессионного
тестирования



Евгений Тян
«Аскон»
tyan@ascon.ru
Сложность




9!
Сложность




          46
9!   10
Сложность




                   ∞?
          46
9!   10
Наш проект
Наш проект
Наш проект
 Решение для архитектуры и
 строительства
 Срок разработки: 3-4 года
 CLOC > 120 000
3D Проектирование
Максимальная свобода
Как начинали
               -Ручное
                тестирование

    UI         - TDD, Покрытие
                тестами ~40%
Integration

Unit tests
Unit тестов не достаточно

Сложно предусмотреть все возможные
варианты использования модуля
Unit тестов не достаточно

Сложно предусмотреть все возможные
варианты использования модуля
Unit тестов не достаточно




Сложно перейти от условий
ошибки к Unit-тесту
Unit тестов не достаточно




Сложно воспроизвести ошибку
Unit тестов не достаточно

Интеграционные тесты работают с
приложением на более высоком уровне
Unit тестов не достаточно

Интеграционные тесты работают с
приложением на более высоком уровне
Unit тестов не достаточно

Интеграционные тесты работают с
приложением на более высоком уровне
Проект буксует
1 итерация
Проект буксует
1 итерация   2 итерация
Проект буксует
1 итерация   2 итерация   3 итерация

                           1
Проект буксует
1 итерация   2 итерация   3 итерация

                           1



Итерация 4   Итерация 5

 1      2     1      3
Проект буксует
1 итерация   2 итерация   3 итерация

                           1



Итерация 4   Итерация 5   Итерация 6

 1      2     1      3     1      2
                           3
Стоимость исправлений
Что еще хуже
Что еще хуже
Что еще хуже
КАК ПОДДЕРЖИВАТЬ
КАЧЕСТВО ПРОДУКТА?
Тестировать руками?

У нас нет столько
        тестеров
Автоматизация?
Рассматривали:
 TestComplete
 Squish
Автоматизация?
Выяснили:
 Существуют риски с
 поддержкой технологий
 Зависимость от GUI
 Медленно
Автоматизация?

Решение: собственная
система автоматизации
     тестирования
Решение. Инструмент
Решение. Инструмент
Решение. Инструмент
Что такое тест?
Инструмент тестера
Решение. Инструмент
Решение. DoD
Unit test-ы написаны
Code Review проведен
Код слит в основную ветку

Старые тесты работают
Приемочные тесты написаны
Автоматизация
Проблемы внедрения
Хрупкость тестов на раннем этапе
разработки
Сложность анализа причин поломки теста
Долго не могли привыкнуть поддерживать
тесты
Проблемы внедрения
Хрупкость тестов на раннем этапе
разработки
Проблемы внедрения
Хрупкость тестов на раннем этапе
разработки
Проблемы внедрения. Анализ
Поддержка тестов
Поддержка тестов




• Каждый ответственен за то,
  что его commit не ломает тесты
• Если тест нужно исправить, то этим
  занимается разработчик, который
  внес изменение
Что получили
Собственная система интеграционного
тестирования. Полный контроль
Скорость. За счет возможности отвязаться от
GUI и запустить интеграционные тесты в
несколько потоков. Прохождение 500 тестов ~
3-4 мин.
Возможность запускать тесты на каждый
commit
Система записи сценария встроена в
приложение – любой пользователь может
записать ошибку и отправить нам
300


250


200


150                                          Собственная утилита
                                             Testcomplete

100


50


  0
      Время прохождения 500 сценариев, мин
Что получили

Затратили времени ~ 2 командо-месяца (5
человек)
Есть ошибки в самом инструменте
тестирования
Поддержка. Любые хотелки делаем сами
(форматы вывода результатов,
интерфейсные удобства, средства анализа)
Как сейчас
              - Ручное тестирование
              - Автоматизированное
              тестирование,
    UI        ~500 сценариев
     UI       - TDD, более
              1500 unit-тестов
Integration   Покрытие ~60%
   tests

Unit tests
Как сейчас

    UI
Integration
                   UI
 Unit              UI
               Integration
                  tests

              Unit tests
Как сейчас
1 итерация   2 итерация     3 итерация

                             1
Как сейчас
1 итерация   2 итерация     3 итерация

                             1



Итерация 4   Итерация 5     Итерация 6

        2            3
Не нужно оглядываться,
смотрим вперед,
движемся уверенней
Кому это надо?
Евгений Тян
tyan@ascon.ru

Mais conteúdo relacionado

Mais procurados

М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
it-people
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does this
Alexei Lupan
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest
 
Unit testing
Unit testingUnit testing
Unit testing
ISsoft
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
Yandex
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
nikolay_vasiliev
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 

Mais procurados (19)

Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
 
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...
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
М. Микрюков "Стоит ли внедрять тестирование. Наш опыт", DUMP-2014
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does this
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Павел Степанов
Павел СтепановПавел Степанов
Павел Степанов
 
Unit testing
Unit testingUnit testing
Unit testing
 
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QA
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 

Destaque

Solutions pre intermediate-wb
Solutions pre intermediate-wbSolutions pre intermediate-wb
Solutions pre intermediate-wb
maicanhtinh
 
Progress tests answer key
Progress tests answer keyProgress tests answer key
Progress tests answer key
Selma Tamdoğan
 
El112 new headway-plus_upper_intermediate_workbook_answer_key
El112 new headway-plus_upper_intermediate_workbook_answer_keyEl112 new headway-plus_upper_intermediate_workbook_answer_key
El112 new headway-plus_upper_intermediate_workbook_answer_key
juanadedioscuno
 
Solutions intermediate teachers_book
Solutions intermediate teachers_bookSolutions intermediate teachers_book
Solutions intermediate teachers_book
maicanhtinh
 

Destaque (7)

Solutions pre intermediate-wb
Solutions pre intermediate-wbSolutions pre intermediate-wb
Solutions pre intermediate-wb
 
Progress tests answer key
Progress tests answer keyProgress tests answer key
Progress tests answer key
 
El112 new headway-plus_upper_intermediate_workbook_answer_key
El112 new headway-plus_upper_intermediate_workbook_answer_keyEl112 new headway-plus_upper_intermediate_workbook_answer_key
El112 new headway-plus_upper_intermediate_workbook_answer_key
 
Solutions intermediate teachers_book
Solutions intermediate teachers_bookSolutions intermediate teachers_book
Solutions intermediate teachers_book
 
English book 2 teacher 2015 - 2016
English book 2   teacher 2015 - 2016English book 2   teacher 2015 - 2016
English book 2 teacher 2015 - 2016
 
English book 3 teacher 2015 - 2016
English book 3   teacher 2015 - 2016English book 3   teacher 2015 - 2016
English book 3 teacher 2015 - 2016
 
English book 4 teacher 2015 - 2016
English book 4 teacher 2015 - 2016English book 4 teacher 2015 - 2016
English book 4 teacher 2015 - 2016
 

Semelhante a Стратегия тестирования крупного проекта в условиях Agile разработки v2

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПО
seleznev_stas
 
Benefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllBenefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controll
Mykyta Hopkalo
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестирование
Alexander Byndyu
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
Technopark
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
Magneta AI
 
тестирование
тестированиетестирование
тестирование
Yandex
 
Тестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщикаТестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщика
Zestranec
 

Semelhante a Стратегия тестирования крупного проекта в условиях Agile разработки v2 (20)

лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование миф
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПО
 
Benefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllBenefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controll
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестирование
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
 
мартюшев почему юнит-тесты не работают. история большого проекта
мартюшев   почему юнит-тесты не работают. история большого проектамартюшев   почему юнит-тесты не работают. история большого проекта
мартюшев почему юнит-тесты не работают. история большого проекта
 
Автоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахАвтоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектах
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
тестирование
тестированиетестирование
тестирование
 
Тестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщикаТестирование крупного проекта командой из одного тестировщика
Тестирование крупного проекта командой из одного тестировщика
 
Тестирование крупных проектов командой из одного тестировщика
Тестирование крупных проектов командой из одного тестировщика Тестирование крупных проектов командой из одного тестировщика
Тестирование крупных проектов командой из одного тестировщика
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 

Mais de Magneta AI

зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
Magneta AI
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
Magneta AI
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
Magneta AI
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
Magneta AI
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
Magneta AI
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
Magneta AI
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
Magneta AI
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
Magneta AI
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
Magneta AI
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
Magneta AI
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
Magneta AI
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
Magneta AI
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
Magneta AI
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
Magneta AI
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
Magneta AI
 

Mais de Magneta AI (20)

From outsource to productsource!
From outsource to productsource!From outsource to productsource!
From outsource to productsource!
 
BDD test structure
BDD test structureBDD test structure
BDD test structure
 
AgileCamp15. Процессный трек
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трек
 
Как создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean Canvas
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
 

Стратегия тестирования крупного проекта в условиях Agile разработки v2