Тестирование программного кода
Помимо тестирования программного кода непосредственно через его выполнения, проводят статическое тестирование ПО. Во время такого тестирования разработчик отдает на ревью (Codereview) свой код другому разработчику, или главному в команде разработчиков. Такой способ является статическим видом тестирования. Такое тестирование проводят только сами разработчики, тестировщик в нём не принимает участия.
Другим видом тестирования программного кода являются автоматизированные модульные (юнит-тесты) и интеграционные тесты. Они проверяют функциональность модуля и взаимосвязи между модулями на уровне кода. В таком тестировании тестировщик также не принимает участия.
Какой этап в разработке ПО самый важный для тестирования?
Может показаться что самым важным этапом тестирования является разработка ПО, но это не так. Как рассматривали выше создание ПО начинается с идеи. На графике ниже показана зависимость стоимости ошибки от этапа жизненного цикла ПО.
Как видно, самые дешёвые и безболезненные ошибки дляПО до разработки, потому как исправить текст требования намного проще, чем исправить программный код. К тому же исправить требование может один человек, ответственный за требования, например, аналитик. А если ошибка уже закодировано, то это значит что разработчик, а, возможно, и не один, потратил время на реализацию, тестировщик проверил, сообщил о проблеме, разработчик вернулся к реализации и исправил ошибку. При этом время на исправление зависит от самой ошибки, ведь это может быть ошибка в знаке и знак сложения просто заменить на знак минуса, но если ошибка в логике, то ошибка становится намного дороже.
|
|
Классификация видов и направлений тестирования
Тестирование можно классифицировать по очень большому количеству признаков, и практически в каждой серьёзной книге о тестировании автор показывает свой (безусловно имеющий право на существование) взгляд на этот вопрос. Соответствующий материал достаточно объёмен и сложен, а глубокое понимание каждого пункта в классификации требует определённого опыта, потому мы рассмотрим самый простой, минимальный набор информации, необходимый начинающему тестировщику.
По запуску кода на исполнение
По запуску кода на исполнение тестирование делится на:
● Статическое тестирование
● Динамическое тестирование
Статическое тестирование выполняется без запуска ПО. Тестирование осуществляется путём анализа программного кода (codereview) или скомпилированного кода. Анализ может производиться вручную, так и с помощью специальных инструментов. Целью анализа является раннее выявление ошибок и потенциальных проблем в продукте.
|
|
Статическое тестирование кода проводят разработчики. В рамках такого тестирования появляются ошибки, связанные с эффективностью и правильностью программных конструкций.
Помимо кода статическое тестирование проводится при тестировании требований и тестировании дизайна по макетам.
Примерами ошибок, которые потенциально можно выявить с помощью автоматического статического тестирования, могут быть:
● Утечки ресурсов (утечки памяти, не освобождаемые файловые дескрипторы и т.д.).
● Возможность переполнения буфера (bufferoverflows). ● Ситуации частичной (неполной) обработки ошибок.
Примеры статического тестирования:
● Тестирование требований
● Статическое тестирование кода (Codereview)
В отличие от статического, динамическое тестирование производится путём запуска продукта и проверки его функционала. Проверка осуществляется с помощью ручного или автоматического выполнения заранее подготовленного набора тестов. Примеры динамического тестирования:
● Модульное тестирование (unittesting).
● Интеграционное тестирование (integratedtesting).
● Приёмочное тестирование (acceptancetesting).
Не будем расписывать каждое здесь?
Дата добавления: 2018-08-06; просмотров: 1257; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!