5. Вводные:
Компания «Вакуумная сфера»
- разработка ПО
- 50 человек, из них 35 – разработка
Завязка:
Желание владельца повысить производительность – поиск
корня
5
9. 3 варианта решения
- купить франшизу у кофейни, поставить бар
- купить кофемашину
- поставить кофемат (платный либо бесплатный за счет
компании)
9
10. Выбранный вариант
-купить франшизу у кофейни, поставить бар с баристом
- купить кофемашину
- поставить кофемат (платный либо бесплатный за счет
компании)
10
11. Процесс выявления
требований
- Первоначальные требования
- Подсчет стоимости
- Урезание требований
11
14. - Нельзя выпить то, что
хочется
- С утра постоянно не
работает
- 2 раза обжегся
- Постоянно нет ложек
- Невкусно
- Не умею пользоваться
- Не заметил - Вечно нет сдачи
- Током бьет - Не принимает сторублевки
- Слишком горячий - Кидает с купюрами
- Неудобно - На рабочем месте нет
мусорки
14
19. Кубической формы Кубической формы
Ребро 75 мм Ребро 75 мм
Крепкий (ГОСТ №) Пластмассовый (полиэтилен)
Легкий (ГОСТ №) Полый
Травмобезопасный (ГОСТ №) Возможность покрасить
Безвредный материал (ГОСТ №)
Цветной
20. Требование 1: см. базовые требования «Кубик»
Требование 2: зелёный, красный, жёлтый, голубой
22. Кто должен тестировать?
Для эффективного тестирования важно вовлекать различных
специалистов
За качество ответственна (в своей области) вся команда
- Тестировщики
- Аналитики
- Менеджер
- Разработчики
- …
22
23. Кто тестирует?
Для эффективного тестирования важно вовлекать различных
специалистов
За качество ответственна вся команда
- Тестировщики
- Пользователи
- Аналитики
- Менеджер
- Разработчики
- …
23
24. Предусловия
• Список в виде «Система должна делать…»
• Требования сгруппированы по уровням:
- бизнес-требования (БТ)
- функциональные требования (ФТ)
- пользовательские
- к системе
- к подсистемам
- к компонентам
- нефункциональные требования (НТ)
24
25. Тест № 1
- Делим требования на управляемые группы
Можем ли мы при каждом изменении в требованиях
определить все части системы, на которые оказывает влияние
это изменение?
25
26. Тест № 1
- Делим требования на управляемые группы
Можем ли мы при каждом изменении в требованиях
определить все части системы, на которые оказывает влияние
это изменение?
Позволяет отследить взаимосвязи между
требованиями, их однозначность и
непротиворечивость
26
27. Тест № 2
- Все ли требования из уже известных зафиксированы:
Спрашивали ли мы заинтересованные стороны об осознанных,
неосознаваемых и невообразимых требованиях
27
28. Тест № 2
- Все ли требования из уже известных зафиксированы:
Спрашивали ли мы заинтересованные стороны об осознанных,
неосознаваемых и невообразимых требованиях
Позволяет как-то проверить полноту
требований
28
29. Тест № 3
- Знаем ли мы значение, которое придает требованию
заказчик?
Определено ли для каждого требования значение, придаваемое
заинтересованными сторонами?
29
30. Тест № 3
- Знаем ли мы значение, которое придает требованию
заказчик?
Определено ли для каждого требования значение, придаваемое
заинтересованными сторонами?
Позволяет расставить приоритеты
проектирования системы
30
31. Тест № 4
- Сопоставляем требования и сформулированные цели
разработки системы:
Каждое ли требование в спецификации существенно для
системы?
31
32. Тест № 4
- Сопоставляем требования и сформулированные цели
разработки системы:
Каждое ли требование в спецификации существенно для
системы?
Позволяет выявить несущественные
требования
32
33. Тест № 5
- Содержат ли требования выражения типа «подлежит
определению», «и так далее», «и прочее» …
- Ссылаются ли требования на несуществующие источники?
- Ссылается ли на ещё не определенные источники?
33
34. Тест № 5
- Содержат ли требования выражения типа «подлежит
определению», «и так далее», «и прочее» …
- Ссылаются ли требования на несуществующие источники?
- Ссылается ли на ещё не определенные источники?
Проверяем требования на однозначность
34
35. Тест № 6
- Определяем меру качества для каждого требования:
Верно ли, что каждое требование имеет критерий качества,
который можно использовать для проверки того,
удовлетворяет ли какое-либо решение требованию?
35
36. Тест № 6
- Определяем меру качества для каждого требования:
Верно ли, что каждое требование имеет критерий качества,
который можно использовать для проверки того,
удовлетворяет ли какое-либо решение требованию?
Позволяет выявить неизмеримые
требования
36
37. Тест № 7
- Для каждого требования выясняем, сможем ли мы после
реализации сказать, что реализовано именно то, что было
нужно?
37
38. Тест № 7
- Для каждого требования выясняем, сможем ли мы после
реализации сказать, что реализовано именно то, что было
нужно?
Сможем ли мы протестировать однозначно
протестировать реализацию?
38
39. Тест № 8
- Отслеживаем термины:
Всякая ли ссылка на термин, определенный в спецификации
требований, согласуется с этим определением?
39
40. Тест № 8
- Отслеживаем термины:
Всякая ли ссылка на термин, определенный в спецификации
требований, согласуется с этим определением?
Позволяет отследить неоднозначные
требования
40
41. Тест № 9
- Для каждого требования выясняем, почему оно является
требованием.
Содержит ли спецификация решения, представленные в виде
требований?
41
42. Тест № 9
- Для каждого требования выясняем, почему оно является
требованием.
Содержит ли спецификация решения, представленные в виде
требований?
Позволяет понять, реально ли это ограничения,
существующие в контексте проблемы
42
43. Тест № 10
- Входим в домен:
Достаточно ли широк контекст требований для охвата всего того,
что мы хотим помнить?
43
44. Тест № 10
- Входим в домен:
Достаточно ли широк контекст требований для охвата всего того,
что мы хотим помнить?
Позволяет проверить, рассмотрели ли мы все
возможные требования в данном контексте,
определить избыточные
44
45. Ограничения выделенного
тестирования по системе:
- Наличие формализованных требований
- Наличие роли аналитика в проекте
- Выделяется время на старте проекта
- Найденные дефекты требований будут исправляться
45
46. Если требования не тестируются…
• Их все равно тестируют
- тестировщики
- пользователи
46
47. Проектируем тесты
«Не хватает денег»
Возвращено
30р.
На табло
«Добро
пожаловать»
Нажать «Сдача»
Выбрать Нажать
Скормить напиток Нажать «Подтвердить»
На табло «Подтвердить»
кофемату 30р. На табло ценой 35 р. надпись Ничего не Ничего не
надпись «Вы
«Недостаточно происходит происходит
внесли 30р.»
средств»
Кофемат включен и исправен Нажать «Сдача»
Кофемат свободен Выбрать напиток за 25р. Выбрать напиток за 25р.
Кофе в наличии
Возвращено На табло На табло
30р. надпись «Вы надпись «Вы
На табло выбрали выбрали
«Добро напиток напиток
пожаловать» <напиток>» <напиток>»
Выбрать напиток за 25р.
На табло
надпись
«Недостаточно
средств»
47
48. Проектируем тесты
«Не хватает денег» А если вносили
Возвращено
купюрами, а30р.
мелочи нет? табло
На
«Добро
пожаловать»
Может
отдельная
Нажать «Сдача»
Может быть, Или Или дополн. кнопка
подсказывать, «Подтвердить» звуковой «Возврат»?
Выбратьсколько не не активна? сигнал? Нажать
Скормить напиток хватает?На табло Нажать «Подтвердить»
кофемату 30р. На табло ценой 35 р. «Подтвердить»
надпись Ничего не Ничего не
надпись «Вы
«Недостаточно происходит происходит
внесли 30р.»
средств»
Ещё сигнал
для
тугодумов!
Кофемат включен и исправен Нажать «Сдача»
Кофемат свободен Выбрать напиток за 25р. Выбрать напиток за 25р.
Кофе в наличии
Возвращено На табло На табло
30р. надпись «Вы надпись «Вы
Может На табло выбрали выбрали
отдельная «Добро А еслинапиток
длинное напиток
кнопка пожаловать» <напиток>»
название <напиток>»
«Возврат»? напитка?
Выбрать напиток за 25р.
На табло
надпись
«Недостаточно
средств»
Или «Вы не Или выбор
внесли напитков
деньги?» неактивен? 48
49. Итоги:
- Как только мы сформулируем хотя бы одно требование, мы
можем приступать к его тестированию
- Тестирование начинается в самом начале проекта
- Способ и уровень формализации выбираете сами
49