Тестирование программного обеспечения включает в себя гораздо больше аспектов, чем просто проверка функций, интерфейса
и быстродействия тестируемого объекта. Дополнительные тесты должны оценить такие характеристики объекта, как
-
целостность (устойчивость к сбоям)
-
возможность работы на разных платформах
-
способность обрабатывать одновременно множество запросов
Для реализации этой задачи выполняются различные типы тестов. Для каждого теста формулируется цель и описывается
методика. Методика тестирования должна сосредоточиваться на одной или нескольких особенностях объекта.
Далее перечислены типы тестов, относящиеся к наиболее употребительным аспектам качества (см. раздел Концепция: аспекты качества):
Аспект качества / риск
|
Тип теста
|
Функциональность
|
-
Тестирование функций: проверка функциональности объекта, его служб, методов и вариантов
использования. Эти тесты выполняются с различными объектами тестирования, такими как модули,
интегрированные модули, приложения и системы.
-
Тестирование защиты: проверка защищенности объектов или систем от несанкционированного
доступа. Эти тесты выполняются с различными объектами тестирования.
-
Тестирование обработки больших объемов данных: проверка способности объекта
обрабатывать большое количество данных, входных или выходных, или хранящихся в базе данных. При
тестировании обработки больших объемов данных создаются сценарии, в которых, например, запрос
должен возвратить все содержимое базы данных, или вследствие ограничений не будет возвращено
ничего, или когда входные данные содержат максимально допустимый объем во всех полях.
|
Удобство работы
За дополнительной информацией обратитесь к разделу Концепция: тестирование удобства работы.
|
-
Тестирование удобства работы: включает в себя тесты следующих факторов:
-
человеческий фактор
-
внешний вид
-
единообразие пользовательского интерфейса
-
электронная и контекстная справка
-
мастеры
-
документация
-
учебные материалы
|
Надежность
|
-
Тестирование целостности: относится к проверке устойчивости объекта к сбоям и технического
соответствия требованиям языка, синтаксиса и ресурсов. Эти тесты выполняются с различными объектами
тестирования, такими как модули и интегрированные модули.
-
Тестирование структуры: относится к проверке соответствия объекта его проекту и принципам.
Обычно эти тесты выполняются для Web-приложений, и в них проверяется, работают ли все ссылки,
правильно ли отображается информационное наполнение, и нет ли потерянных данных. За дополнительной
информацией обратитесь к разделу Концепция: тестирование структуры.
-
Тестирование отказоустойчивости: проверка работы системы в аварийных условиях. Такие
условия могут включать предельную нагрузку, исчерпание памяти, отказ служб или аппаратного
обеспечения или недостаток общих ресурсов. Эти тесты позволяют выяснить, в каких условиях может
произойти сбой системы, и спланировать меры и бюджет по обновлению и развитию системы.
|
Производительность
За дополнительной информацией обратитесь к разделу Концепция: тестирование производительности.
|
-
Сравнительное тестирование быстродействия: позволяет проверить производительность
объекта в сравнении с уже имеющимися рабочими системами.
-
Тестирование параллельной обработки: проверяется способность объекта одновременно
обрабатывать несколько запросов к одному и тому же ресурсу (данным, памяти и пр.)
-
Тестирование нагрузки: позволяет проверить пределы допустимых нагрузок на систему.
Иногда система остается неизменной, но меняется нагрузка, иногда нагрузка остается постоянной, но
меняется конфигурация тестируемой системы. Обычно измеряется поток входных данных и время обработки
транзакций. Нагрузка обычно оценивается при имитации средней и пиковой загрузки системы в обычных
вариантах работы.
-
Профилирование производительности: в этих тестах измеряются временные показатели объекта,
включая поток операций, доступ к данным, вызовы функций и системные вызовы. При этом обнаруживаются
узкие места в быстродействии и неэффективные процессы.
|
Обеспеченность поддержки
|
-
Тестирование конфигураций: проверка функциональности объекта на различных вариантах
аппаратного и программного обеспечения. Этот тест может выполняться также как системный тест
производительности.
-
Тестирование установки: проверяется правильность установки объекта на различных вариантах
аппаратного и программного обеспечения и в различных условиях (недостаточно места на диске, сбой
питания). Эти тесты выполняются с приложениями и системами.
|
|