Test Labs 2009. Налютин Никита. Тестирование, как средство...

Preview:

DESCRIPTION

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

Citation preview

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

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

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

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

Ожидания

Требования

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

Верификация

Валидация

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

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

Аналитик

Разработчик

Дизайнер

Тестировщик

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

• Requirements and technicalconcepts for aviationRTCA DO-178B

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

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

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

Зона порядка

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

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

Требования

Релизы

Тесты

Дефекты

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

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

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

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

Чем хорошо?

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

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

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

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

Сроки

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

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

Тесты

Дефекты

Код

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

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

42!

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

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

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

хаоса

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

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

INBOX

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

Сроки

Релизы

Код

Тесты

/деф

екты

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

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

Время

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

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

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

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

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

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

Т 0 Т 1 Т 2

Т1 1 Т1 2 Т 2-1

Т 2-2

Т 2-3

а б в

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

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

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

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

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

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

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

план и кейсы

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

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

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

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

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

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

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

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

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

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

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

INBOX

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

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

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

Система

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приоритет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Куда дальше?

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

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

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

Вопросы?

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

nnalutin@gmail.comhttp://pine.moikrug.ru

Recommended