Опубликован: 18.06.2007 | Уровень: для всех | Доступ: платный | ВУЗ: Сибирский федеральный университет (г. Красноярск)
Лекция 12:

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

< Лекция 11 || Лекция 12: 123 || Лекция 13 >

Методы и средства проверки требований

Наработано значительное количество методов и средств проверки требований [12.1-12.5]. Они разнятся по ряду параметров. Так, различают:

  • по широте анализа - просмотр (выборочная проверка) и сквозной контроль (тотальная проверка);
  • по степени формализации - неофициальные процедуры, процедуры, проводимые по формальным правилам (инспекции, экспертизы);
  • по составу группы проверки - с (без) участием автора, с (без) участием менеджера проекта, с (без) участием представителей внешних организаций;
  • по используемым средствам - тексты требований, тестовые сценарии, критерии приемлемости, прототипы.

Понятие и методы прототипирования были рассмотрены в "Расширенный анализ требований. Иллюстрированные сценарии и прототипы" . Некоторые другие, наиболее важные из перечисленного выше, методы и средства, рассмотрены далее по тексту.

Неофициальные просмотры требований

Различают [12.1] несколько способов неофициальных просмотров требований:

  • просмотр "за столом",
  • коллективная проверка,
  • критический анализ.

В первых двух случаях автор требований обращается за помощью к коллегам (соответственно, к одному, либо к нескольким) с целью выдачи практических рекомендаций по улучшению продукта. В третьем случае автор осуществляет презентацию разработанных им требований на совещании с последующим обсуждением.

Неофициальные просмотры используют для знакомства с разработкой, сбора отзывов, формирования обратной связи. По статистике, приведенной в [12.4], неофициальные просмотры позволяют выявить до 60% ошибок в требованиях.

Инспекции

Понятие инспекции, применительно к IT-индустрии, впервые было сформулировано Майклом Фэганом (Michael Pagan) из IBM в середине 70-х гг. 1Pagan, Michael E. 1976. Design and Code Inspections to Reduce Errors in Program Development. IBM Systems Journal 15(3): 182-21..

Согласно стандарту IEEE 2IEEE 1028-97 "IEEE Standard for Software Reviews" , проведение инспекций, в отличие от неформальных просмотров, базируется на своде формальных требований и правил. Представленный ниже обзор правил приведен, основываясь на работе [12.5]. Кроме того, слушателям следует порекомендовать ознакомиться с параграфом "Проведение экспертизы" главы 15 монографии [12.1], где представлено детальное описание процедуры экспертизы.

Лица, занимающие управленческие позиции (менеджеры) в отношении к любым членам команды инспектирования, не должны участвовать в инспекциях.

Инспекция должна вестись под руководством непредвзятого (независимого от проекта и его целей) лидера, обученного техникам инспектирования.

Инспектирование всегда вовлекает авторов промежуточного или конечного продукта.

В группу инспекции входят лидер, регистратор, рецензент и несколько (от 2 до 5) инспекторов. Члены команды инспектирования могут специализироваться в различных областях экспертизы (обладать различными областями компетенции), например, предметной области, методах проектирования, языке и т.п. В заданный момент (промежуток) времени инспекции проводятся в отношении отдельного небольшого фрагмента продукта (в большинстве случаев, фокусируясь на отдельных функциональных или других характеристиках; часто, отталкиваясь от отдельных бизнес-правил, функциональных требований или атрибутов качества, прим. автора). Каждый член команды должен исследовать оцениваемый продукт и другие входные данные до проведения инспекционной встречи, применяя, возможно, те или иные аналитические техники к небольшим фрагментам продукта или к продукту, в целом, рассматривая в последнем случае только один его аспект, например, интерфейсы. Любая найденная аномалия должна документироваться, а информация передаваться лидеру инспекции. В процессе инспекции лидер руководит сессией и проверяет, что все подготовились к инспектированию. Общим инструментом, используемым при инспектировании, является проверочный лист (checklist), содержащий аномалии и вопросы, связанные с аспектами, вызывающими интерес. Результирующий лист часто классифицирует аномалии и оценивается командой с точки зрения его завершенности и точности. Решение о завершении инспекции принимается в соответствии с одним (любым) из трех критериев:

  1. Принятие с отсутствием либо малой необходимостью переработки
  2. Принятие с проверкой переработанных фрагментов
  3. Необходимость повторной инспекции.

Разработка тестов

Механизм вариантов использования (Use case), рассмотренный в "Классификация и специфицирование требований" , позволяет ответить на вопрос: как будет использоваться система. Чтобы проверить систему, используется аналогичный механизм: тестовых сценариев (test cases).

Тестовые сценарии (ТС) рекомендуется создавать уже на ранних стадиях работы с требованиями, в идеале - после получения запросов совладельцев, параллельно с разработкой вариантов использования.

Тестовые сценарии, как и варианты использования, могут поддерживать разные уровни абстракции. Различаются концептуальные и детальные ТС. Концептуальный уровень предполагает проработку процедуры тестирования, инвариантную к конкретной реализации UI.

Как использовать тестовые сценарии для тестирования требований? В [12.1] предлагается следующая процедура.

  1. Построить матрицу, где по вертикали отмечены функциональные требования, а по горизонтали - тестовые сценарии.
  2. Убедиться, что каждый из ТС осуществим на существующем наборе требований.
  3. Убедиться, что для каждого требования представлен как минимум один ТС.
  4. Прочертить "путь" каждого из ТС на карте диалогов. Это позволит: обнаружить некорректные или пропущенные требования, исправить ошибки на карте диалогов и отшлифовать варианты тестирования.

Как быть с тестированием нефункциональных требований? Согласно [12.6], процедура анализа требований считается выполненной только тогда, когда все требования, включенные в спецификацию, обладают методами оценки соответствия им создаваемого программного продукта.

Для того, чтобы нефункциональные требования были измеримы, каждому из них в идеале необходимо сопоставить количественную метрику. Если это не удается - возможно, требование следует переформулировать, либо детализировать.

Определение критериев приемлемости

При формальной приемке продукта существуют две типовые процедуры: демонстрация продукта Разработчиком на тестовых сценариях и проверка продукта Заказчиком. Далеко не каждого Заказчика можно убедить, что он не должен "тыкать кнопки", лежащие за пределами тестовых сценариев. Однако, в период стабилизации продукта, для Заказчика важнее даже не количество выявленных дефектов, а возможность проверки - годится ли разработанная АИС для решения поставленных им задач.

Чтобы не откладывать столь важный вопрос до момента приемки системы, крайне важно, наряду с формированием требований, вовлечь Заказчика на ранних стадиях создания продукта в процесс формирования критериев приемлемости. Критерии приемлемости (acceptance criteria) должны отразить точку зрения Заказчика на то, что он считает правильной системой.

Делегирование разработки тестов на приемлемость пользователям - эффективная стратегия разработки требований [12.1]. Это позволяет уже на этапе сбора информации перейти от формулировки вопроса с "Что вам нужно делать с помощью системы?" к "Как вы делаете вывод о том, что система удовлетворяет вашим потребностям?". Если клиент не может описать, как он оценит, что конкретное требование удовлетворено системой, значит, требование сформулировано недостаточно ясно.

Раннее формирование тестов для проверки приемлемости позволяет обнаружить дефекты в требованиях.

Проверка приемлемости базируется на ключевых (существенных) вариантах использования. При этом следует абстрагироваться от альтернативных сценариев и исключений и сосредоточить внимание на основном потоке событий. Необходимо учесть также и нефункциональные требования, такие, как производительность, легкость и простота использования.

< Лекция 11 || Лекция 12: 123 || Лекция 13 >
Ринат Гатауллин
Ринат Гатауллин

Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов.

Аминат Албакова
Аминат Албакова

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

алексей оглы
алексей оглы
Россия
рафич Салахиев
рафич Салахиев
Россия