51

Тестирование требований: Зачем - понятно, а вот Как?

Embed Size (px)

DESCRIPTION

Выступление Юлии Нечаевой на Летнем Аналитическом Фестивале - 2010. 10 июля 2010 года

Citation preview

Page 1: Тестирование требований: Зачем - понятно, а вот Как?
Page 2: Тестирование требований: Зачем - понятно, а вот Как?

Кто я?

• Тестировщик

• Тест-менеджер

• Руководитель отдела тестирования

• Инструктор

• Активный участник конференций

2

Page 3: Тестирование требований: Зачем - понятно, а вот Как?

Что будем делать?

- Выпустим продукт по плохим требованиям

- Посмеемся

- Я поделюсь существующей системой

- Обсудим её

- Внесем предложения

3

Page 4: Тестирование требований: Зачем - понятно, а вот Как?

Часть 1. Иллюстрация

4

Page 5: Тестирование требований: Зачем - понятно, а вот Как?

Вводные:

Компания «Вакуумная сфера»

- разработка ПО

- 50 человек, из них 35 – разработка

Завязка:

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

5

Page 6: Тестирование требований: Зачем - понятно, а вот Как?

6

Page 7: Тестирование требований: Зачем - понятно, а вот Как?

Компания «Кофе для всех»

7

Page 8: Тестирование требований: Зачем - понятно, а вот Как?

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

Повысить производительность разработчиков

Для этого:

- снизить посещаемость кофейни программистами в рабочее время

8

Page 9: Тестирование требований: Зачем - понятно, а вот Как?

3 варианта решения

- купить франшизу у кофейни, поставить бар

- купить кофемашину

- поставить кофемат (платный либо бесплатный за счет компании)

9

Page 10: Тестирование требований: Зачем - понятно, а вот Как?

Выбранный вариант

-купить франшизу у кофейни, поставить бар с баристом

- купить кофемашину

- поставить кофемат (платный либо бесплатный за счет компании)

10

Page 11: Тестирование требований: Зачем - понятно, а вот Как?

Процесс выявления требований

- Первоначальные требования

- Подсчет стоимости

- Урезание требований

11

Page 12: Тестирование требований: Зачем - понятно, а вот Как?

Свершилось!

12

Page 13: Тестирование требований: Зачем - понятно, а вот Как?

Проходит месяц

13

Page 14: Тестирование требований: Зачем - понятно, а вот Как?

- Нельзя выпить то, что хочется

- С утра постоянно не работает

- 2 раза обжегся - Постоянно нет ложек- Невкусно

14

- Не умею пользоваться - Не заметил - Током бьет- Слишком горячий- Неудобно

- Вечно нет сдачи- Не принимает сторублевки - Кидает с купюрами - На рабочем месте нет

мусорки

Page 15: Тестирование требований: Зачем - понятно, а вот Как?

Причины сложившейся ситуации

- Плохое выявление (невыявленные требования)

- Плохое тестирование (выявленные требования)

15

Page 16: Тестирование требований: Зачем - понятно, а вот Как?

Причины сложившейся ситуации

- Плохое выявление (невыявленные требования)

- Плохое тестирование (выявленные требования)

16

Page 17: Тестирование требований: Зачем - понятно, а вот Как?

Часть 2. Система, которая есть

17

Page 18: Тестирование требований: Зачем - понятно, а вот Как?

Свойства хороших требований

- Полнота

- Правдивость

- Однозначность

- Измеримость

- Ранжируемость

- Не определяющее техническое решение

- Осуществимость (реализуемость)

- Проверяемость (тестируемость)

- Прослеживаемость

- Непротиворечивость

- Избыточность

18

Page 19: Тестирование требований: Зачем - понятно, а вот Как?

Кубической формыРебро 75 ммКрепкий (ГОСТ №)Легкий (ГОСТ №)Травмобезопасный (ГОСТ №)Безвредный материал (ГОСТ №)Цветной

Кубической формыРебро 75 ммПластмассовый (полиэтилен)ПолыйВозможность покрасить

Page 20: Тестирование требований: Зачем - понятно, а вот Как?

Требование 1: см. базовые требования «Кубик»Требование 2: зелёный, красный, жёлтый, голубой

Page 21: Тестирование требований: Зачем - понятно, а вот Как?

Методы тестирования

- Проверка требований (документации)

- Анализ поведения системы

- Прототипирование

21

Page 22: Тестирование требований: Зачем - понятно, а вот Как?

Кто должен тестировать?

Для эффективного тестирования важно вовлекать различных специалистов

За качество ответственна (в своей области) вся команда

- Тестировщики

- Аналитики

- Менеджер

- Разработчики

- …

22

Page 23: Тестирование требований: Зачем - понятно, а вот Как?

Кто тестирует?

Для эффективного тестирования важно вовлекать различных специалистов

За качество ответственна вся команда

- Тестировщики

- Пользователи

- Аналитики

- Менеджер

- Разработчики

- …

23

Page 24: Тестирование требований: Зачем - понятно, а вот Как?

Предусловия

• Список в виде «Система должна делать…»

• Требования сгруппированы по уровням:

- бизнес-требования (БТ)

- функциональные требования (ФТ)

- пользовательские

- к системе

- к подсистемам

- к компонентам

- нефункциональные требования (НТ)

24

Page 25: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 1

- Делим требования на управляемые группы

Можем ли мы при каждом изменении в требованиях определить все части системы, на которые оказывает влияние это изменение?

25

Page 26: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 1

- Делим требования на управляемые группы

Можем ли мы при каждом изменении в требованиях определить все части системы, на которые оказывает влияние это изменение?

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

26

Page 27: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 2

- Все ли требования из уже известных зафиксированы:

Спрашивали ли мы заинтересованные стороны об осознанных, неосознаваемых и невообразимых требованиях

27

Page 28: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 2

- Все ли требования из уже известных зафиксированы:

Спрашивали ли мы заинтересованные стороны об осознанных, неосознаваемых и невообразимых требованиях

Позволяет как-то проверить полноту требований

28

Page 29: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 3

- Знаем ли мы значение, которое придает требованию заказчик?

Определено ли для каждого требования значение, придаваемое заинтересованными сторонами?

29

Page 30: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 3

- Знаем ли мы значение, которое придает требованию заказчик?

Определено ли для каждого требования значение, придаваемое заинтересованными сторонами?

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

30

Page 31: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 4

- Сопоставляем требования и сформулированные цели разработки системы:

Каждое ли требование в спецификации существенно для системы?

31

Page 32: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 4

- Сопоставляем требования и сформулированные цели разработки системы:

Каждое ли требование в спецификации существенно для системы?

Позволяет выявить несущественные требования

32

Page 33: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 5

- Содержат ли требования выражения типа «подлежит определению», «и так далее», «и прочее» …

- Ссылаются ли требования на несуществующие источники?

- Ссылается ли на ещё не определенные источники?

33

Page 34: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 5

- Содержат ли требования выражения типа «подлежит определению», «и так далее», «и прочее» …

- Ссылаются ли требования на несуществующие источники?

- Ссылается ли на ещё не определенные источники?

34

Проверяем требования на однозначность

Page 35: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 6

- Определяем меру качества для каждого требования:

Верно ли, что каждое требование имеет критерий качества, который можно использовать для проверки того, удовлетворяет ли какое-либо решение требованию?

35

Page 36: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 6

- Определяем меру качества для каждого требования:

Верно ли, что каждое требование имеет критерий качества, который можно использовать для проверки того, удовлетворяет ли какое-либо решение требованию?

Позволяет выявить неизмеримые требования

36

Page 37: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 7

- Для каждого требования выясняем, сможем ли мы после реализации сказать, что реализовано именно то, что было нужно?

37

Page 38: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 7

- Для каждого требования выясняем, сможем ли мы после реализации сказать, что реализовано именно то, что было нужно?

Сможем ли мы протестировать однозначно протестировать реализацию?

38

Page 39: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 8

- Отслеживаем термины:

Всякая ли ссылка на термин, определенный в спецификации требований, согласуется с этим определением?

39

Page 40: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 8

- Отслеживаем термины:

Всякая ли ссылка на термин, определенный в спецификации требований, согласуется с этим определением?

Позволяет отследить неоднозначные требования

40

Page 41: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 9

- Для каждого требования выясняем, почему оно является требованием.

Содержит ли спецификация решения, представленные в виде требований?

41

Page 42: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 9

- Для каждого требования выясняем, почему оно является требованием.

Содержит ли спецификация решения, представленные в виде требований?

Позволяет понять, реально ли это ограничения, существующие в контексте проблемы

42

Page 43: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 10

- Входим в домен:

Достаточно ли широк контекст требований для охвата всего того, что мы хотим помнить?

43

Page 44: Тестирование требований: Зачем - понятно, а вот Как?

Тест № 10

- Входим в домен:

Достаточно ли широк контекст требований для охвата всего того, что мы хотим помнить?

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

44

Page 45: Тестирование требований: Зачем - понятно, а вот Как?

Ограничения выделенного тестирования по системе:

- Наличие формализованных требований

- Наличие роли аналитика в проекте

- Выделяется время на старте проекта

- Найденные дефекты требований будут исправляться

45

Page 46: Тестирование требований: Зачем - понятно, а вот Как?

Если требования не тестируются…

• Их все равно тестируют

- тестировщики

- пользователи

46

Page 47: Тестирование требований: Зачем - понятно, а вот Как?

Проектируем тесты «Не хватает денег»

47

Кофемат включен и исправенКофемат свободен

Кофе в наличии

На табло надпись «Вы внесли 30р.»

На табло надпись

«Недостаточно средств»

Возвращено 30р.

На табло «Добро

пожаловать»

На табло надпись «Вы

выбрали напиток

<напиток>»

Ничего не происходит

Ничего не происходит

Выбрать напиток

ценой 35 р.

Нажать «Подтвердить»

Нажать «Подтвердить»Скормить

кофемату 30р.

Выбрать напиток за 25р.

Нажать «Сдача»

На табло надпись «Вы

выбрали напиток

<напиток>»

Выбрать напиток за 25р.

Возвращено 30р.

На табло «Добро

пожаловать»

Нажать «Сдача»

На табло надпись

«Недостаточно средств»

Выбрать напиток за 25р.

Page 48: Тестирование требований: Зачем - понятно, а вот Как?

Проектируем тесты «Не хватает денег»

48

На табло надпись «Вы внесли 30р.»

На табло надпись

«Недостаточно средств»

На табло надпись «Вы

выбрали напиток

<напиток>»

Ничего не происходит

Выбрать напиток

ценой 35 р.

Нажать «Подтвердить»

Нажать «Подтвердить»Скормить

кофемату 30р.

Выбрать напиток за 25р.

На табло надпись «Вы

выбрали напиток

<напиток>»

Выбрать напиток за 25р.

Возвращено 30р.

На табло «Добро

пожаловать»

Нажать «Сдача»

На табло надпись

«Недостаточно средств»

Выбрать напиток за 25р.

Или «Вы не внесли

деньги?»

Или выбор напитков

неактивен?

Или «Подтвердить»

не активна?

Или дополн. звуковой сигнал?

Может отдельная

кнопка «Возврат»?

А если длинное название напитка?

Может быть, подсказывать,

сколько не хватает?

Возвращено 30р.

На табло «Добро

пожаловать»

Ничего не происходит

Нажать «Сдача»

А если вносили купюрами, а мелочи нет?

Кофемат включен и исправенКофемат свободен

Кофе в наличии

Ещё сигнал для

тугодумов!

Может отдельная

кнопка «Возврат»?

Page 49: Тестирование требований: Зачем - понятно, а вот Как?

Итоги:

- Как только мы сформулируем хотя бы одно требование, мы можем приступать к его тестированию

- Тестирование начинается в самом начале проекта

- Способ и уровень формализации выбираете сами

49

Page 50: Тестирование требований: Зачем - понятно, а вот Как?

Что могло бы быть?

50

Page 51: Тестирование требований: Зачем - понятно, а вот Как?

Контакты.

Я пишу: http://jnechaeva.blogspot.com

Я общаюсь: [email protected]

Skype: julia.nechaeva

51