31
Тестирование как средство противодействия внешнему хаосу Никита Налютин

Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Embed Size (px)

DESCRIPTION

В реальной жизни тестировщики часто сталкиваются с ситуацией, когда требования к системе меняются постоянно, сроки разработки сжаты, а 100% покрытие недостижимо – не потому, что заказчик не знает, чего хочет, а потому что постоянно меняется среда, в которой работает система, и потому что опоздать – хуже, чем ошибиться. Здесь приходится говорить о достаточном уровне надежности, приоритетах и принятии определенной доли риска. Классическая литература такие ситуации часто обходит: считается, что четко определенный процесс тестирования в подобных условиях не существует. На самом деле процесс есть, он просто другой. Целью становится не полное покрытие и документальное подтверждение следования технологии, а постоянная оценка и пересмотр критических мест системы, поддержание целостной информации о ее состоянии, ее функциональности и дефектах. В докладе пойдет речь о возможной организации такого процесса при помощи GTD, управления конфигурациями и быстрой визуальной оценки состояния системы.

Citation preview

Page 1: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Тестированиекак средство противодействия

внешнему хаосу

Никита Налютин

Page 2: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Как мы хотели бы тестировать?

Ожидания

Требования

Код Тестирование

Верификация

Валидация

Page 3: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Как оно бывает на самом деле?

Менеджерпроекта

Аналитик

Разработчик

Дизайнер

Тестировщик

Page 4: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Где все хорошо?

• Requirements and technicalconcepts for aviationRTCA DO-178B

• Процессы:– Планирование– Разработка– Верификация– Управление конфигурациями– Управление качеством– Взаимодействие с сертифицирующим органом

Page 5: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Уровни критичности

Failure condition Software level

Catastrophic A P P P P P P P P P P PHazardous B P P P P P P P P PMajor C P P P P P P PMinor D P P P P PNo effect E P P

Active lifecycle processes and supporting documentation

Page 6: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Зона порядка

Тестировщик внутри процесса• Переработка упорядоченного входа в

упорядоченный выход

Требования

Релизы

Тесты

Дефекты

СрокиСтандарты

Page 7: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Когда заканчиваем?

Фаза кончиласьДеньги кончилисьПокрыли 100% требованийПокрыли 75% кодаАвтоматизировали 70% тестов

Когда выпускаем?Дефекты кончились

Page 8: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Чем хорошо?

Сроки – управляемыеПроцесс – естьЗрелость коллектива – несомненно

Чем плохо?Окружающая среда не обязана быть

зрелой и устойчивойРаботать все равно надо!

Page 9: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Зона внутреннего хаоса

Сроки

РелизыТребования

Стандарты???

Тесты

Дефекты

Код

Page 10: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Главный вопрос жизни, вселенной и всего такого

Как работать в агрессивной среде в условиях внешнего хаоса?

Page 11: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

42!

• Структурировать!

– Время: GTD– Информацию о системе: конфигурации– Быстрые оценки состояния: диаграммы

Page 12: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Зона внешнего

хаоса

Зона внутреннего порядка

Как бороться?

INBOX

Информация о системе

Сроки

Релизы

Код

Тесты

/деф

екты

Рабочие процессы

Оценки/отчеты

Page 13: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Время

Page 14: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Планирование времени

Производство продукции (ПР)

Подготовка людей (ОЛР)

Подготовка рабочих мест (ОТР)

Переподготовка людей (ОЛР)

Т Работа 2 Т Работа 3Т Работа 1

Т 0 Т 1 Т 2

Т1 1 Т1 2 Т 2-1

Т 2-2

Т 2-3

а б в

Контрольная точка

Контрольная точка

Уровень Процесса

Уровень Проекта

Уровень Исполнителя

Page 15: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Упорядочение времени: почти GTD

• Надо срочно!– Наброски критических тест-кейсов– Сразу баг-репорты– Задача на спокойный период – написать нормальный тест-

план и кейсы

• Надо сегодня– Нормальные тест-кейсы– Баг-репорты со ссылками на шаги– Задача на спокойный период: выделить тесты на регрессию

• На неделе сделаешь?– Подробные тест-кейсы– Можно подумать об автоматизации и о высоком

Page 16: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Распределяем верхушки айсберга

срочно! сегодня на неделе

Анализ и исследованиеАнализ и исследование

Сценарии тестовСценарии тестов

Тест-требованияТест-требования

ДефектыДефекты

Рабочие заметкиРабочие заметки

Привязка к структуре системыПривязка к структуре системы

АвтоматизацияАвтоматизацияМы не отказываемся от работы вообще……но просто откладываем часть ее на потом…на более спокойное время, но иногда насовсем

INBOX

Page 17: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Информация о системе

Page 18: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Управление конфигурациямиКонфигурация документов Архитектура

Руководство пользователя План проекта

Система

Page 19: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Управление конфигурациями

Page 20: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Упорядоченные конфигурации• Важно!

– Один объект входит во множество конфигураций

• Источники информации:– Внешние (требования) – непредсказуемы, надо структурировать– Внутренние – тестовые артефакты, знаем что когда будет

• Какие нужны конфигурации?– Тесты (на регрессию, доделать, уточнить, автоматизировать)– Дефекты (конкретного релиза, критические и т.п.)– Подумать и улучшить (что угодно)– Хотелки и требования (структура системы)– и т.д.

• Что надо связывать? Все!– тесты, дефекты, результаты прогона, коммиты и т.д.

Page 21: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Упорядоченные конфигурации

Внешние источники

• Дают статическую информацию• Надо «подшивать», образуя структурированные

описания системы• Тестировщик – аналитик• Wiki

Внутренние источники

• Дают динамическую информацию, важно состояние• Структура образуется сама• Тестировщик работает согласно процессам• Project Tracker

Page 22: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Workflow все-таки естьTask External Defect Report Internal Defect Report

Reopened

Started

Completed

QA New

OpenSubmitted

Accepted

Started

Completed

QA

Verified

Verified

Fixed

Closed

Developer

QA Engineer

Reopened Reopened

Assigned

Page 23: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Отчеты о состоянии

Page 24: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Вычисление состояния

Объект конфигураци

Объекты конфигурации

Состояния объектов

Состояниеконфигурации

Принятие решения

Технологическоевоздействие

Изменениесостояний

Анализсостояния

Вычислениестатуса

конфигурации

Page 25: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Оценка состояния

• Состояние должно определяться с первого взгляда

• Какие нужны диаграммы?– Календарь приоритетов: календарь– Сколько осталось: столбчатая– Где критические места: пузырьковая– Трудозатраты (на разработку тестов/на

регрессию): роза ветров

Page 26: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Календарь приоритетов

Задача 1Задача 1

Задача 2Задача 2

Задача 3Задача 3

Задача 4Задача 4

Задача 1Задача 1

Задача 2Задача 2

Задача 3Задача 3

Задача !!!Задача !!!

Задача ???Задача ???

Пн Вт Ср Чт Пт Пн Вт Ср Чт Пт

Приоритет

Лесенка сверху вниз

Page 27: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Где критические места?Пузыри должны всплывать, уменьшаясь в размерах по мере исправления дефектов

Page 28: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Сколько осталось

Разработка Тестирование

Задача 1Задача 1

Задача 3 (исправление)Задача 3 (исправление)

Задача 5Задача 5

Задача 2Задача 2

Задача 3Задача 3

Задача 4 (исправление)Задача 4 (исправление)

Задача 4Задача 4

Задача 6Задача 6

Считаем каждого или через одного

Page 29: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

ТрудозатратыПерекос на регрессию – надо автоматизировать

Page 30: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Куда дальше?

Распространить порядок за пределы тестирования

Заинтересовать начальство

Подключить заказчиков к обсуждению проблем в трекере

Page 31: Test Labs 2009. Налютин Никита. Тестирование, как средство противодействия внешнему хаосу

Вопросы?

Никита Налютин

[email protected]://pine.moikrug.ru