Аналитика для тестировщиков Работа с требованиями: изменения Юлия Нечаева
Кто я? Тестировщик Тест-менеджер Руководитель отдела тестирования ____________________ Опыт 4 года Инструктор Активный участник конференций 2
О чем будем говорить? -Изменения – основа развития -Изменения – это всегда риск -Как сохранить баланс? -И о тестировании 3
Структура вебинара 0. Экскурс в прошлое 1.Новая иллюстрация 2.Теория 3.Практика 4
Часть 0. Экскурс в прошлое 5
Вводные: Компания «Вакуумная сфера» -разработка ПО -50 человек, из них 35 – разработка Проблема: недостаточная производительность разработчиков Корни проблемы: сидят в кофейне в рабочее время Решение проблемы: установка кофемата 6
Что случилось? 7
Часть 1. Новая иллюстрация 8
Тестирование требований всех спасло 9
Продолжение истории: пополнение + переезд
Нужно больше кофематов: хороших и разных -Новее -Лучше -Красивее -Дешевле 11
Проходит месяц 12
13 -Наливает не то, что надо
Причины сложившейся ситуации Плохая работа с изменениями -не выявлены -не протестированы 14
Часть 2. Теория 15
Структура теоретической части 1. Проблемы управления требованиями 2. Требования всегда изменяются. Почему? 3. Как могут изменяться требования? На каком этапе? 4. Проблемы из-за изменения требований 5. Виды представления требований 6. Методы предотвращения проблем: трассировка, история 7. Тестирование изменений требований 8. Тестирование реализации изменений 9. Заключение 16
Проблемы управления требованиями -Требования имеют много источников 17
-Требования не всегда очевидны Проблемы управления требованиями 18
- Не всегда легко выразить словами Проблемы управления требованиями 19
- Множество типов и уровней детализации Проблемы управления требованиями 20
- Требования почти всегда взаимосвязаны и взаимозависимы, часто противоречивы Проблемы управления требованиями 21
- Требования всегда уникальны Проблемы управления требованиями 22
- Набор требований чаще всего - компромисс Проблемы управления требованиями 23
- Требования трудно оценивать Проблемы управления требованиями 24
- Требования зависят от времени Проблемы управления требованиями 25
- Требования изменяются Проблемы управления требованиями 26
Следует приветствовать изменения требований, даже если они происходят на позднем этапе разработки. Р. Мартин «Быстрая разработка программ» Требования всегда изменяются 27
-Невыявленные ранее -Выявленные, но недостоверные -Выявленные, но нереализованные -Выявленные, но неактуальные -Которые и не могли быть выявлены Откуда берутся изменения? 28
-Дополнение -Модификация -Отмена Как могут меняться требования? 29
-Запрос -Прием (либо отклонение) -Согласование изменения с заказчиком -Организация работ по внедрению изменения Как происходит изменение 30
-В процессе создания требований -В процессе разработки приложения -После выпуска продукта - запланированное обновление - незапланированное заранее обновление - исправление ошибки На каком этапе могут происходить изменения? 31
В процессе создания требования -Изменяются по содержанию -Изменяются по форме 32
Изменения по форме - Исходное представление - Унифицированные представления - Типизированное представление - Модельные представления уровня анализа - Модельные представления уровня конструирования - Программные представления - Документные представления 33
INTUIT.RU Основы менеджмента программных проектов 34
Проблемы из-за изменений -Те же, что и при выявлении нового + -Взаимосвязи между требованиями -Противоречивость -Взаимосвязи с другими артефактами 35
Методы предотвращения проблем, связанных с изменениями -Трассировка требований -История изменений 36
Трассировка -Прохождение исходного требования через последовательность трансформаций от одного представления к другому, сопровождающееся соответствующим анализом 37
Виды трассировки -Нетипизированная связь -Предопределенные фасеты тестируется с помощью вытекает из является частью -Между различными артефактами требований -Между артефактами проекта вообще 38
Инструменты для трассировки -ПО общего назначения -Системы управления требованиями 39
Трассировка показывает нам в любой момент времени: - С чем связано это требование внутри одного представления - С чем связано это требование в других представлениях - С какими другими артефактами связано это требование - Требования, не связанные ни с чем - Другие артефакты, не связанные с требованиями 40
История - Самый простой способ - Baselines 41
История позволяет: - Откатить требования в нужное состояние -Собрать базу для анализа -Накопить опыт (система типовых запросов) 42
О тестировании 43
Тестирование изменений требований -Тестировать изменение требования само по себе, как новое требование -Проводить регрессионное тестирование требований 44
Тестирование реализации изменения -Изменение существующих тестов -Определение тестов для регрессионного тестирования -Тестирование реализации изменения -Регрессионное тестирование 45
Особенности тестирования изменения требований -Как новое требование: корректное, однозначное, полное, реализуемое, измеримое, ранжируемое, тестируемое, не определяющее техническое решение -Регрессионное тестирование: взаимосвязи, влияния, непротиворечивость 46
Тестирование реализации: изменение существующих тестов 47
Тестирование реализации: изменение существующих тестов Трассировка, которая показывает нам, как требование связано с другими артефактами разработки 48
Тестирование реализации: изменение существующих тестов Методы анализа Описание Поддерживаемый процесс Анализ влияния Что будет, если изменить это требование? Управление требованиями Анализ последствий Нам это действительно нужно? Анализ экономической целесообразности Анализ покрытияВсе ли учтено?Проектирование, отчетность по прогрессу 49
Тестирование реализации: изменение существующих тестов 50
Тестирование реализации: изменение существующих тестов 51
Тестирование реализации: определение тестов для регрессии - Одним из критериев может служить связь требований с изменением 52
Тестирование реализации: определение тестов для регрессии - Одним из критериев может служить связь требований с изменением 53
Тестирование реализации изменения 54
Заключение -Требования изменяются всегда -К этому нужно быть готовыми -Оружие: трассировка -Связь с другими артефактами 55
Часть 3. Практика 56
Материалы - Требования к первоначальному продукту -Тесты к первоначальному продукту -Изменения в первоначальных требованиях 57
Первоначальные требования -2 уровня: - бизнес-требование - функциональные требования -Трассировка между уровнями -Нет трассировки между требованиями -Типизация требований 58
Первоначальные тесты -Покрыты только функциональные требования -Трассировка с требованиями -Есть data-driven тесты (легко поддерживаются) 59
Чего не хватает? 60
Чего не хватает? -Трассировки влияния и зависимостей - между требованиями - между тестами -Трассировки между артефактами - «тестируется тестом» 61
Изменения -Этап: после выпуска продукта -Причина: изменение среды -Виды: ??? 62
Изменения -Этап: после выпуска продукта -Причина: изменение среды -Виды: - изменение - дополнение - отмена 63
Наши действия: требования -Тестирование изменений как новых требований -Тестирование связки со старыми: - влияние - зависимость - регрессионное тестирование - Создание новой версии требований 64
Наши действия: тесты -Изменение существующих тестов - влияние - зависимость, связки - Покрытие новых требований тестами - Определение покрытия для регрессионного тестирования 65
Домашнее задание -Слайды 61, 64 и 65 -Результат: - обновленная версия требований - обновленная версия тестов - выбор тестов для регрессии 66
Домашнее задание -Слайды 61, 64 и 65 -Результат: - обновленная версия требований - обновленная версия тестов - выбор тестов для регрессии Срок: 2,5 недели (до 11 января) + 2 недели (до 25 января) 67
Домашнее задание + -Слайды 13 -Предположите: - почему кофемат мог наливать не тот напиток, что надо, после внесения изменений? 68
Контакты. Я пишу: Я общаюсь: Skype: julia.nechaeva ICQ: