Similar presentations:
Тестирование требований (лекция)
1.
Тестированиетребований
Павлова Юлия
Руководитель группы тестирования
2.
План лекции1.Введение.
2.Виды проектной документации.
3.Требования к документации.
4.Уровни требований к ПО.
5.Принципы тестирования требований.
6.Характеристики требований.
7.Как проверять требования по каждой характеристике.
8.Выводы.
2
3.
Тестирование требованийТестирование требований — это их
проверка, чтобы найти ошибки до начала
разработки.
Стив Макконнелл в книге «Сколько стоит
программный проект» пишет, что при
разработке требований в продукт вносят
порядка 30% ошибок.
3
4.
Польза тестирования требований01
Для менеджера
• Увеличивается скорость разработки
• Раньше получает важную информацию
• Выше качество продукта
4
5.
Польза тестирования требований01
Для менеджера
• Увеличивается скорость разработки
• Раньше получает важную информацию
• Выше качество продукта
02
Для автора требования
• Обратная связь
• Дополнительная информация
• Меньше вопросов
4
6.
Польза тестирования требований01
Для менеджера
• Увеличивается скорость разработки
• Раньше получает важную информацию
• Выше качество продукта
02
Для автора требования
03
Для разработчика
• Обратная связь
• Дополнительная информация
• Меньше вопросов
• Качественные требования
• Меньше новых требований
4
7.
Польза тестирования требований01
Для менеджера
• Увеличивается скорость разработки
• Раньше получает важную информацию
• Выше качество продукта
02
Для автора требования
03
Для разработчика
04
• Обратная связь
• Дополнительная информация
• Меньше вопросов
• Качественные требования
• Меньше новых требований
Для тестировщика
• Влияние на проект
• Меньше багов
• Понятнее конечный результат
4
8.
Уровни требований01
Бизнес-требования
Какие и чьи проблемы решает продукт
6
9.
Уровни требований01
02
Бизнес-требования
Какие и чьи проблемы решает продукт
Пользовательские требования
Кто как и зачем взаимодействует с продуктом
6
10.
Уровни требований01
02
03
Бизнес-требования
Какие и чьи проблемы решает продукт
Пользовательские требования
Кто как и зачем взаимодействует с продуктом
Требования к реализации
Функциональные, компонентные, модульные и требования к
подсистемам, и нефункциональные требования
6
11.
Пример про кофе-автомат7
12.
Пример про кофе-автомат7
13.
Пример про кофе-автомат7
14.
Пример про кофе-автомат7
15.
Пример про кофе-автомат7
16.
Виды документации01
Предпроектная
концепции, технические задания, технические требования и т.д.
8
17.
Виды документации01
02
Предпроектная
концепции, технические задания, технические требования и т.д.
Проектная
пояснительные записки, задачи и т.д.
8
18.
Виды документации01
02
03
Предпроектная
концепции, технические задания, технические требования и т.д.
Проектная
пояснительные записки, задачи и т.д.
Эксплуатационная
руководство пользователя/администратора, технологические инструкции и т.д.
8
19.
Виды документации01
02
03
04
Предпроектная
концепции, технические задания, технические требования и т.д.
Проектная
пояснительные записки, задачи и т.д.
Эксплуатационная
руководство пользователя/администратора, технологические инструкции и т.д.
Прочие документы
документы организационно-распорядительного характера и корпоративные документы
8
20.
Требования к документацииСовет: Выбрать ГОСТы, в соответствии с которыми
планируется разработка документа, всегда лучше до
начала разработки, т.к. ГОСТы определяют не только
оформление, но и содержание, а также методику подачи
материала.
ГОСТ 19 (ЕСПД)
ГОСТ 34 (КСАС)
ГОСТ 2 (ЕСКД)
20
21.
Рекомендации для тестирования требованийДо старта разработки
5
22.
Рекомендации для тестирования требованийДо старта разработки
Проверяет не тот, кто писал
5
23.
Рекомендации для тестирования требованийДо старта разработки
Проверяет не тот, кто писал
Заведение дефектов
5
24.
Рекомендации для тестирования требованийДо старта разработки
Проверяет не тот, кто писал
Заведение дефектов
Предупреждать команду
5
25.
Рекомендации для тестирования требованийДо старта разработки
Проверяет не тот, кто писал
Заведение дефектов
Предупреждать команду
Детализация требований соответствует проекту
5
26.
Характеристики требований9
27.
Характеристики требованийПолнота
Необходимость
Однозначность
Осуществимость
Корректность и согласованность
Проверяемость
Непротиворечивость
ISO/IEC/IEEE 29148:2018
IEEE/EIA12207.1-1997
В стандарте описаны содержание и качества
хорошей спецификации требований к
программному обеспечению
Стандарт предоставляется рекомендации по соответствию
требованиям на всём жизненном цикле разработки
27
28.
ПолнотаТребование должно содержать всю
необходимую информацию для его
реализации.
10
29.
ОднозначностьВсе работающие с требованием должны
понимать его одинаково.
12
30.
КорректностьТребование не должно содержать в себе
неверной, неточной информации.
14
31.
НепротиворечивостьТребование не должно противоречить
самому себе, а отдельные требования в
системе требований не должны
противоречить друг другу.
16
32.
НеобходимостьТребование должно отражать возможность
или характеристику
ПО, действительно необходимую
пользователям, или вытекающую из других
требований.
18
33.
ОсуществимостьВключаемое в спецификацию требование
должно быть выполнимым при заданных
ограничениях операционной среды.
20
34.
ПроверяемостьСуществует конечный и разумный по
стоимости процесс ручной или машинной
проверки того, что ПО удовлетворяет этому
требованию.
22
35.
Проверка требованийНачать тестирование требований можно с
поверхностного осмотра документации.
После прочтения документации не должно
быть вопросов. Совсем.
25
36.
Проверка на полноту требованийCRUD
26
37.
Проверка на полноту требованийCRUD
Сценарии использования
26
38.
Проверка на полноту требованийCRUD
Сценарии использования
Таблица решений
26
39.
Проверка на полноту требованийCRUD
Сценарии использования
Таблица решений
Учтены ли интересы всех?
26
40.
Проверка на полноту требованийCRUD
Сценарии использования
Таблица решений
Учтены ли интересы всех?
Отсылки на неопределённую информацию
26
41.
Проверка на однозначность требованийТерминология
27
42.
Проверка на однозначность требованийТерминология
Отсутствие качественных определений
27
43.
Проверка на однозначность требованийТерминология
Отсутствие качественных определений
Простота изложения
27
44.
Проверка на корректность требованийЗнание предметной области
28
45.
Проверка на корректность требованийЗнание предметной области
Блок-схема
28
46.
Проверка на корректность требованийЗнание предметной области
Блок-схема
Описан основной функционал
28
47.
Проверка на корректность требованийЗнание предметной области
Блок-схема
Описан основной функционал
Подробно описано взаимодействие модулей
28
48.
Проверка на непротиворечивость требованийОдно требование описано в нескольких местах
29
49.
Проверка на непротиворечивость требованийОдно требование описано в нескольких местах
Союз «и»
29
50.
Проверка на необходимость требованийUser story
30
51.
Проверка на осуществимость требованийСторонний сервис обрабатывает все необходимые запросы
31
52.
Проверка на осуществимость требованийСторонний сервис обрабатывает все необходимые запросы
Аналитик указал всю необходимую для разработки информацию
31
53.
Проверка на осуществимость требованийСторонний сервис обрабатывает все необходимые запросы
Аналитик указал всю необходимую для разработки информацию
Посмотреть примеры реализации в других проектах
31
54.
Проверка на проверяемость требованийРазработать набор тестов
32
55.
Проверка на проверяемость требованийРазработать набор тестов
Договорённости из чатов перенесены в документацию
32
56.
Проверка на проверяемость требованийРазработать набор тестов
Договорённости из чатов перенесены в документацию
Сравнение дат обновления документации и требований
32
57.
Техники тестирования требованийВзаимный просмотр
Вопросы
Тест-кейсы и чек-листы
Автор показывает свою работу коллегам
Заказчикам и коллегам
Придумывать при просмотре
требований
Исследование поведения
системы
Рисунки
Прототипирование
Наглядное представление приложения
Наброски интерфейса и переходов
между экранными формами
Мысленное моделирование работы
пользователя с системой
57
58.
Бонус: мнемоника CIRCUS MATTACompleteness — полнота
Independent — независимость
Realisable — реализуемость
Consistency — консистентность
Unambiguity — однозначность
Specific — специфика заказчика
Measurable — измеримая
Acceptable — приемлемая
Testable — тестируемая
Traceable — трассируемая (можно проставить взаимосвязи)
Achievable — достижимая
58
59.
Для любознательныхБиблиотека ГОСТов http://techwrconsult.com/library/index
Статья Натальи Желновой «Нефункциональные требования к программному
обеспечению. Часть 1» https://habr.com/ru/post/231961/
Статья «Тестирование документации к программным продуктам»
https://habr.com/ru/post/346290/ (включает 18 параметров, в том числе для
пользовательской документации)
59
60.
Пример №1На форму редактирования и создания
заявления в раздел «Сведения о
проекте и цели обращения» в блок
полей «Цель обращения» добавить
поле ввода: «Сведения о сметной или
предполагаемой (предельной)
стоимости объекта капитального
строительства, содержащиеся в
решении по объекту или письме. тыс.
руб.». Формат поля: неотрицательные
целые и дробные числа.
Данное поле отображать для всех
целей обращения. Заполнение данного
поля должно быть обязательным для
всех целей обращения, указанных в
п.1 описания требований.
60
61.
Замечания к примеру №11.А формы редактирования и создания одинаковые? Возможно, требования для
них отличаются и нуждаются в отдельном описании.
2.Всегда ли должна срабатывать проверка на обязательность заполнения
данного поля?
3.В блок полей – это в какое конкретно место? Если бы не было скрина, то это
было бы не очевидно.
4.Формат поля обозначен, а длина? Какое максимальное и минимальное
значения возможны?
5.Должно ли в поле что-то отображаться до заполнения? На скрине 0.0, а в
условиях не сказано ничего.
6.Какие тексты ошибок и в каком виде выводить, если поле не заполнено или
заполнено недопустимыми данными?
7.Ссылка на п.1 требований – каких требований и где их искать? Когда нашли,
проверить, что там действительна указана требуемая информация.
8.Должно ли это поле как-то отображаться на карточке заявления после его
создания, то есть, когда оно уже не редактируется?
61
62.
Пример №262
63.
Замечания к примеру №21.Скрины ссылками ни в описании задач, ни в баг-репортах давать нельзя! Со
временем они могут стать недоступны.
2.Соисполнители, исполнители… Даже знающий проект человек легко
запутается в этом описании. Стоило указывать точные названия интересующих
полей.
3.Зачёркивание обычно использую для того, что не нужно, например, какое-то
требование решили не делать. В данном случае зачёркнуто прежнее название
полей, что затрудняет чтение. Проще названия взять в кавычки, а не с
начертанием текста играть.
4.Нужно приложить картинку для иконки «корзины», иначе по всей программе
могут получиться разные виды корзины и не будет ощущения целостности ПО.
63
64.
Пример №3 (домашнее задание)64