Тестирование программного кода



Помимо тестирования программного кода непосредственно через его выполнения, проводят статическое тестирование ПО. Во время такого тестирования разработчик отдает на ревью (Codereview) свой код другому разработчику, или главному в команде разработчиков. Такой способ является статическим видом тестирования. Такое тестирование проводят только сами разработчики, тестировщик в нём не принимает участия.

Другим видом тестирования программного кода являются автоматизированные модульные (юнит-тесты) и интеграционные тесты. Они проверяют функциональность модуля и взаимосвязи между модулями на уровне кода. В таком тестировании тестировщик также не принимает участия.

 

Какой этап в разработке ПО самый важный для тестирования?

 

Может показаться что самым важным этапом тестирования является разработка ПО, но это не так. Как рассматривали выше создание ПО начинается с идеи. На графике ниже показана зависимость стоимости ошибки от этапа жизненного цикла ПО.

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

 

 

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

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

По запуску кода на исполнение

По запуску кода на исполнение тестирование делится на:

● Статическое тестирование

● Динамическое тестирование

Статическое тестирование выполняется без запуска ПО. Тестирование осуществляется путём анализа программного кода (codereview) или скомпилированного кода. Анализ может производиться вручную, так и с помощью специальных инструментов. Целью анализа является раннее выявление ошибок и потенциальных проблем в продукте.

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

Помимо кода статическое тестирование проводится при тестировании требований и тестировании дизайна по макетам.

Примерами ошибок, которые потенциально можно выявить с помощью автоматического статического тестирования, могут быть:

● Утечки ресурсов (утечки памяти, не освобождаемые файловые дескрипторы и т.д.).

● Возможность переполнения буфера (bufferoverflows). ●    Ситуации частичной (неполной) обработки ошибок.

Примеры статического тестирования:

● Тестирование требований

● Статическое тестирование кода (Codereview)

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

● Модульное тестирование (unittesting).

● Интеграционное тестирование (integratedtesting).

● Приёмочное тестирование (acceptancetesting).

Не будем расписывать каждое здесь?


Дата добавления: 2018-08-06; просмотров: 1257; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!