Главная
АИ #35 (217)
Статьи журнала АИ #35 (217)
Способы проверки программного обеспечения

Способы проверки программного обеспечения

Рубрика

Информационные технологии

Ключевые слова

проверка
программные системы
модульный подход
приёмочные тесты
методики тестирования
дефекты
неисправности в системе

Аннотация статьи

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

Текст статьи

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

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

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

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

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

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

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

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

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

Тестирование методом «Чёрного ящика» (Black-box, также известное как closed-box тестирование) может проводиться без каких-либо знаний о внутреннем устройстве системы. Тестер моделирует поведение программного обеспечения в пользовательской среде, вводя различные данные и проверяя соответствие полученных выходных результатов ожиданиям. Этот метод также называют функциональным тестированием.

В отличие от этого, тестирование методом «Белого ящика» (White-box, также известное как Open-Box или Glass box тестирование) предполагает знание внутреннего устройства программы и логики работы кода. Здесь тестер должен разбираться в коде, что позволяет точно определить место возникновения ошибки.

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

Известно, что на тестирование типичного программного проекта уходит около 50% общего времени и более 50% общей стоимости. Эти цифры могут стать предметом обсуждения, но, оставив точность этих оценок в стороне, можно утверждать, что тестирование является важнейшим этапом в создании программного продукта. Казалось бы, к настоящему времени тестирование программного обеспечения должно было бы стать точной наукой, однако это не так. На самом деле, тестирование программ освещено, пожалуй, меньше, чем любой другой аспект разработки ПО. Более того, оно до сих пор остаётся «немодным» направлением, если судить по количеству спорных публикаций на эту тему.

Список литературы

  1. IEEE 829-2008 IEEE Стандарт для документации по тестированию программного и системного обеспечения [Электронный ресурс]: / https://ru.wikipedia.org/wiki/ (Дата обращения: 30.10.2018).
  2. Лукашова Н.А. Методология тестирования программного обеспечения. Курсовой проект по дисциплине «Структуры и алгоритмы компьютерной обработки данных» [Электронный ресурс]: https://files.scienceforum.ru/pdf/2017/33412.pdf (Дата обращения: 30.10.2018).
  3. Цыганенко В.Н. Основные технологии и методы тестирования [Электронный ресурс]: http://www.4stud.info/software-construction-and-testing/lecture12.html (Дата обращения: 30.10.2018).
  4. Степанченко И.В. Методики тестирования программного обеспечения [Текст]: Учебное пособие / И.В. Степанченко. – ВолгГТУ, Волгоград, 2006. – 74 с.

Поделиться

23

Коледачкин А. А. Способы проверки программного обеспечения // Актуальные исследования. 2024. №35 (217). URL: https://apni.ru/article/9994-sposoby-proverki-programmnogo-obespecheniya

Похожие статьи

Актуальные исследования

#36 (218)

Прием материалов

31 августа - 6 сентября

осталось 6 дней

Размещение PDF-версии журнала

11 сентября

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

24 сентября