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

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

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

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

  • тесты, созданные программным способом, с помощью тех же методов программирования и в той же среде, что были использованы для тестируемого компонента, или с помощью более простых языков и инструментов программирования (например, языки сценариев Tcl, shell и т.д.)
  • записанные или зафиксированные тесты, выполняемые с помощью инструментов автоматизации тестирования, которые фиксируют взаимодействие между тестируемым компонентом и остальной системой и выполняют основное тестирование
  • сгенерированные тесты: некоторые аспекты тестирования, касающиеся процедурных вопросов или данных тестирования, можно сгенерировать автоматически с помощью более сложных инструментов автоматизации тестирования
Хотя чаще всего применяются тесты, созданные программным методом, в некоторых случаях, например, при тестировании графических интерфейсов, более эффективно проводить тестирование вручную, следуя инструкциям, приведенным в документе текстового описания.
Реализуйте тест
Цель:  Реализовать выбранные тесты

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

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

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

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

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

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

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


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