Управление процессом тестирования ПО. Тест-менеджмент 2008, v.2.1.

Презентация:



Advertisements
Похожие презентации
Приложение 1 к решению Совета депутатов города Новосибирска от Масштаб 1 : 5000.
Advertisements

Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______ Масштаб 1 : 5000.
Г. Москва, тел.: +7 (495) , Internet: Методы бизнес-анализа в системе Бизнес-инженер.
Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
В 2014 году «Колокольчику» исполняется 50 лет!!! 208 чёрно-белых фотографий из детсадовского архива Как молоды мы были …
Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от
Итоги Интернет – тестирования учащихся 9 и 11 классов школ города Казани (1 – 3 марта 2011 г.) Саркисова И. И., методист ГМЦ.
Урок 2. Информационные процессы в обществе и природе.
Тестирование программного обеспечения 2009, v.2.8 Тест-дизайн.
Результаты проведения региональных диагностических контрольных работ по русскому языку, математике и физике для учащихся 9 и 11 классов в общеобразовательных.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Организация процесса тестирования ПО Петренко Ольга QA Team Leader.
ТУЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МЕДИЦИНСКИЙ ИНСТИТУТ Хромушин В.А., д.б.н., к.т.н., академик МАИ и АМТН 2010 г. ГРАФИЧЕСКОЕ ОТОБРАЖЕНИЕ РЕЗУЛЬТИРУЮЩИХ.
Этапы решения задач на компьютерах Постановка задачи Формальное построение модели задачи Формальное построение модели задачи Построение математической.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Цель: гарантировать понимание процессов всеми членами команды Автор: Михаил Смирнов
РАСПРОСТРАНЕННЫЕ ОШИБКИ В ИДЕОЛОГИИ, ПЛАНИРОВАНИИ И ПРОВЕДЕНИИ ТЕСТИРОВАНИЯ 2.
Формальные инспекции на практике Вадим Савкин vsavkin.livejournal.com.
Зачет по теме "Квадратные уравнения" Автор составитель: Попова Виктория Юрьевна, учитель математики высшей категории, заместитель директора МОУ гимназии.
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Транксрипт:

Управление процессом тестирования ПО. Тест-менеджмент 2008, v.2.1

ВЯЧЕСЛАВ ПАНКРАТОВ ДМИТРИЙ ЛЫСЕНКО Авторский коллектив Тест-менеджмент 2

Ваш тренер на сегодня Тест менеджмент 3 Меня зовут Слава Панкратов Нельзя научить – можно научится!

Взлетаем? 4 Вы пришли посидеть или поработать? Тест-менеджмент

Содержание 5 Определение тестирования ПО и качества информационных систем Цели и задачи тестирования ПО Ключевые метрики тестирования ПО Уровни тестирования Этапы тестирования Организация работы с дефектами Работа с рисками Обзор ролей в тестировании Обзор артефактов тестирования Потоки задач в тестировании Тест-менеджмент

Содержание 6 Успешное управление Работа с подчиненными Работа с руководством, коллегами и заказчиками Управление задачами с использованием моделей FACT, GTD и др. Правильное управление своим временем Практические работы на примерах реальных рабочих ситуаций Тест-менеджмент

Расписание тренинга 7 День 1 «Повторение пройденного». Основы тестирования и обеспечения качества Обед Организация основных процессов тестирования День 2 Обзор ролей и артефактов тестирования (RUP) Обед Управление временем, организация работ Практические работы на примерах реальных рабочих ситуаций Тест-менеджмент

Немного о том, чего у нас не будет 8 Серебряной пули нет. Мы не сможем решить ваши конкретные рабочие задачи (но попробуем!). Я дам вам информацию для их решения и покажу «куда копать». Я не расскажу вам обо всем, что нужно для эффективного тестирования. Будет дан некоторый объем того, что может пригодиться ваших проектах, и это не значит, что можно будет лишь «заполнять шаблоны». Сидеть, слушать и запоминать недостаточно. Слушателям нужно постоянно проецировать материал на реальные рабочие условия, задавать вопросы, понять материал и после курса попытаться применить знания в «боевых» условиях Тест-менеджмент

Качество информационных систем Тестирование ПО Базовые понятия Тест-менеджмент 9

Определение Качества 10 Практические рассуждения Что такое Качество Отсутствие ошибок? Автомобиль Мерседес признан качественным автомобилем, но речь не идет об ошибках. Удовлетворенность заказчика?... Хороший Заказчик всегда недоволен Тест-менеджмент

Определение Качества 11 Функциональность, Надежность, Производительность Надежность работает ли приложение без сбоев, «зависаний» или вызова исключений Функциональность делает ли приложение то, что от него требуется Производительность работает ли приложение с приемлемой скоростью при доступе к нему многих пользователей Тест-менеджмент

Истоки Качества 12 Откуда берется Качество? Качество Продукта определяется только Качеством Процесса его разработки Качество Процесса определяется только Уровнем Культуры разработки в Компании Тест-менеджмент

Истоки Качества 13 Типичные проблемы с «продажей» качества: Неочевидность возврата инвестиций Большой первоначальный объем работ: обзоры, инструменты, обучение Хорошую работу не видно! Тест-менеджмент

Определение тестирования (классика) 14 Глен Маерс: Тестирование это процесс выполнения программ с намерением найти ошибки Пол Йоргенсен: Тестирование сфокусировано на ошибках и сбоях. Тест – выполнение действий над ПО с целью найти ошибки или продемонстрировать работоспособность Тест-менеджмент

Определение Тестирования 15 Рассмотрим практический пример Форма валидации введенного значения Требование: если введено целочисленное значение от 0 до 9 (включительно), возвращается значение TRUE, иначе FALSE Предлагайте тесты Тест-менеджмент

Внимание на флипчарт 16 Пишем тесты Тест-менеджмент

Определение Тестирования 17 Обобщенное определение тестирования Тестирование – процесс проверки соответствия заявленных к продукту требований и реально разработанной функциональности Преимущества Фокус процесса тестирования смещен в сторону проверки требований Тест-менеджмент

Определение Тестирования 18 Уточним определение Тестирование – процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом Тест-менеджмент

История вопроса 19 Первый баг г. Грейс Мюррей Хоппер (Grace Murray Hopper) Тест-менеджмент

Эволюция представлений о тестировании 20 Проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом. [IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004] Техническое исследование программы для получения информации о ее качестве с точки зрения определенного круга заинтересованных лиц. [С. Kaner, 1999] Это не действие. Это интеллектуальная дисциплина, имеющая целью получение надежного программного обеспечения без излишних усилий на его проверку. [B. Beizer. Software Testing Techniques, Second Edition. NY:van Nostrand Reinhold, 1990] Процесс наблюдения за выполнением программы в специальных условиях и вынесения на этой основе оценки каких-либо ее аспектов. [ANSI/IEEE standard : Glossary of SE Terminology. NY:IEEE, 1987] Процесс выполнения программы с намерением найти ошибки. [Г.Майерс. Надежность программного обеспечения. М:Мир, 1980] Тест-менеджмент

Задачи тестирования 21 Задачи тестирования намного шире чем поиск дефектов! Типичные вопросы, с которыми сталкиваются группы тестирования: Сколько ошибок мы нашли? N – это много или мало?.. Почему наши пользователи находят ошибки, если мы потратили на тестирование столько времени?! Мы нашли N ошибок – мы можем остановить тестирование? А как будет себя вести наше приложение в эксплуатации?.. Тест-менеджмент

Стоимость исправления ошибок 22 Миссия тестирования – снизить стоимость разработки путем раннего обнаружения дефектов; Миссия тестирования – отправная точка при продаже качества Тест-менеджмент

Практические соображения (как «продать») 23 Тестирование ПО занимает от 30% до 50% от всей стоимости разработки, в случаях сложных инфраструктурных проектов до 80% (!) Продукты Microsoft: на 1 разработчика 2 тестировщика Тестирование не только процесс контроля, но и мощный инструмент разработки, который позволяет достичь определенного уровня качества >> Тест-менеджмент

Практические соображения 24 Основная цель тестирования – достижение заданного уровня качества продукта Тестирование может не только выявлять и определять дефекты, но и предотвращать их Тестирование становится процессом, эффективность которого кардинально влияет на стоимость Продукта и Сроки его выхода на рынок Тест-менеджмент

25 Перерыв Тест-менеджмент

ЧТО ТАКОЕ МЕТРИКИ ГДЕ И КОГДА НУЖНЫ МЕТРИКИ КАК ОТБИРАТЬ И АНАЛИЗИРОВАТЬ МЕТРИКИ Ключевые метрики в тестировании ПО Тест-менеджмент 26

Ключевые метрики тестирования ПО 27 Основная идея Это приборы корабля, который вы ведете Ключевые метрики тестирования включают покрытие и качество Тестовое покрытие – это метрика полноты, выраженная в количестве выполненных тестовых сценариев или в покрытии выполняемого кода Качество – это метрики функциональности, надежности и производительности приложения Тест-менеджмент

Ключевые метрики тестирования ПО 28 Метрики покрытия ( Coverage Measures ) Тестовое покрытие, основанное на покрытии требований ( Requirements-based Test Coverage ) Тестовое покрытие, основанное на покрытии кода приложения ( Code-based Test Coverage ) Отчеты, основанные на ошибках ( Defect Reports ) Тест-менеджмент

Ключевые метрики тестирования ПО 29 Метрики производительности ( Performance Measures ) Динамические показатели: статус выполнения сценариев ( Dynamic Monitoring ) Отчеты времени отклика и показателей производительности ( Response Time and Throughput Reports ) Отчеты, основанные на собранной статистике ( Percentile Reports ) Сравнительные отчеты ( Comparison Reports ) Детальные отчеты трассировки и профилирования ( Trace and Profile Reports ) Тест-менеджмент

Метрики производительности 30 Отчеты времени отклика и показателей производительности Отчеты, основанные на собранной статистике (Percentile Reports) Тест-менеджмент

Тестовое покрытие 31 Requirements-based Test Coverage Метрика покрытия, основанная на анализе тестовых требований, Собирается несколько раз в течении одного цикла тестирования для анализа завершенности тестирования Вычисляется как соотношение всех запланированных, имплементированных и выполненных тестовых случаев к количеству тестовых требований, существующих для тестового цикла Тест-менеджмент

Тестовое покрытие 32 Code-based Test Coverage Метрика, основанная на анализе исполненных строк кода Можно учитывать: Выражения кода (code statements) Ветки кода (code branches) Пути в коде (code paths) Цель – обеспечить сходимость текущего и заданного уровнем качества значений Требуются люди, владеющие кодом и техниками его анализа Тест-менеджмент

Тестовое покрытие 33 Пример отчета о покрытии кода Тест-менеджмент

Отчеты, основанные на ошибках 34 Отчеты, основанные на ошибках (Defect Reports) Плотность ошибок (Defect Density Reports) Время старения ошибок (Defect Aging Reports) Изменение количества ошибок (Defect Trend Reports) Тест-менеджмент

Отчеты, основанные на ошибках 35 Плотность ошибок (Defect Density Reports) Тест-менеджмент

Отчеты, основанные на ошибках 36 Время старения ошибок (Defect Aging Reports) Цель – увидеть проблемы с ресурсами тестирования и разработки путем анализа скорости закрытия ошибок, времени жизни ошибки в системе и пр. Тест-менеджмент

Отчеты, основанные на ошибках 37 Изменение количества ошибок (Defect Trend Reports) Тест-менеджмент

Тестовое покрытие 38 Практические соображения Количество тестов не определяет качество тестового покрытия Величина тестового покрытия не определяет степень доверия к результатам тестирования, если она не равна 100% 100% тестовое покрытие в условиях реальных разработок практически недостижимо Увеличивайте порог тестового покрытия в случае возникновения ошибок в тестовой области или компоненте Тест-менеджмент

ПО СТЕПЕНИ ДЕТАЛИЗАЦИИ ПО ПОДХОДУ К ТЕСТИРОВАНИЮ Классификация тестирования Тест-менеджмент 39

Классификация тестирования 40 Терминология Терминология бывает разная Я выработал для себя такую, которая чаще всего понимается теми, с кем я общаюсь Если в вашей компании или проекте «дымовое» тестирование называется «предфазовым» - up2u Тест-менеджмент

Классификация тестирования 41 Модульный уровень Тестирование целостности кода на уровне логических модулей Выполняется разработчиками Контролируется группой тестирования с помощью инструментов анализа покрытия кода unit-тестами (unit test coverage tools) Тест-менеджмент

Классификация тестирования 42 Интеграционный уровень Тестирование промежуточных результатов интеграции системы Выполняется разработчиками и тестировщиками Возможны подходы «сверху вниз» и «снизу вверх» Тест-менеджмент

Классификация тестирования 43 Системный уровень Проверка полностью построенной системы на соответствие сформулированным требованиям Подуровни: Альфа-тестирование Бета-тестирование Приемочное тестирование Тест-менеджмент

Классификация тестирования 44 System level Уровни Альфа-тестирование Выполняется группой тестирования внутри команды/организации разработки Бета-тестирование Выполняется группой тестирования в среде дружественно настроенных клиентов Приемочное тестирование Выполняется заказчиком с целью определить, будет ли система принята в эксплуатацию (!) Выполняется группой тестирования с целью определить, будет ли система принята в тестирование (smoke testing) Тест-менеджмент

Классификация тестирования 45 Классификация по применяемому подходу Black box (Functional) Testing Тестирование с точки зрения конечного пользователя Часто комбинируется с методиками «белого ящика» Наиболее распространенные методики тестирования для user-oriented систем и приложений Тест-менеджмент

Классификация тестирования 46 White box (Structural) Testing Анализ приложения на уровне кода Подвиды: Ручное (экспертное тестирование кода) Автоматизированное тестирование инструментами статического анализа Один из наиболее «дорогостоящих» методов тестирования, требующий квалификации высокого уровня Тест-менеджмент

Классификация тестирования 47 Grey box testing («серый» ящик) Смешанная методика, применяемая опытными тестировщиками или разработчиками при отладке кода Тестирование с применением знаний о коде приложения и подробностей реализации функциональности Тест-менеджмент

Практические соображения 48 Одна из задач менеджера – развитие компетенции персонала Даже если вы уверены, что все знают как правильно называется тот тип тестов, который они выполняют, занесите это в базу знаний Тест-менеджмент

ОПРЕДЕЛЕНИЯ СПОСОБЫ СОСТАВЛЕНИЯ СПОСОБЫ ОПТИМИЗАЦИИ Тест и тестовый набор Тест-менеджмент 49

Определение теста и тестового набора 50 Тест – последовательность действий, которая переводит систему из одного состояния в другое Триплет ISO, где: I - is input data or action (входные данные или действия) S - is State of system at which data will be input (состояние системы, которая получает входные данные или воздействие) O - is the expected Output (ожидаемые Выход, выходные данные или выходной состояние системы) Тест-менеджмент

Определение теста и тестового набора 51 Тестовый набор Набор тестов, реализующих бизнес-задачу, выполняемую тестируемой системой Тестовый набор включает кроме тестовых сценариев еще и тестовые данные или правила их генерации Тест-менеджмент

Определение теста и тестового набора 52 Практические соображения После объединения тестов в наборы не должно оставаться незадействованных тестов При проектировании тестов «сверху вниз», тест-кейсы будут являться частями тестовых наборов Рекомендуем проектирование тестов именно «сверху вниз» Тест-менеджмент

Определение теста и тестового набора 53 Разработка тестовых сценариев – практические соображения Формальные методы разработки тестовых сценариев На основе сценариев использования На основе ортогональной классификации дефектов Формальные методики оценки объемов работ Метод расчета цикломатической сложности, основанный на метрике МакКаби (McCabe) Смешанные методики – комбинация подходов Тест-менеджмент

Перерыв 54 Тест-менеджмент

ЭТАПЫ ТЕСТИРОВАНИЯ Планирование тестирования Проектирование тестирования Реализация тестирования Выполнение тестирования Оценка тестирования ПРАКТИЧЕСКИЕ СООБРАЖЕНИЯ Этапы тестирования Тест-менеджмент 55

Этапы тестирования 56 Планирование тестирования Выясняется объем работ, сроки выполнения, пути решения задач по выполнению работ, ресурсы, календарный план Основной артефакт – план тестирования >> Тест-менеджмент

Этапы тестирования 57 Назначение плана тестирования План тестирования ПО является основным согласующим документом Описывает: Существующие проектные ограничения и артефакты, необходимые для анализа готовности к тестированию ПО Основные подходы к решению поставленной задачи и необходимые ресурсы для ее выполнения Тест-менеджмент

Этапы тестирования 58 Цели плана тестирования Анализ имеющейся информации о проекте Выявление компонент ПО, которые будут тестироваться Проверка архитектуры системы на полноту и тестопригодность >> Тест-менеджмент

Этапы тестирования 59 Цели плана тестирования … Описать модели нагрузки, включая список эмулируемых операций и измеряемых параметров Составить перечень инструментов и ресурсов, используемых в проекте Составить перечень документов, которые планируется получить по окончании тестирования Тест-менеджмент

Этапы тестирования 60 Основные разделы плана тестирования Название, Проект Журнал изменений Введение Назначение Исходные данные Область применения Идентификация проекта Тест-менеджмент

Этапы тестирования 61 Основные разделы плана тестирования (продолжение) … Тестовые требования Стратегия тестирования Ресурсы Расписание Материалы, подлежащие сдаче Тест-менеджмент

Этапы тестирования 62 Стратегия тестирования Типы тестирования Тестирование данных и целостности базы данных Функциональное тестирование Тестирование бизнес-циклов Тестирование пользовательского интерфейса Нагрузочное тестирование Тестирование безопасности и управления доступом Конфигурационное тестирование Инсталляционное тестирование Инструментальные средства Тест-менеджмент

Этапы тестирования 63 Проектирование (тест-дизайн) Определение и описание тестовых сценариев Анализ рабочей нагрузки (для нагрузочного тестирования) Оценка тестового покрытия Тест-менеджмент

Этапы тестирования 64 Реализация тестирования Запись тестовых скриптов Определение специальной тестовой функциональности Составление внешних наборов данных Тест-менеджмент

Этапы тестирования 65 Выполнение тестирования Выполнить тестовые процедуры Оценить выполнение тестирования (завершено, не завершено) Исправить «провалившиеся» тесты Исправить, если нужно, тестовые сценарии Проверить результаты Проанализировать неожиданные результаты Запротоколировать дефекты Тест-менеджмент

Этапы тестирования 66 Оценка тестирования Оценить покрытие функциональности тестами Оценить покрытие кода Проанализировать дефекты Определить, были ли достигнуты критерии завершенности и успешности тестирования Тест-менеджмент

Этапы тестирования 67 Практические соображения Тестовый скрипт должен работать в каждом тестовом прогоне или должен быть полностью исключен из тестового набора Тестовые скрипты должны воспроизводиться с момента записи Покрывайте автоматизированными скриптами обнаруженные ошибки критичного приоритета Тест-менеджмент

Этапы тестирования 68 Практические соображения Зафиксируйте основные подходы к автоматизации в Плане Качества продукта Руководствуйтесь в процессе управления автоматизацией определением Качества: Надежность, Производительность, Функциональность. Тест-менеджмент

Этапы тестирования 69 Практические соображения Не старайтесь создать тест-план в точности по шаблону Попробуйте применить концепцию «живых документов» Здравый смысл… Здравый смысл! Здравый смысл Тест-менеджмент

АЛГОРИТМ РАБОТЫ С ДЕФЕКТАМИ ТРЕКИНГ ПО СТАТУСАМ ТРЕКИНГ ПО РОЛЯМ ТИПИЧНЫЕ ПРОБЛЕМЫ, ПРАКТИЧЕСКИЕ СООБРАЖЕНИЯ Работа с дефектами Тест-менеджмент 70

Работа с дефектами 71 Алгоритм работы с дефектами Алгоритм трекинга дефектов может отличаться от проекта к проекту Рекомендуемая схема трекинга ошибки: Тестировщик заносит сообщение об ошибке и адресует его ведущему тестировщику, указав приоритет ошибки Ведущий тестировщик проверяет полноту описания ошибки и воспроизводимость ситуации, повлекшей сбой, уточняет приоритет и переводит ошибку в группу разработки Обратный трекинг проходит аналогично Тест-менеджмент

Работа с дефектами 72 Статусы ошибок, набор полей, их типы и свойства, возможные переходы между статусами определяются отдельно для каждого проекта Трекинг по статусам Тест-менеджмент

Работа с дефектами 73 Трекинг по ролям Тест-менеджмент

Работа с дефектами 74 Сокращение шагов по воспроизведению ошибки Отсутствие описания ошибочного поведения Отсутствие описания правильного поведения Неправильное использование статуса Reopen (для новых ошибок с похожими признаками) Неправильное использование статуса Duplicate >> Типичные проблемы Тест-менеджмент

Работа с дефектами 75 … Тестирование устаревшего билда Изобретение собственных требований Использование нечетких формулировок Попытка определить причину ошибки (поставить диагноз) Искусственное завышение приоритета ошибки Самовольное сужение тестового покрытия Типичные проблемы Тест-менеджмент

Перерыв 76 Тест-менеджмент

УЧЕТ РИСКОВ, МЕРЫ ПО ИХ МИНИМИЗАЦИИ ПРОЦЕСС УПРАВЛЕНИЯ РИСКАМИ ТИПИЧНЫЕ РИСКИ ПРАКТИЧЕСКИЕ СООБРАЖЕНИЯ Работа с рисками Тест-менеджмент 77

Работа с рисками 78 Тест-менеджмент

Работа с рисками 79 Учет рисков, меры по их минимизации Риск – действующий или развивающийся фактор процесса, обладающий потенциалом негативного влияния на ход процесса Риск – лишь потенциальный, а не обязательный результат Опасен не сам риск, а его последствия Тест-менеджмент

Работа с рисками 80 Процесс управления рисками Тест-менеджмент

Работа с рисками 81 Выявление рисков Выявление рисков – это фаза, выносящая на обсуждение всей команды факты наличия рисков. Это начальная стадия процесса управления ими В тестировании это делается на этапе планирования итерации Выявление должно проводиться как можно раньше, и к нему необходимо постоянно возвращаться на протяжении всего жизненного цикла проекта Тест-менеджмент

Работа с рисками 82 Анализ рисков Анализ рисков – это фаза преобразования накопленных оценок и данных в форму, позволяющую приоритезировать риски Приоритезация позволит управлять рисками, выделяя для этого необходимые ресурсы Тест-менеджмент

Работа с рисками 83 Планирование рисков Планирование рисков – выполняется исходя из информации, полученной на этапе анализа Цель – выработка стратегий, планов и конкретных шагов. Эта стадия увязывает планирование рисков с планированием проекта в целом Тест-менеджмент

Работа с рисками 84 Мониторинг рисков Мониторинг рисков – наблюдение за ними и прогрессом в осуществлении составленных планов Мониторингу подвергаются все факторы, способные повлиять на приоритет рисков Тест-менеджмент

Работа с рисками 85 Корректирование рисков Корректирование – процесс исполнения принятых планов и контроль за ходом их исполнения Корректирование также включает инициирование изменений всего проекта, если изменение состояния рисков влияет на объем работы, ресурсы или сроки Тест-менеджмент

Работа с рисками 86 Извлечение уроков Извлечение уроков формализует усвоение накопленного опыта в форме, доступной для использования как внутри группы, так и на уровне всей компании Даже если вы уверены, что все помнят усвоенные уроки, занесите информацию в базу знаний Тест-менеджмент

Работа с рисками 87 Процесс управления рисками Описанные фазы являются логическими шагами, и они не обязательно должны следовать в строгом хронологическом порядке Повторяйте шаги выявления-анализа-планирования по мере обнаружения дополнительных факторов, влияющих на проект Не все риски должны проходить через все описанные шаги Тест-менеджмент

Работа с рисками 88 Типичные риски Технические: Нахождение критичных ошибок после ввода системы в эксплуатацию Нахождение «дыр» в системе безопасности Возникновение проблем при поставке и развертывании системы Использование новых технологий Использование продуктов третьих производителей >> Тест-менеджмент

Работа с рисками 89 Типичные риски … Планирование Неправильное определение границ работ Неправильный выбор архитектуры Неправильная оценка ресурсов Организационные Частое и противоречивое изменение требований заказчиком Текучесть кадров Тест-менеджмент

Работа с рисками в тестировании 90 Типичные риски в тестировании Нехватка ресурсов Требования будут формализованы поздно для полноценного тест-дизайна (не хватит времени) Критичные ошибки будут найдены поздно Тест-менеджмент

Практические соображения 91 Типичные риски в тестировании Работа с рисками в тестировании не отличается от работы с рисками как таковой Отличаются типичные риски Тестирование более зависимый процесс Большая зависимость от заказчика Тест-менеджмент

Практические соображения 92 Типичные риски в тестировании Большие затраты на перетестирование Использование группы тестирования как отладочного механизма Поставка сырых или устаревших модулей Тест-менеджмент

ОСНОВНЫЕ РОЛИ Тест-менеджер, менеджер проекта по тестированию Тест-аналитик Тест-дизайнер Тестировщик, Инженер по тестированию ВСПОМОГАТЕЛЬНЫЕ РОЛИ Администратор тестовой системы, приложений поддерживающих жизненный цикл тестирования Администратор баз данных, менеджер баз данных Разработчик тестов Обзор ролей и артефактов в тестировании Тест-менеджмент 93

Менеджер по тестированию 94 Производит управленческий контроль (management oversight) Ответственность: Разрабатывает план тестирования Обеспечивает техническое направление Получает необходимые ресурсы Обеспечивает управленческую отчетность Тест-менеджмент

Тест-аналитик 95 Определяет, приоритизирует и обеспечивает разработку тестовых случаев Ответственность: Разрабатывает модель тестирования Оценивает эффективность тестирования Тест-менеджмент

Тестировщик, Инженер по тестированию 96 Выполняет тесты Ответственность: Выполняет тесты Фиксирует результаты Восстанавливает тесты и систему после сбоев Документирует запросы на изменение (обнаруженные дефекты, предложения к улучшению) Тест-менеджмент

Администратор тестовой системы 97 Обеспечивает управление и поддержку тестовых окружений и данных Ответственность: Администрирует систему управления тестированием Инсталлирует тестовые системы и управляет доступом к ним Тест-менеджмент

Администратор баз данных 98 Обеспечивает управление и поддержку тестовых данных (баз данных) Ответственность: Администрирует тестовые данные (базы данных) Тест-менеджмент

Тест-дизайнер 99 Устанавливает и определяет операции, атрибуты и связи тестовых классов Ответственность: Устанавливает и определяет тестовые классы Устанавливает и определяет тестовые наборы (пакеты) Тест-менеджмент

Разработчик тестов 100 Разрабатывает модульные тесты (unit tests), тестовые классы и тестовые наборы (пакеты) Ответственность: Создает тестовые классы, собирает тестовые пакеты и интегрирует их в тестовую модель Тест-менеджмент

Обзор артефактов тестирования 101 Тестировщик ПО Test script Test log Аналитик Test Case Test-Ideas List Workload Analysis Model Test Data Test results Тест-менеджмент

Обзор артефактов тестирования 102 Дизайнер Test Strategy Test Automation Architecture Test Environment Configuration Test Suite Тест-менеджер Test Plan Test Evaluation Summary Тест-менеджмент

103 На сегодня все! Тест-менеджмент

КРУГ ЗАДАЧ АКТИВНОСТИ СПИСОК ИЗМЕНЕНИЙ СПИСОК ОТВЕТСТВЕННОСТИ СОВМЕЩЕНИЕ РОЛЕЙ «КЛИЕНТЫ» ВНУТРИ ПРОЕКТА Активности тест-менеджера Тест-менеджмент 104

Круг задач 105 Контроль объема проекта Планирование и контроль выполнения задач по тестированию Управление персоналом Контроль рисков, связанных с тестированием Мотивация персонала Тест-менеджмент

Активности 106 Согласование миссии тестирования Получение обязательств по тестируемости продукта Оценка и отстаивание уровня качества План развития качества продукта Оценка и улучшение производительности тестирования Тест-менеджмент

Внимание на флипчарт 107 Определимся с ролями! Test Manager или Test Lead? Тест-менеджмент Выпуск продукта Деньги Время Люди: найм, увольнение

Список изменений 108 Список артефактов, за изменение которых несет ответственность Список вопросов (issues) Список запросов на изменение Тест-менеджмент

Список ответственности 109 Планирование и материальное обеспечение (logistics) Согласование (agree mission) Мотивация (identify motivators) Получение нужных ресурсов (acquire resources) Отчетность (reporting) Адвокат тестирования Оценка эффективности тестирования Тест-менеджмент

Совмещение ролей 110 Как правило, в небольших проектах совмещение ролей неизбежно. Это нормально Рассмотрим возможные сочетания ролей в проекте (следующий слайд) + - сочетание допустимо ± - сочетание нежелательно - - сочетание недопустимо >> Тест-менеджмент

Совмещение ролей Руководитель проекта РазработкаТестированиеБизнес-анализ Руководитель проекта -++ Разработка --- Тестирование +-± Бизнес-анализ +-± 111 Тест-менеджмент

Совмещение ролей 112 Рассмотрим наиболее «порочное» сочетание ролей: разработчик-тестировщик Разработчик проводит тестирование по остаточному принципу и не может найти неожиданные ошибки за счет « замыленности » взгляда. Отсюда следует большое количество ошибок при интеграционном тестировании Отсутствие или низкое качество регрессионного тестирования Тестирование не является процессом с заданными входными и выходными данными и критериями завершения Повышается вероятность пропуска или не нахождения критических дефектов Тест-менеджмент

«Клиенты» внутри проекта 113 Внутренний сервис – услуги, предоставляемые друг другу различными отделами одной и той же организации В этом случае роль клиента выполняет отдел вашей компании Какие примеры «клиентов» для отдела тестирования? Для кого отдел тестирования является клиентом? Тест-менеджмент

«Клиенты» внутри проекта 114 Один из наиболее эффективных способов развития культуры « внутреннего » обслуживания – взгляд со стороны « внешнего » потребителя, вашего клиента Какую «продукцию» производит отдел тестирования? Какие результаты ожидает каждый из клиентов отдела тестирования? Как вы думаете, останутся ли ваши клиенты у вас, если бы они были «настоящими» внешними клиентами? Тест-менеджмент

«Клиенты» внутри проекта 115 Практические соображения Постарайтесь относиться к внутренним клиентам, как к внешним Попробуйте поставить себя на место вашего заказчика Вывод о готовности и качестве продукта – результат высшего уровня, который от вас ждут Чтобы обеспечить этот глобальный результат, проводите анализ метрик качества. Сами по себе метрики – лишь набор чисел Тест-менеджмент

116 Перерыв Тест-менеджмент

Успешное управление Тест-менеджмент 117 Работа с подчиненными Работа с руководством, коллегами, заказчиками Управление задачами Управление временем, тайм-менеджмент

Работа с подчиненными 118 Тест-менеджмент

Работа с подчиненными 119 Подбор исполнителей Именно руководитель составляет план и определяет количество нужных ресурсов Не соглашайтесь с урезанием ресурсов «безвозмездно», потребуйте либо увеличить бюджет, либо отпущенное время, либо усилить команду Согласие с «безвозмездным» урезанием ресурсов подрывает ваш авторитет >> Тест-менеджмент

Работа с подчиненными 120 Подбор исполнителей Персональный состав команды согласовывается с руководством Руководитель может обоснованно отказаться работать с кем-либо из подчиненных Но если руководитель работает с подчиненными и не сообщает о проблемах, то это автоматически означает, что: Это не отразится на качестве работы данного работника Это не отразится на сроках выполнения работ Это не отразится на качестве работы самого руководителя Тест-менеджмент

Работа с подчиненными 121 Оценка задач Задачи должны оцениваться теми, кто их будет выполнять Проводите оценку задач совместно с подчиненными. При этом помните, что: Исполнители всегда называют неверные сроки Понять, насколько ошибается конкретный исполнитель можно лишь методом проб и ошибок «Силовые» методы как средство борьбы с неправильными оценками не работают Тест-менеджмент

Работа с подчиненными 122 Оценка трудоемкости задач Evidence based На основе статистики Дельфи COCOMO Тест-менеджмент

Работа с подчиненными 123 Тест-менеджмент Evidence Based Scheduling Работа разбивается на задачи (>

Работа с подчиненными 124 Тест-менеджмент Evidence Based Scheduling... Вычисляется показатель velocity (соотношение план/факт) для каждого исполнителя Для оставшихся задач выполняется 100 прогонов: Выясняется, кто будет исполнителем Случайным образом выбирается velocity из его истории На основании оценки и velocity выясняется реальная трудоемкость задачи Строится график соотношения между временем и вероятностью завершить проект за это время

Работа с подчиненными 125 Тест-менеджмент Evidence Based Scheduling Преимущества Высокая точность Недостатки Не всегда точно известно Количество задач Исполнитель задачи Требуется накопить статистику

Работа с подчиненными 126 Тест-менеджмент Метод Дельфи Каждая задача оценивается каждым из исполнителей (экспертом) Чужие результаты оценивающим неизвестны Результаты сообщаются оценивающим и… Их просят пересмотреть свое мнение Результаты сообщаются всей группе и проводится коллективное обсуждение

Работа с подчиненными 127 Тест-менеджмент Модель COCOMO Существует 3 режима работы модели: Органичный Некрупный проект, небольшая команда, среда остается стабильной. До 50KLOC Сблокированный небольшая команда, проект среднего размера, необходимы некоторые инновации, незначительная нестабильность среды KLOC Внедренный Большая команда, крупный проект, значительный объем инноваций, среда неоднородна и нестабильна. Более 300KLOC

Работа с подчиненными 128 Тест-менеджмент Модель COCOMO Трудозатраты (чел/мес) вычисляются по формуле T=a х (KLOC) b Длительность проекта вычисляется по формуле F=2.5 x T k Режимabk Органичный Сблокированный Внедренный

Работа с подчиненными 129 Оценка задач. Практические соображения Помните о правиле «треугольника» Время-Деньги- Ресурсы. Фиксировать можно не более 2 параметров Если какой-либо параметр меняется более, чем на 10%, то воздействие на другие два будет квадратичным Менеджер вносит на порядок большие ошибки в оценки проекта, чем инженеры при оценке индивидуальных задач Тест-менеджмент

Работа с подчиненными 130 Оценка задач. Практические соображения При оценке не забывайте о «скрытых» задачах и «запасе прочности» При составлении планов и оценке учитывайте риски...слабо развиты наши методы оценок. В сущности, они отражают молчаливое и совершенно неверное предположение, что все будет идти хорошо. Фредерик Брукс Как правило, план не выполняется из-за неучтенных задач или рисков Тест-менеджмент

Работа с подчиненными 131 Индивидуальный подход Существует множество способов классификации психологических типов. Предлагаем вам следующую классификацию (с точки зрения отношения к работе): «Пунктуальный». Не пренебрегает деталями, но всегда занят и не способен расставить приоритеты «Хочу понравиться всем». Работает старательно и добросовестно, но не умеет говорить «нет» и часто перегружен чужой работой >> Тест-менеджмент

Работа с подчиненными 132 Индивидуальный подход... «Всегда опаздываю». Способен справиться с большим объемом работ в краткие сроки, но всегда откладывает ее до последнего – иначе ему неинтересно «Самодостаточный». Ответственен, но избегает обращаться за помощью и советами, из-за чего часто затягивает даже простые задачи «Творец». Способен найти нетривиальный подход, эффективно решать сложные задачи, но часто игнорирует планы и бизнес-потребности, избегает рутинной работы Учитывайте индивидуальность при постановке задач! Тест-менеджмент

Работа с подчиненными 133 Практические соображения Подстраивайте график работы группы под нужды проекта Учитывайте разницу во времени между офисами и заказчиком Учитывайте культурные различия >> Тест-менеджмент

Работа с подчиненными 134 Практические соображения … Проводите ежедневные собрания группы Выявляйте текущие проблемы, но не пытайтесь их решать Не допускайте длинных неконструктивных дискуссий и обсуждения личностей Помните, ежедневные собрания имеют также и мотивационную функцию (о твоих проблемах знают, твои проблемы решаются) >> Тест-менеджмент

Работа с подчиненными 135 Практические соображения … Будьте в курсе, чем занят каждый подчиненный и когда он окончит свое задание Планируйте загрузку с избытком («горизонт задач») Обеспечьте совместное использование (sharing) имеющегося опыта Избегайте понятия «Тайные Знания» (Secret Knowledge) Поддерживайте создание и развитие Базы Знаний Если вы узнаете о плохой работе подчиненных от руководства – это тревожный симптом! Тест-менеджмент

Работа с подчиненными 136 Мотивация Кто может мотивировать Виды мотивации Иерархия потребностей Практически соображения Тест-менеджмент

Работа с подчиненными 137 Кто должен мотивировать Как правило, в тестировании задачи по мотивации исполняет тест-менеджер В этом контексте его обязательные признаки: Право подбора исполнителей Право распределения премий Право запрета выпуска версии Тест-менеджмент

Работа с подчиненными 138 Типичная схема мотивации Материальная Ставка Премия по результатам личной деятельности Премия по результатам деятельности отдела... Нематериальная Личное общение Внимание и защита Сопричастность Влияние Какие преимущества и недостатки такой схемы? Тест-менеджмент

139 Иерархия потребностей (по Маслоу)

Работа с подчиненными 140 Мотивирующие факторы для различных уровней (по Маслоу) 5. Клубы (кружки) качества, БРИЗ, подарки при значимых событиях Название должности, представительские обязанности, имидж компании, аксессуары Участие в управлении, обратная связь с руководством, обучение, информация о долгосрочных перспективах Конкурентная з/п, комфортное рабочее место и т.п. 1. Выполнение 80% требуемого объема работы оплачивается на уровне средней з/п на рынке Тест-менеджмент

Работа с руководством 141 Тест-менеджмент Я привлёк ваше внимание?

Работа с руководством 142 Исходя из того, что мы люди здравые Что нужно руководству компании? Что нужно вашему заказчику? Что нужно вашему ПМ-у? Что нужно вашему ведущему разработчику? Тест-менеджмент

Работа с руководством 143 Ответ – уверенность и спокойствие Тест-менеджмент

Работа с руководством 144 Актуализация планов, контрольные точки В начале проекта всегда происходит торможение и отставание от плана. Это распространяется не только на участников команды, но и на выделение ресурсов, общение с заказчиком и т.п. Это нормально! Контрольные точки служат для того, чтобы оценить, идет ли проект нормально или имеются проблемы Тест-менеджмент

Работа с руководством 145 Актуализация планов, контрольные точки... Чтобы оценить состояние проекта нужна информация – актуализированный план проекта Контрольные точки должны располагаться на стыках важных этапов проекта Принятие решений в контрольных точках должно быть явным – в виде актов, писем или т.п. Тест-менеджмент

Работа с руководством 146 Актуализация планов, контрольные точки План (в том числе и тест-план) – это не только программа действий, но и письменное обязательство руководителя. Актуализация планов проводится как по требованию заказчика/руководителя, так и для собственных нужд Актуализация плана состоит в сборе информации о потраченном членами группы времени и сравнении его с запланированными показателями Рекомендуем актуализировать планы ежедневно Тест-менеджмент

Работа с руководством 147 Актуализация планов, контрольные точки Большинство проблем возникает, если предоставленная информация об использованных ресурсах не нравится руководству/заказчику Чтобы их избежать информация в отчете должна быть: Полной (Сколько ресурсов и на что было потрачено?) Внятной (Откуда взялись все эти цифры? Что они означают?) Наглядной (Чтобы не возникали поводы для споров) Для это рекомендуем следующее >> Тест-менеджмент

Работа с руководством 148 Актуализация планов, контрольные точки... Выбирайте осмысленные названия задач, поставленных исполнителям. (Контрольный вопрос – смогу ли я через месяц понять, о чем тут идет речь?) Собирайте информацию ежедневно Заранее согласуйте способ учета времени для вашей команды >> Тест-менеджмент

Работа с руководством 149 Актуализация планов, контрольные точки... Выясните, какие категории задач должны вноситься в отчет, а какие нет Снабжайте отчеты комментариями Ключевые решение должны существовать в письменном виде Тест-менеджмент

150 Перерыв Тест-менеджмент

МОДЕЛЬ FACT ПРАКТИЧЕСКИЕ СООБРАЖЕНИЯ Управление временем Тест-менеджмент 151

Управление задачами Менее важноВажно Менее срочно TC Срочно FA 152 A – срочные и важные задачи С – несрочные, но важные задачи F – неважные, но срочные задачи T – неважные и несрочные задачи Распределите все задачи по срочности и важности Модель FACT Тест-менеджмент

Управление задачами 153 Принципы планирования рабочего дня Выполняйте задачи в такой последовательности: A – срочные и важные задачи С – несрочные, но важные задачи F – неважные, но срочные задачи T – неважные и несрочные задачи >> Тест-менеджмент

Управление задачами 154 Принципы планирования рабочего дня … Установите «коммуникационные окна» Установите время, когда вы отвечаете лишь на экстренные вопросы Попытайтесь не выделять специально времени для задач типа T, а использовать их как «песок» >> Тест-менеджмент

Управление задачами 155 Принципы планирования рабочего дня … При классификации задач задайте себе вопросы: Это связано с моими целями? (при ответе «да» - тип A,C) Только ли я смогу это сделать? (при ответе «да» - тип A,C) Это должно быть сделано сегодня? (при ответе «да» - тип F,C) Прежде, чем отнести задачу к типу Т, подумайте, не стоит ли ее делегировать Тест-менеджмент

156

Управление задачами 157 Практические соображения Планируй, или тебя спланируют! (Г.Форд) Не спланируешь свой день – этим займутся другие! Занимайтесь самонаблюдением. Планируйте выполнение важных задач на время лучшей трудоспособности. Подберите лучший инструмент для планирования. Рассмотрите и электронные, и «традиционные» подходы. >> Тест-менеджмент

Управление задачами 158 Практические соображения... Не выполняя собственных планов, вы автоматически ставите под угрозу планы коллег. Не подводите друг друга. Не откладывайте неприятные задачи в тайной надежде, что их не придется выполнять вовсе. Тест-менеджмент

Управление временем 159 Основные принципы Чтобы начать управлять временем требуются первоначальные затраты Ведите хронометраж рабочего дня. Попробуйте продержаться хотя бы 1-2 недели Фиксируйте запланированные и незапланированные дела, помехи, эмоциональное и физическое состояние >> Тест-менеджмент

Управление временем 160 Основные принципы... Не старайтесь угодить всем. Берегитесь «хронофагов» Пожиратели времени, люди которые постоянно спрашивают тебя, не затрудняясь поискать ответ самостоятельно (?) Имейте список целей. Без этого невозможно составлять планы, а без плана невозможно управлять временем Научитесь говорить «нет» и делегировать задачи Тест-менеджмент

Что ответить лентяю? 161 Тест-менеджмент

Управление временем 162 Делегирование задач Почему зачастую руководитель намного более занят, чем подчиненный? Предлагайте варианты... Если вы помогаете решать проблему вашего подчиненного, она не становится вашей Избегайте «размывания» ответственности Избегайте коллективной ответственности Учитывайте индивидуальность Тест-менеджмент

163 Перерыв Нам осталось совсем немного Тест-менеджмент

Рекомендуемая литература 164 Автоматизированное тестирование программного обеспечения Элфрид Дастин, Джефф Рэшка, Джон Пол Automated Software Testing Издательство: Лори, 2003 г. Исчерпывающее пошаговое руководство по использованию наиболее эффективных инструментальных средств, приемов и методов автоматизированного тестирования. Основываясь на анализе многочисленных примеров успешных отраслевых реализаций, эта книга предоставляет все, что необходимо знать для успешного внедрения автоматизированного тестирования в процесс разработки. Тест-менеджмент

Рекомендуемая литература 165 Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование Critical Testing Processes: Plan, Prepare, Perform, Perfect Рекс Блэк Издательство: Лори, 2006 г. В этой книге Рекс Блэк выделяет двенадцать процессов тестирования, являющихся ключевыми для достижения успеха. За описанием каждого из этих процессов следует пример использования процесса. Вместо громоздких правил представлены списки контрольных вопросов - легкие, гибкие инструменты для внедрения тестирования, ориентированного на процесс, для сбора измерений и внесения последовательных изменений. Показывается как: - Наиболее эффективно и последовательно проводить тестирование; - Собирать сплоченную, слаженно работающую команду; - Создавать репутацию надежности за счет эффективного предоставления результатов тестирования; - Нацеливать тестирование на достижение максимального удовлетворения потребностей заказчика и стоящих перед компанией целей. Тест-менеджмент

Рекомендуемая литература 166 Тестирование производительности Web-приложений Microsoft. NET (+ CD-ROM) Performance Testing Microsoft. NET Web Application Издательство: Русская Редакция, 2003 г. Эта книга написана группой специалистов Microsoft, протестировавших и настроивших сотни Web-сайтов и Web-приложений, - Microsoft Аррliсаtion Consulting and Engineering (АСЕ) Team (группа консалтинга и проектирования приложений Microsoft). Тест-менеджмент

Рекомендуемая литература 167 Путь камикадзе Эдвард Йордон Издательство: Лори, 2003 г. Книга Эдварда Йордона `Путь камикадзе` представляет собой полное руководство по выживанию в безнадежных проектах, предназначенное для разработчиков программного обеспечения Тест-менеджмент

Рекомендуемая литература 168 Мифический человеко-месяц Фредерик Брукс Издательство: Символ-Плюс, 2006 г. Эта книга – своего рода библия для разработчиков программного обеспечения во всем мире, написанная Бруксом еще в 1975 году. Полагают, что без прочтения книги Брукса не может состояться ни один крупный руководитель программного проекта Тест-менеджмент

Рекомендуемая литература 169 Тестирование dot com Роман Савин Издательство: Дело, 2007 г. Этот курс лекций создан для тех, кто хочет обучиться тестированию, понять, как вести себя в корпоративном окружении, и добиться профессионального и личностного роста. Он будет интересен и участникам процесса разработки программного обеспечения, рекрутерам, людям, связанным с интернетом или пишущим о нем, и просто всем желающим понять кухню интернет-стартапов Тест-менеджмент

Рекомендуемая литература 170 Тайм-драйв Глеб Архангельский Издательство: Манн, 2007 г. Самая полезная и увлекательная книга об управлении временем. Книга отличается популярным изложением. В максимально простой и пошаговой форме, на реальных российских примерах, она дает ответ на главный вопрос современного менеджера: как успевать больше? Тест-менеджмент

Рекомендуемая литература 171 Отбор и подготовка менеджеров Валерий Тарасов Издательство: Машиностроение, 1998 г. В отличие от многих книг по управлению кадрами, вышедших на русском языке, в книге управленческая деятельность рассматривается как достаточно жесткая: неизбежно включающая в себя элементы конфронтации, борьбы за перехват и удержание управленческих функций Тест-менеджмент

Рекомендуемые QAforums.com – Software Testing and Quality Assurance Online Forums. English. QAforums.com StickyMinds.com – brain food for building better software. English. StickyMinds.com Braidy Tester ( – Making developers cry since 1995 IT4Business.ru – сервер тестировщиков и QA, форум, обзоры литературы, рассылки. IT4Business.ru Тест-менеджмент

ПАНКРАТОВ ВЯЧЕСЛАВ ДМИТРИЙ ЛЫСЕНКО Авторский коллектив Тест-менеджмент 173

Вопросы?

Спасибо! Удачи!