Задача: Определение подхода к тестированию
Данная задача описывает, как определить стратегию тестирования и используемые методики и рассказывает в общих чертах об архитектуре автоматизации тестирования.
Дисциплины: Тестирование
Назначение

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

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

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

Для каждого мотиватора выбирается подход к тестирования и связанные методики. Также, необходимо изучить итерационный тестовый план и объекты тестирования. Каждый целевой объект тестирования должен рассматриваться в совокупности с мотиватором, и соответственно выбираться подход и методики. Если информации о тестировании не хватает, целесообразно обсудить объекты тестирования с разработчиками (начиная с архитектора программного обеспечения и руководителя коллектива).

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

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

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

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

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

Определите ширину и глубину тестирования
Цель:  Определить полноту (ширину и глубину) подхода к тестированию.  

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

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

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

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

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

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

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

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

Общая информация о работе каждой методики. Поддерживаемый тип тестирования, цели и границы, применяемая методика, прогнозы, методики оценки, а также потребности в автоматизации методики.

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

Для каждой существующей или необходимой методики необходимо выполнить следующее:

Определить цели и границы К началу страницы

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

Рассмотрите, достижение каких целей позволяет методика.

Описать методику реализации К началу страницы

Определите, как будет реализована методика. Недостаточно только сказать "Делается тестирование работы системы". Необходимо серьезно подумать, как этого достичь.

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

Определить подходящую методику оценки К началу страницы

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

Определить возможность использования автоматизации К началу страницы

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

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

Определить подходящие инструменты К началу страницы

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

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

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

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

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

Определить стратегию управления конфигурацией активов тестирования
Цель:  определить требования по управлению конфигурацией для теста.  

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

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

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

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

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

В зависимости от ситуации выбирайте тот или другой подход.

Сохраняйте опыт
Цель:  Сохраняйте важную информацию о подходе к тестированию.  

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

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

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

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

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

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



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