SlideShare a Scribd company logo
1 of 24
Как не сойти с ума тестируя большой
проект в одиночку
Igor Bondarenko. Intetics Co.
Можно ли назвать проект
«большим»
Итого:
Third party
HTML in-store
30 веб приложений
providers
webязыковых локали
app
Каждое имеет как минимум 2
(WS)
Insert
5 самописных протоколов для обмена данных с
data
Third party
Flex
providers
клиентами in store
kiosks
WS, содержащий более 50 методов (self-writed
protocols)
Объем поступающих данных: 500 000 записей в
ex
сутки
ch
Объем данных обрабатываемых за сутки: 2 000 000
an
ge
в сутки

1 тестировщик
Главные проблемы на
старте
• 1. Отсутствие проектной документации
• 2. Полное отсутствие тестовой документации
• 3. Большой объем регресии: 20 человекочасов на
итерацию
(при десятидневной итерации)
• 4. Автоматизация отсутствует впринципе
• 5. Нефункциональные требования никогда не
проверялись
Решение проблем
Документация:
проблемы
1. Невнятные User Stories
2. Документация минует систему хранения
(Confluence)
3. Нежелание писать документы для «одноразовой»
функциональности
Невнятные User Stories
Причина: Неумение писать спецификации
Цель: Получение функциональной спецификации от
заказчика
Способы решения:
- Демонстрация устраивающих команду
спецификаций
- Обучение заказчика
- Реализация функциональности со спекой за
меньшие сроки
Документация минует
систему хранения
Причина: Необходимость отправки документации по
частям партнерам
Цель: Хранение всей документации в одном месте,
возможность быстро отслеживать изменения

Способы решения:
- Разработка единого шаблона документации
- Документ изначально создается в Confluence
-Создание Word шаблона фирменного стиля
-Предоставление доступа партнерам к системе
хранения документации
«Одноразовая»
функциональность
Причина: Спецификация не составляется, если
изменения не планируются
Цель: Иметь описание работы функционала
Решение:
-Анализ каждой «одноразовой» функциональности
-Разбиение глобальной User Story на составляющие
-Полное покрытие функциональности детальными
тестовыми сценариями
Тестовые сценарии
Основные проблемы:
- Отсутствие времени на написание
- Дорогостоящая поддержка
Решение:
- Checklists forever!
- Тесткейсы только если отсутствует спецификация
Функциональное
тестирование
Основные проблемы:
1. Трудозатраты на регрессию
2. Ручные тесты
3. Отсутствие исследовательского и нефункционального
тестирования

Цель:
Реорганизация процесса тестирования для выделения
необходимого времени
Ручное тестирование
1. Переход от тесткейсов к чеклистам
Плюсы:
-Сокращение времени на написание
-Проще поддерживать
-Позволяют начать тестирование раньше
2. Исключение тестирования в конце итерации
3. Подключаем исследовательское тестирование к
«скриптовому»
Автоматизация
Проблема:
Полное отсутствие автоматизированных тестов
Выбор инструмента

HP

Selenium

Имеется опыт использования

Опыта нет

Разработчики отказываются
писать тесты

Низкий порог вхождения
IDE
Возможность писать тесты на
Java
Вовлечение разработчиков
Гибкий
«Некрасивые тесты»
Наличие «некрасивого»
автотеста значительно лучше,
нежели его отсутсвие
Положительное влияние
«некрасивых тестов»
Плюсы таких тестов в начале проекта:
1. Быстро создаются
2. Предоставляют быструю обратную связь
2а. Помогают вовлечь разработчиков в тестирование
3. Являются заготовками для будущих «красивых» тестов
SoapUI: спасение
утопающих
1. Низкий порог вхождения
2. Возможность быстро создать test suite для запуска полного
теста в один клик
3. Тесты можно включить в CI
4. Возможность разрабатывать тесты используя Mocks
параллельно с имплементацией
5. Возможность создания Load и Security тестов
Вовлечение разработчиков:
демонстрация
Цель: «Подсадить» программистов на тестирование
1. Демонстрация работы автотестов и объяснение основого
смысла:
- Быстрая обратная связь
- Возможность быстро и самостоятельно проверить
качество перед коммитом
2. Демонстрация Selenium IDE
Вовлечение разработчиков:
обучение
1. Возвращаем «подсевших» на качество разработчиков в
родную стихию:
- Переход от IDE к RC или WebDriver
- Выделение времени на перевод старых тестов с IDE на
Java
2. SoapUI тесты для неподдатливых:
- Обучение созданию
- Расширение возможностей с Groovy
- CI
Результаты
1. Покрытие 75% функциональности автотестами
2. Полный переход от Selenium IDE к RC, а затем WebDriver за
год
3. Создание тестов по сценариям заказчика для всех веб
сервисов
4. Команда разработки полноценно вовлечена в процесс
обеспечения качества
Общий итог
Приложение покрыто тестами на всех уровнях
Проектная документация всегда up to date
Время регрессионного тестирования сократилось до 4 часов
Тестирование больше не «сваливается» на конец итерации
В процесс тестирования вовлечена вся команда.
Количество customers defects с 5 в неделю сократилось до 1
в 2-3 месяца.
7. Высвободилось время для проверки нефункциональных
требований
1.
2.
3.
4.
5.
6.
Количественные
показатели
Ключевые факторы успеха
1. Личная заинтересованность тестировщика в
результате
2. Документация всегда должна быть в актуальном
состоянии
3. Тесты должны быть быстрыми в создании и легкими
в поддержке
4. Комплексная автоматизация тестирования на всех
уровнях
5. В процесс обеспечени качества должна быть
вовлечена вся команда
Вопросы

Email: bondarenko.ihar@yandex.ru
Skype: igor.bondarenko1

More Related Content

What's hot

GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеSQALab
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesMikalai Alimenkou
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисовSQALab
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел СташевскийDevDay
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаSQALab
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017Adam Sandman
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Ontico
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийSQALab
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQAFest
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовSQALab
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикSQALab
 
End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияSQALab
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?CEE-SEC(R)
 

What's hot (20)

GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проекте
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисов
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях Интернета
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
 
End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализация
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?
 

Similar to Тестирование крупного проекта командой из одного тестировщика

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Technopark
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)Ontico
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
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 controllMykyta Hopkalo
 
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...dchernilevskiy
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиkosyakov
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...tabtabus
 

Similar to Тестирование крупного проекта командой из одного тестировщика (20)

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
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
 
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
 

More from Zestranec

Mobile security testing
Mobile security testingMobile security testing
Mobile security testingZestranec
 
Blind Sql Injections. Хороши ли ваши тесты?
Blind Sql Injections. Хороши ли ваши тесты?Blind Sql Injections. Хороши ли ваши тесты?
Blind Sql Injections. Хороши ли ваши тесты?Zestranec
 
Crystal Agile: Процесс обеспечивающий качество
Crystal Agile: Процесс обеспечивающий качествоCrystal Agile: Процесс обеспечивающий качество
Crystal Agile: Процесс обеспечивающий качествоZestranec
 
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Zestranec
 
Тестирование программных фильтров безопасности
Тестирование программных фильтров безопасностиТестирование программных фильтров безопасности
Тестирование программных фильтров безопасностиZestranec
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложенийZestranec
 

More from Zestranec (6)

Mobile security testing
Mobile security testingMobile security testing
Mobile security testing
 
Blind Sql Injections. Хороши ли ваши тесты?
Blind Sql Injections. Хороши ли ваши тесты?Blind Sql Injections. Хороши ли ваши тесты?
Blind Sql Injections. Хороши ли ваши тесты?
 
Crystal Agile: Процесс обеспечивающий качество
Crystal Agile: Процесс обеспечивающий качествоCrystal Agile: Процесс обеспечивающий качество
Crystal Agile: Процесс обеспечивающий качество
 
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
 
Тестирование программных фильтров безопасности
Тестирование программных фильтров безопасностиТестирование программных фильтров безопасности
Тестирование программных фильтров безопасности
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложений
 

Тестирование крупного проекта командой из одного тестировщика

  • 1. Как не сойти с ума тестируя большой проект в одиночку Igor Bondarenko. Intetics Co.
  • 2. Можно ли назвать проект «большим» Итого: Third party HTML in-store 30 веб приложений providers webязыковых локали app Каждое имеет как минимум 2 (WS) Insert 5 самописных протоколов для обмена данных с data Third party Flex providers клиентами in store kiosks WS, содержащий более 50 методов (self-writed protocols) Объем поступающих данных: 500 000 записей в ex сутки ch Объем данных обрабатываемых за сутки: 2 000 000 an ge в сутки 1 тестировщик
  • 3. Главные проблемы на старте • 1. Отсутствие проектной документации • 2. Полное отсутствие тестовой документации • 3. Большой объем регресии: 20 человекочасов на итерацию (при десятидневной итерации) • 4. Автоматизация отсутствует впринципе • 5. Нефункциональные требования никогда не проверялись
  • 5. Документация: проблемы 1. Невнятные User Stories 2. Документация минует систему хранения (Confluence) 3. Нежелание писать документы для «одноразовой» функциональности
  • 6. Невнятные User Stories Причина: Неумение писать спецификации Цель: Получение функциональной спецификации от заказчика Способы решения: - Демонстрация устраивающих команду спецификаций - Обучение заказчика - Реализация функциональности со спекой за меньшие сроки
  • 7. Документация минует систему хранения Причина: Необходимость отправки документации по частям партнерам Цель: Хранение всей документации в одном месте, возможность быстро отслеживать изменения Способы решения: - Разработка единого шаблона документации - Документ изначально создается в Confluence -Создание Word шаблона фирменного стиля -Предоставление доступа партнерам к системе хранения документации
  • 8. «Одноразовая» функциональность Причина: Спецификация не составляется, если изменения не планируются Цель: Иметь описание работы функционала Решение: -Анализ каждой «одноразовой» функциональности -Разбиение глобальной User Story на составляющие -Полное покрытие функциональности детальными тестовыми сценариями
  • 9. Тестовые сценарии Основные проблемы: - Отсутствие времени на написание - Дорогостоящая поддержка Решение: - Checklists forever! - Тесткейсы только если отсутствует спецификация
  • 10. Функциональное тестирование Основные проблемы: 1. Трудозатраты на регрессию 2. Ручные тесты 3. Отсутствие исследовательского и нефункционального тестирования Цель: Реорганизация процесса тестирования для выделения необходимого времени
  • 11. Ручное тестирование 1. Переход от тесткейсов к чеклистам Плюсы: -Сокращение времени на написание -Проще поддерживать -Позволяют начать тестирование раньше 2. Исключение тестирования в конце итерации 3. Подключаем исследовательское тестирование к «скриптовому»
  • 13. Выбор инструмента HP Selenium Имеется опыт использования Опыта нет Разработчики отказываются писать тесты Низкий порог вхождения IDE Возможность писать тесты на Java Вовлечение разработчиков Гибкий
  • 14. «Некрасивые тесты» Наличие «некрасивого» автотеста значительно лучше, нежели его отсутсвие
  • 15. Положительное влияние «некрасивых тестов» Плюсы таких тестов в начале проекта: 1. Быстро создаются 2. Предоставляют быструю обратную связь 2а. Помогают вовлечь разработчиков в тестирование 3. Являются заготовками для будущих «красивых» тестов
  • 16. SoapUI: спасение утопающих 1. Низкий порог вхождения 2. Возможность быстро создать test suite для запуска полного теста в один клик 3. Тесты можно включить в CI 4. Возможность разрабатывать тесты используя Mocks параллельно с имплементацией 5. Возможность создания Load и Security тестов
  • 17.
  • 18. Вовлечение разработчиков: демонстрация Цель: «Подсадить» программистов на тестирование 1. Демонстрация работы автотестов и объяснение основого смысла: - Быстрая обратная связь - Возможность быстро и самостоятельно проверить качество перед коммитом 2. Демонстрация Selenium IDE
  • 19. Вовлечение разработчиков: обучение 1. Возвращаем «подсевших» на качество разработчиков в родную стихию: - Переход от IDE к RC или WebDriver - Выделение времени на перевод старых тестов с IDE на Java 2. SoapUI тесты для неподдатливых: - Обучение созданию - Расширение возможностей с Groovy - CI
  • 20. Результаты 1. Покрытие 75% функциональности автотестами 2. Полный переход от Selenium IDE к RC, а затем WebDriver за год 3. Создание тестов по сценариям заказчика для всех веб сервисов 4. Команда разработки полноценно вовлечена в процесс обеспечения качества
  • 21. Общий итог Приложение покрыто тестами на всех уровнях Проектная документация всегда up to date Время регрессионного тестирования сократилось до 4 часов Тестирование больше не «сваливается» на конец итерации В процесс тестирования вовлечена вся команда. Количество customers defects с 5 в неделю сократилось до 1 в 2-3 месяца. 7. Высвободилось время для проверки нефункциональных требований 1. 2. 3. 4. 5. 6.
  • 23. Ключевые факторы успеха 1. Личная заинтересованность тестировщика в результате 2. Документация всегда должна быть в актуальном состоянии 3. Тесты должны быть быстрыми в создании и легкими в поддержке 4. Комплексная автоматизация тестирования на всех уровнях 5. В процесс обеспечени качества должна быть вовлечена вся команда