Концепция: Инструменты для автоматизации тестирования
Эти рекомендации посвящены типам инструментов, применяемых для повышения эффективности тестирования.
Взаимосвязи
Основное описание

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

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

Функция

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

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

Прозрачный ящик или черный ящик

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

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

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

Специализация

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

  • Инструменты записи и воспроизведения обладают чертами инструментов сбора данных и инструментов для динамических измерений. Сначала выполняется сбор данных о тесте путем записи событий (реализация теста). Затем эти данные применяются для воспроизведения сценария тестирования и проверки правильности работы объекта тестирования.
  • Инструменты измерения качества представляют собой инструменты для статических измерений, выполняющие статический анализ моделей проекта или исходного кода и определяющие набор параметров для описания качества объекта тестирования. В число этих параметров входят надежность, сложность, простота обслуживания и другие показатели качества.
  • Инструменты мониторинга охвата применяются для оценки полноты охвата объекта тестирования. Как правило, охват оценивается по вариантам использования (на основе требований), логическим ветвям и узлам (на основе кода), состоянию данных и функциональным точкам.
  • Генераторы тестовых наборов применяются для автоматизации создания тестовых данных. Генераторы тестовых наборов пользуются либо формальными спецификациями входных данных объекта тестирования, либо моделями проекта и исходным кодом и создают образцы нормальных входных данных, ошибочных входных данных, пограничных значений и крайних случаев.
  • Инструменты сравнения применяются для сравнения результатов тестирования со справочными результатами и нахождения отличий. Инструменты сравнения отличаются друг от друга с точки зрения поддерживаемых форматов данных. Например, инструменты попиксельного сравнения могут применяться для сравнения растровых изображений, а инструменты сравнения объектов - для сравнения свойств и данных объектов.
  • Инструменты для извлечения данных применяются для создания входных данных на основе исходных файлов, включая базы данных, потоки данных в системах связи, отчеты, модели проекта и исходный код.