Классификация тестирования по уровням — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

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

Классификация тестирования по уровням

2017-09-26 359
Классификация тестирования по уровням 0.00 из 5.00 0 оценок
Заказать работу

 

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

Модульное тестирование

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

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

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

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

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

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

Модульное тестирование включает в себя:

■ проверку программного кода с использованием некоторого инструментального средства для выявления синтаксических ошибок в программном коде (синтаксическую проверку);

■ проверку кода на соответствие стандартам кодирования (например, соответствия оформления программного кода требованиям организации-разработчика);

■ технический обзор программного кода.

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

Структурное тестирование является одним из видов тестирования «белого ящика». Его главной идеей является правильный выбор тестируемого программного пути.

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

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

Интеграционное тестирование

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

Элементами интеграционного тестирования являются:

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

■ проверка наличия и корректности промежуточных результатов;

■ проверка корректности передачи информации между модулями (проверка интеграции).

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

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

Системное тестирование

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

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

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

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

Категории тестов системного тестирования:

■ полнота решения функциональных задач;

■ корректность использования ресурсов (утечка памяти, возврат ресурсов и т.п.);

■ оценка производительности;

■ эффективность защиты от искажения данных и некорректных действий;

■ проверка инсталляции и конфигурации на разных платформах;

■ корректность документации.

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

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


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

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

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.