Полнота требований

advertisement
Учебный центр ИТ
УРАНСОФТ
Учим, устраиваем,
развиваем!
Тестирование требований
Software requirements specification, SRS
Программные требования – Software
Requirements – свойства программного
обеспечения, которые должны быть
надлежащим образом представлены в нём
для решения конкретных практических задач.
Данная область знаний касается вопросов
извлечения (сбора), анализа,
специфицирования и утверждения
требований.
SRS по К. Вигерсу
Пример
Требования к требованиям

Корректность

Недвусмысленность

Полнота набора требований

Непротиворечивость набора требований

Проверяемость (тестопригодность)

Трассируемость

Понимаемость
Корректность
Вопрос: На сколько требование корректно или
кто-то допустил ошибку при написании
требования?
Пример: Для стирания последнего знака
используется клавиша [←] (клавиша со
стрелкой)
Описание: Ошибка в требовании. Правильно
будет: «Для стирания последнего знака
используется клавиша [Backspace] (клавиша
со стрелкой и надписью Backspace)»
Корректность
Как находить?



Знание предметной области,
Трассировка требования вверх (бизнестребования), трассировка требований вниз
(низкоуровневые требования — дизайн,
макеты, детальное описание реализации).
Поиск ошибок и нестыковок.
«Peer review» – оценка «коллегами» – теми,
кто занимается той же самой работой.
Недвусмысленность
Могут ли 2 различных человека понять
требование по-разному?
Пример: Сколько будет 2+2х2? 6 или 8?
Описание: Отработка понятия «Подитог», как
в случае (2+2)х2 или соблюдение «порядка
выполнения мат. действий»
Недвусмысленность
Недвусмысленность
Как находить?



Проверять «ветвистость» требований: если
есть условия или исключения — проверять,
чтобы они все были описаны и не было
«неописанных дыр»,
Избегать ветвлений или форматировать их в
таблицы вариантов.
«Peer review» – оценка коллегами.
Полнота требований
Насколько полным является набор
требований?
Если есть секция в SRS, определяющая
функциональность модуля, то вся ли
функциональность этого модуля покрыта
требованиями?
Нет ли дыр?
Полнота требований
Как находить?

WBS требований сверху вниз,

Все классы пользователей,

Проверка пограничных значений,

Повторы требований при продолжении
сбора,

Выход за рамки проекта,

Низкий приоритет требования.
Непротиворечивость набора
Поиск требований, которые противоречат друг
другу:
1. Это может быть очевидным, когда 2
требования явно говорят противоположные
вещи,
2. но может быть и скрытым, где
противоречивость не очевидна на первый
взгляд.
Непротиворечивость набора
Как тестировать?



Обращать внимания на общие
формулировки в требованиях.
Делить на категории и ревьювить их
направленно на предмет противоречий.
Выделять все требования, трассирующиеся
на одно верхнеуровневое требование и
анализировать такие наборы.
Проверяемость
Один из основных и самых важных критериев
для тестировщиков. Возможно ли проверить
это требование и убедиться, что оно
выполняется?
Пример: в случае возникновения критической
ошибки калькулятор должен перезагрузиться.
Пример 2: информация на экране должна
отображаться в понятном пользователю виде
Проверяемость
Как тестировать?


«Как я буду это проверять?». Детально
анализировать, и, возможно, вносить правки
в требование (уточнения, ограничения)
Выявлять общие формулировки, требующие
перебора неопределенного числа вариантов
для проверки выполнения требования.
(переформулировать требование или
добавить список условий в SRS или более
низкоуровневые документы.)
Трассируемость
Любое требование проходит путь от бизнесидеи до деталей реализации. Это может
быть 3 уровня требований (product
requirements, software requirements, detailed
design document), может быть и больше.
Трассируемость — это связь с требованием
выше и требованием ниже. Кроме того
трассируемость требования (функции) в
различных документах.
Понимаемость
Могут ли все участники процесса понять, что
требуется от системы по описанию
требования?
Пример: Калькулятор должен уметь выделять
и начислять НДС.
Деление на НОЛЬ
Деление на НОЛЬ
Курсы Урансофт
(JAVA-01) Введение в Java
(JAVA-02) Основы языка и web-разработки на
Java
(SQA-01) Основы тестирования ПО
(SQA-02) Введение в профессию тестировщика
(SA-01) Системный анализ в разработке ПО
(SRS-01) Сбор требований к ПО
Спасибо!
Вопросы?
+7 (812) 309-78-59, 438-16-88
Станислав КИМ
Download