Задача: Анализ поведения среды выполнения
Эта задача описывает способ анализа поведения компонента в процессе его выполнения для определения возможных усовершенствований.
Назначение
  • Понять поведение компонента в процессе его выполнения.
  • Определить неправильное поведение и требуемые действия по исправлению.
Взаимосвязи
РолиОсновной: Дополнительно: Помощь:
ВходыОбязательный: Необязательный: Внешний:
  • Нет
Выходы
Шаги
Определить требуемый сценарий выполнения
Цель:  Определить путь выполнения, который будет имитировать желаемое поведение

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

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

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

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

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

Подготовить компонент реализации для наблюдения выполнения
Цель: Убедиться в том, что компонент готов к выполнению

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

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

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

Подготовить среду к выполнению
Цель: Убедиться в том, что предварительная установка целевой среды выполнена удовлетворительно.

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

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

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

Выполнить компонент и произвести наблюдение поведения
Цель: Произвести наблюдение поведения компонента.

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

Просмотреть данные наблюдения поведения и выделить начальные сведения
Цель: Определить неполадки и отклонения в поведении компонентов

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

Проанализировать полученные данные и понять корневые причины
Цель: Понять главную причину каждой неполадки

С помощью полученных данных начните исследовать лежащие в основе ошибки и корневые причины каждой неполадки.

Определить дальнейшие действия
Цель: Предложить дальнейшие действия по исследованию и исправлению

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

Оценка результатов
Цель: Убедиться в том, что задача правильно выполнена, и что получены приемлемые рабочие продукты.

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

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

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

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



Свойства
Несколько вхождений
Управляется событиями
Выполняющийся
Необязательный
Запланированный
Повторяющийся
Дополнительные сведения