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

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

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

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

Далее перечислены типы тестов, относящиеся к наиболее употребительным аспектам качества (см. раздел Концепция: аспекты качества):

Аспект качества / риск Тип теста
Функциональность В начало страницы
  • Тестирование функций: проверка функциональности объекта, его служб, методов и вариантов использования. Эти тесты выполняются с различными объектами тестирования, такими как модули, интегрированные модули, приложения и системы.

  • Тестирование защиты: проверка защищенности объектов или систем от несанкционированного доступа. Эти тесты выполняются с различными объектами тестирования.

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

За дополнительной информацией обратитесь к разделу Концепция: тестирование удобства работы.

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

  • Тестирование структуры: относится к проверке соответствия объекта его проекту и принципам. Обычно эти тесты выполняются для Web-приложений, и в них проверяется, работают ли все ссылки, правильно ли отображается информационное наполнение, и нет ли потерянных данных. За дополнительной информацией обратитесь к разделу Концепция: тестирование структуры.

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

За дополнительной информацией обратитесь к разделу Концепция: тестирование производительности.

  • Сравнительное тестирование быстродействия: позволяет проверить производительность объекта в сравнении с уже имеющимися рабочими системами.

  • Тестирование параллельной обработки: проверяется способность объекта одновременно обрабатывать несколько запросов к одному и тому же ресурсу (данным, памяти и пр.)

  • Тестирование нагрузки: позволяет проверить пределы допустимых нагрузок на систему. Иногда система остается неизменной, но меняется нагрузка, иногда нагрузка остается постоянной, но меняется конфигурация тестируемой системы. Обычно измеряется поток входных данных и время обработки транзакций. Нагрузка обычно оценивается при имитации средней и пиковой загрузки системы в обычных вариантах работы.

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

  • Тестирование установки: проверяется правильность установки объекта на различных вариантах аппаратного и программного обеспечения и в различных условиях (недостаточно места на диске, сбой питания). Эти тесты выполняются с приложениями и системами.