Upload
nadia-debogori
View
232
Download
2
Embed Size (px)
DESCRIPTION
Пытаюсь раскрыть тему рисков тестирования
Citation preview
Полнота и эффективность тестирования
Автор: Дебогори Надежда
Желание сторон
Заказчик
• Минимальное затраченное время
• Минимальная стоимость разработки
• Максимальное соответствие желаемому
2
Желание сторон
Заказчик
•Минимальное затраченное время
•Минимальная стоимость разработки
•Максимальное соответствие желаемому
Разработчик
•Достаточное время на разработку
•Больше разрабатывать и меньше тестировать
3
Желание сторон
Заказчик
•Минимальное затраченное время
•Минимальная стоимость разработки
•Максимальное соответствие желаемому
Разработчик
•Достаточное время на разработку
•Больше разрабатывать и меньше тестировать
Тестировщик
•Достаточно времени на тестирование
•Больше времени на тестирование, чем времени на разработку
4
Риски
Внешние риски
• Некорректная документация
• Изменение требований во время разработки
• Плохое качество кода
• Непонимание роли тестирования
Внутренние риски
• Неполное представление о работе системы
• Пропуск проверок важных входных данных и состояний
• Плохой набор проводимых тестов
• Ошибочный подсчет рисков и времени на тестирование
• Нестабильность команды тестирования
• Проблемы зрелости системы тестирования
5
Внешние риски
Внешние риски
• Некорректная документация
• Изменение требований во время разработки
• Плохое качество кода
• Непонимание роли тестирования
6
Некорректная документация
Как это обычно выглядит
• Отсутствие документации
• Документация с ошибками
• Неполная документация
• Непонятные ТЗ
Какие могут возникнуть проблемы
• Неверное принятие решения о выпуске \ не выпуске продукта
• Уменьшение продуктивного времени разработки
• Уменьшение времени на тестирование
• Увеличение рисков
7
Некорректная документация
Пути решения проблемы
• Необходимо обязательно задавать уточняющие вопросы аналитику \ заказчику
• Задать сроки ответа в зависимости от критичности вопроса
• Эскалировать проблему, если ответ не приходит в срок
• Обязательно документировать несоответствия
8
Изменение требований
Причины появления
• Изменение рынка
• Неполная документация
• Изначально плохое планирование задачи
Возникающие проблемы
• Увеличение кол-ва итераций разработки
• Уменьшает эффективное время разработки
9
Изменение требований
Пути решения проблемы
• Введение статического тестирования (проверка документации до начала разработки тестировщиком)
• Принятие решения о заморозке функционала (ничего нового, дорабатываем имеющееся)
10
Плохой код
Из-за чего бывает
• Изначально малое время на разработку
• Низкая квалификация разработчиков
• Плохая архитектура системы
• Отсутствие практик улучшения внутреннего качества системы
Возможные проблемы
• Большое кол-во багов
• Много итераций проверок
11
Плохой код
Как можно решить проблему
• Эскалирование проблемы
• Критерии начала тестирования
• Критерии прерывания тестирования
• Критерии завершения тестирования
• Клоунский колпак
12
Непонимание роли тестирования
Как выражается
• Не выделяется достаточно ресурсов
• Мнение о бесполезности тестирования
На что влияет
• Замедление процесса тестирования (нет нормальных технологических и человеческих ресурсов)
• Нарушение принятых конвенций тестирования
13
Непонимание роли тестирования
Как показать значимость
• Стоимость ошибки экспонционально зависит от этапа ее нахождения
• Поднятие уважения роли в команде
14
Внутренние риски
Внутренние риски
• Неполное представление о работе системы
• Недостаточное тестирование важных входных данных и состояний
• Плохой набор проводимых тестов
• Ошибочный анализ рисков тестирования
• Нестабильность команды тестирования
• Проблемы зрелости системы тестирования
15
Неправильное представление о работе системы
Чем грозит
• Пропуск тестирования части функционала
• Пропуск ошибок, вызванных изменениями в смежных модулях
• Более позднее обнаружение блокирующих багов в условиях сжатых сроков
16
Неправильное представление о работе системы
Как добиться четкого представления о тестируемом продукте
• Наличие полноценной документации
• Построение модели системы
Что получаем
• Полное представление о связях внутри системы
• Полный набор положительных и отрицательных юзкейсов
17
Некорректные входные параметры
Чем грозит
• Пропуск багов
• Нетривиальные случаи проявления ошибок
Что сделать для выбора оптимального набора значений
• Разделение на классы эквивалентности
• Проверка особых случаев
18
Плохой набор тестов
Как выражается
• Неполное покрытие системы
• Отсутствие приоритизации
• Нет разделения по модулям
• Не обозначена сложность проведения тестов
Чем грозит
• Несоответствие продукта ожиданиям заказчика
• Отсутствие возможности быстро составить комплект тестов
• Некорректный анализ рисков
19
Плохой набор тестов
Что делать
• Создание оптимального покрытия функционала тестами
• Выставление приоритетов
• Опредление сложности проведения тестов
• Разделение тестов по модулям системы
20
Плохой анализ рисков
Как выражается
• Риски преувеличены
• Риски недооценены
Чем грозит
• Простой кода, который надо поддерживать
• Дополнительная трата ресурсов
• Возможные проблемы с выпуском продукта
• Нехватка времени на проведение полноценного тестирования
• Выпуск некачественного продукта
21
Плохой анализ рисков
Как недопустить
• Хорошо представлять себе тестируемый продукт
• Проводить анализ ошибок предыдущего планирования
• Собирать фидбек каждой итерации \ проекта
• Planning Poker
22
Меняющаяся команда
Как выражается
• Отток опытных специалистов
• Много новичков
Чем грозит
• Уменьшается кол-во ресурсов тестирования
• Потеря узконаправленного специалиста
• Краткосрочное замедление процесса тестирования
23
Меняющаяся команда
Как можно решить проблему
• Мотивировать на то, чтобы оставаться в команде
• Возможность внутреннего развития
• Наличие формализованного процесса для вливания новых людей в команду
• Небольшие ротации для уменьшения автобусного числа
24
Зрелость системы
Уровни зрелости системы тестирования
• Хаотический – тестирование не выделено в отдельные процесс, происходит периодически и безсистемно (нет роли тестировщика)
• Разрабатываемый – выделено в отдельный процесс (роли тестировщика все еще нет)
• Интегрированный – процессом тестирования занимаются тестировщики, процессы тестирования и разработки интегрируются
• Управляемый – процесс тестирования контролируется, появляются правила, наборы тестовых сценариев, анализ дефектов
• Оптимизируемый – происходит определение эффективности тестирования, начинается оптимизация тестирования
25
Итог
В первую очередь
• Приведение внутреннего рабочего процесса команды тестирования в порядок
• Увеличение эффективности тестирования
Во вторую очередь
• Предъявлять требования к процессу разработки
• Делать мир лучше
26
27