Задача: Реализация комплекта тестов
В этой задаче приведены инструкции по определению, какие тесты нужно выполнять вместе.
Дисциплины: Тестирование
Назначение

Цель этой задачи:

  • Составить комплекты тестов, которые будут выполняться вместе для получения протоколов с ценной информацией
  • Установить нужную ширину и глубину покрытия тестирования, комбинируя вместе разные тесты
Взаимосвязи
Шаги
Проанализируйте потенциальные комплекты тестов
Цель:  Определить комплекты тестов и выбрать, какие из них будут реализованы.

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

Проанализируйте связанные тесты и целевые элементы тестирования
Цель:  Определить отношения между запланированными тестами и целевыми элементами тестирования.

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

Определите зависимости тестов
Цель:  Определить любые зависимости тестов от других тестов и других аспектов системы

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

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

После определения зависимостей установите последовательность выполнения зависимых тестов.

Определите возможности для повторного использования
Цель:  Повысить эффективность системы путем повторного использования существующих активов и создания новых 

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

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

Настройте дополнительные функции
Цель:  Выделить сложные детали реализации, необходимые для поддержки тестов, и использовать как дополнительные функции 

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

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

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

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

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

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

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

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

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

Стабилизируйте комплект тестов
Цель:  Устранить проблемы зависимости комплекта тестов как от состояния системы, так и от других тестов 

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

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

Установите отношения трассируемости
Цель:  Выполнить анализ влияния связанных элементов и составить их оценки.

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

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

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

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

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



Дополнительные сведения