Статья опубликована в рамках: CIV Международной научно-практической конференции «Актуальные вопросы экономических наук и современного менеджмента» (Россия, г. Новосибирск, 04 марта 2026 г.)
Наука: Экономика
Секция: Управление проектами
Скачать книгу(-и): Сборник статей конференции
дипломов
ТЕСТИРОВАНИЕ КАК ИНСТРУМЕНТ УПРАВЛЕНИЯ КАЧЕСТВОМ В ПРОЦЕССЕ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
АННОТАЦИЯ
В статье рассмотрено тестирование как ключевой инструмент в совершенствовании процесса разработки программного обеспечения. Описаны различные виды тестирования, их задачи и влияние на качество программных продуктов. Особое внимание уделено инструментам тестирования: их функциональности, области применения, преимуществам и недостаткам. Составленные таблицы систематизируют представленную информацию и позволяет наглядно оценить значимость обозреваемых инструментов и выбрать оптимальные подходы для обеспечения качества, стабильности и производительности программного обеспечения.
Ключевые слова: Тестирование программного обеспечения, виды тестирования, контроль качества, инструменты тестирования, разработка программного обеспечения.
Современные процессы разработки программного обеспечения становятся все более сложными, что на фоне стремительного роста уровня цифровизации усиливает требования к качеству и функциональности. Целью данного исследования является анализ различных подходов и инструментов тестирования, выявление их преимуществ и недостатков, определение их роли в процессе разработки. Тестирование занимает ключевую роль в обеспечении надежности, безопасности и работоспособности выпускаемого программного обеспечения. В данной статье рассматриваются различные виды и инструменты тестирования, их роль в процессе разработки их преимущества и недостатки.
Тестирование программного обеспечения представляет собой многоуровневый процесс, включающий в себя разнообразные методы и виды, каждый из которых нацелен на выявление конкретных ошибок и обеспечение определенных аспектов качества. Важно понимать, каждый из видов тестирования играет свою роль в обеспечении надежности и стабильности системы, создавая многослойный барьер из проверок против потенциальных сбоев и уязвимостей.
В таблице 1 систематизирует все виды тестирования, используемые в современных процессах разработки программного обеспечения, описаны различные подходы, наглядно продемонстрированы преимущества и недостатки каждого из них.
Таблица 1.
Виды тестирования
|
Виды |
Подходы |
Достоинства |
Недостатки |
|
Модульное тестирование |
Черный ящик |
Тестирование сосредоточено на анализе входных и выходных данных модуля, игнорируя его внутреннюю структуру, что делает данный подход удобным для сторонних специалистов, которые проводят тестирование. |
Нет возможности проверить внутреннюю структуру модуля, из-за чего тяжело оценить все пути выполнения кода даже в самых простых программах. |
|
Белый ящик |
Проверка внутренней логики модуля позволяет проверить как можно больше путей выполнения кода и дает глубокое понимание работы кода. |
Сложность реализации, так как необходимо учитывать все возможные сценарии выполнения кода. |
|
|
Интеграционное тестирование |
Снизу вверх |
Данный подход не требует готовности всех модулей и дает возможность локализовать ошибки на ранних этапах. |
Данных подход не дает представление о работе системы в целом, а критические модули проверяются в последнюю очередь, из-за чего растет риск наличия дефектов. |
|
Сверху вниз |
Необходимость наличия всех модулей для данного тестирования дает возможной получить ранний прототип и локализовать все баги. |
При данном подходе сложнее локализовать ошибки на стыке модулей, а модули низких уровней проверяются некорректно. |
|
|
Большой взрыв |
Тестирование всех модулей вместе дает полное представление работы системы. |
Из-за большого количества компонентов сложно локализовать все баги, которые могут всплыть в дальнейших тестированиях. |
|
|
Системное тестирование |
Черный ящик |
Незнание структуры кода позволяет объективно и быстро понять, насколько удобен продукт в использовании. |
Из-за непонимания кода повышается риск пропустить критичные баги в коде, как следствие разработчику сложнее найти при наличии проблемы ее причину. |
|
Белый ящик |
Более тщательная проверка код позволяет четко определять ошибки. |
Глубокое понимание кода требует знание языка программирования для проведения тестирования и уменьшает объективность тестировщика. |
|
|
Серый ящик |
Данный подход дает сбалансированную проверку путем смешивания двух методов выше. |
Специалисту требуется сопоставлять отчеты, интерфейс и код, из-за чего тестирование увеличивается во времени и требует глубоких знаний. |
|
|
Приемочное тестирование |
Альфа-тестирование |
Устранение большинства ошибок на уровне базовой функциональности продукта, позволяющее исправить основные дефекты на ранней стадии |
Ограниченность тестирование может не отражать реальных условий использования продукта |
|
Бета-тестирование |
Разнообразная обратная связь в связи с проведением тестирования среди реальных пользователей |
Репутационные риски при выявлении проблем |
|
|
Пользовательское тестирование |
Качественная обратная связь о реальных потребностях и ожиданиях |
Возникновение ошибок в связи недостатка опыта у тестировщиков, а также низкой их вовлеченности |
|
|
Автоматизированное тестирование |
Высокая скорость выполнения тестов, тестирование менее подвержено ошибкам, связанным с человеческим фактором |
Высокая затратность на ресурсы, идущие на разработку инструментов автоматизации |
Таблица 1 наглядно демонстрирует широкий спектр методов, которые применяются для проверки программного обеспечения. Каждый вид тестирования выполняет свою роль, их совместное использование позволит над достичь позволит нам обеспечить всестороннюю проверку функциональности проекта. Данный структурированный подход позволяет лучше понимать, на каких этапах разработки необходимы соответствующие проверки.
Инструменты тестирования играют ключевую роль в автоматизации и ускорении процесса контроля качества программного обеспечения. Каждый инструмент имеет свои особенности, и его выбор зависит от специфики проекта, целей тестирования и требований к конечному продукту.
Таблица 2 с перечнем инструментов тестирования предоставляет структурированный обзор наиболее популярных и эффективных решений, которые используются для разных типов проверок: от функциональных тестов до нагрузочного тестирования и обеспечения безопасности. Были также рассмотрены их основные преимущества и недостатки. Это в свою очередь облегчит выбор подходящего решения для специалистов контроля качества, принимая во внимание сильные и слабые стороны инструментов в зависимости от задач, стоящих перед командой.
Таблица 2.
Инструменты тестирования
|
Вид |
Инструмент |
Достоинства |
Недостатки |
|
Ручное тестирование |
Jira |
Гибкость досок позволяет разбивать проект на задачи, расширенный функционал планирования, |
Масса конфигураций, ведущая к сложности настройки, отсутствие быстрой отправки сообщений из системы |
|
Test IT |
Удобен в создании тест-плана и распределение в нем тестов по разным QA-специалистам, в системе можно добавлять общие предусловия и шаги |
Адаптер для выгрузки Allure-отчета не позволяет делать более гибкую настройку параметров отчета, в ui-части авто тестов нельзя работать из интерфейса |
|
|
Postman |
Хорошо задокументированный функционал, понятный графический интерфейс, поддержка популярных типов архитектуры для API |
Высокое использование дискового пространства, плохая автоматизация тестов для проверки баз данных, нет возможности генерировать случайные данные |
|
|
Автоматизированное тестирование |
Appium |
Включает в себя возможность писать на любом языке, который поддерживает WebDriver, имеет лёгкий переход к тестированию гибридных и веб-приложений |
Не умеет находить и сравнивать картинки в приложениях и не может напрямую работать с алёртами в Android, частые ошибки в коде самой надстройки |
|
Jenkins |
Возможность интегрировать с широким спектром инструментов и сервисов, предлагает огромное количество плагинов, позволяющих настраивать практически любой аспект процесса CI/CD |
Первоначальная настройка и тонкая настройка Jenkins могут быть сложными и трудоемкими, интерфейс программы может показаться устаревшим по сравнению с более современными решениями |
|
|
Pytest |
Возможность индивидуальной настройки и добавления новых функций, динамические фикстуры всех уровней, которые могут вызываться как автоматически, так и для конкретных тестов |
Отсутствие дополнительного уровня вложенности, Необходимость отдельной установки модуля, в том числе в продакшене |
|
|
Selenium |
Предоставляет гибкость в написании тестов на нескольких языках программирования, включает в себя возможность параллельного тестирования |
Ограниченная поддержка мобильных приложений, отсутствие встроенной генерации отчетов, для обработки приложений с динамическим содержимым необходимы дополнительные инструменты или фреймворки |
|
|
Нагрузочное тестирование |
Apache JMeter |
Поддерживает возможность писать свои тест-кейсы, логически простой интерфейс, включает в себя удобную работу с многопоточностью, скрипт графически разделён на блоки-сэмплеры, что упрощает его разработку |
Не поддерживается функция записи HTTPS-связи, в процессе написания отчетов отсутствуют расширенные возможности, не перехватывается AJAX |
|
LoadNinja |
Используется из облака, имеет браузерные метрики с функциями аналитики и отчетности, поддерживает создание и проведение нагрузочного теста без написания скриптов |
Динамически отображаемые и загружаемые данные не являются частью страницы приложения, асинхронные свойства Ajax вызывают задержки |
|
|
Gatling |
При высоких нагрузках может быть более производительным, чем другие бесплатные инструменты, особенно при тестировании вебсокетов |
Отсутствие распределённого запуска из коробки, высокий порог вхождения для специалистов с отсутствием опыты работа со Scala |
Данная таблица предоставляет систематизированный обзор существующих программных решений, позволяет лучше понять функциональные возможности каждого инструмента, что способствует оптимальному выбору инструментов для конкретных задач проекта, минимизируя затраты времени и ресурсов.
Проведённое исследование позволяет утверждать, что роль тестирования в современной разработке программного обеспечения эволюционировала от чисто технической функции верификации к стратегическому инструменту управления проектами. Как показывает анализ, правильно выстроенный процесс тестирования становится каркасом, на котором держится предсказуемость разработки.
Ключевой управленческий тезис заключается в следующем: разнообразие методологий (от модульного тестирования до приёмочного) и богатый арсенал инструментов (от Jira до Gatling) предоставляют менеджеру проекта не просто набор техник, а систему рычагов контроля. Использование этих рычагов позволяет перевести абстрактные требования к «качеству» в измеримые и управляемые параметры: количество выявленных дефектов на ранних этапах, покрытие кода автотестами, стабильность системы под нагрузкой, соответствие ожиданиям пользователей.
Таким образом, решение о внедрении того или иного вида тестирования или выборе инструментария — это не столько технический, сколько экономический и управленческий выбор. Оно напрямую влияет на «тройственную ограниченность» проекта: стоимость, сроки и содержание. Раннее и системное тестирование снижает «технический долг» и затраты на поддержку, структурированный процесс QA повышает прозрачность и позволяет точнее оценивать сроки выхода на рынок, а фокус на пользовательском опыте через приёмочное тестирование гарантирует, что создаваемый продукт решает реальные бизнес-задачи.
В конечном счёте, тестирование перестаёт быть затратной статьёй в бюджете и превращается в инвестицию в управляемость проекта и снижение совокупных рисков. Синтез методик, представленных в исследовании, даёт менеджеру практическую основу для построения такой системы обеспечения качества, которая работает не параллельно разработке, а является её неотъемлемой и управляющей частью.
Список литературы:
- ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013 Системная и программная инженерия. Тестирование программного обеспечения. [Электронный ресурс]. Режим доступа: http://docs.cntd.ru/document/1200134996/ (дата обращения: 17.09.2024).
- ГОСТ Р 1.12-99 Государственная система стандартизации Российской Федерации. Стандартизация и смежные виды деятельности. Термины и определения. [Электронный ресурс]. Режим доступа: http://docs.cntd.ru/document/1200006537/ (дата обращения: 17.09.2024).
- Нормативные и методические документы по тестированию программных средств. Официальный сайт ФСТЭК России. [Электронный ресурс]. Режим доступа: https://fstec.ru/component/finder/search?q=ТЕСТИРОВАНИЕ+ПРОГРАММНЫХ+СРЕДСТВ+&Itemid=0 / (дата обращения: 10.09.2024).
- Куликов С.С. Тестирование программного обеспечения. Базовый курс. - Минск: Четыре четверти, 2015. – 66-98 с.
- Савин Р. Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах —М.: Дело, 2017. — 270-300 с.
дипломов

