Автор(-ы):
Дворяк Диана Андреевна
4 февраля 2024
Секция
Информационные технологии
Ключевые слова
Аннотация статьи
Статья является исследованием, посвященным проверки методики, которая позволяет повысить качество программного обеспечения путем внедрения тестирования на ранних стадиях разработки. Целью работы является проверка методики, которая позволит повысить качество программного обеспечения и уменьшить количество дефектов за счет тестирования на ранних стадиях разработки. Для достижения этой цели в статье рассматриваются методы и подходы к тестированию на ранних стадиях разработки, и предлагается собственная методика, основанная на лучших практиках. Методология работы включает анализ существующих подходов к тестированию на ранних стадиях разработки, разработку собственной методики, ее проверка на практике и сравнение результатов с традиционными подходами к тестированию. В результате исследования удалось разработать методику, которая позволяет повысить качество программного обеспечения за счет раннего выявления и устранения дефектов. Данная методика продемонстрировала свою эффективность на практике и привела к снижению количества дефектов в готовом продукте. Научное значение данной работы заключается в разработке новой методики, которая может быть использована при разработке программного обеспечения любого масштаба и сложности. Результаты исследования могут быть полезны как для профессиональных разработчиков, так и для студентов и исследователей в области информационных технологий. Областью применения результатов является сфера разработки программного обеспечения в целом, включая как коммерческие проекты, так и академические и исследовательские работы. В заключительной части статьи подводят итоги проверки методики повышения качества разработки программного обеспечения с использованием тестирования на ранних стадиях, что может значительно улучшить процесс разработки и увеличить удовлетворенность пользователей готовым продуктом.
Текст статьи
Введение
Актуальность повышения качества разработки программного обеспечения с использованием тестирования на ранних стадиях заключается в том, что это помогает выявить и исправить ошибки еще на ранних этапах разработки, что в свою очередь позволяет существенно сократить время и затраты на исправление ошибок в последующих этапах.
Цели использования тестирования на ранних стадиях разработки программного обеспечения включают в себя:
Таким образом, использование тестирования на ранних стадиях разработки программного обеспечения имеет большую актуальность и позволяет достичь ключевых целей по созданию качественных и надежных программных продуктов [1].
1. Описание методики исследования
Методика повышения качества разработки программного обеспечения с использованием тестирования на ранних стадиях может включать следующие этапы и методы исследования:
Эти методы исследования или методики эксперимента обычно применяются в рамках Agile-подхода к разработке программного обеспечения, который акцентирует внимание на постоянном тестировании и постепенных улучшениях продукта [2].
1.1. Определение требований
Определение требований к программному обеспечению – это процесс идентификации, анализа и документирования функциональных и нефункциональных требований, которые должны быть удовлетворены для успешной разработки и использования программного продукта.
Функциональные требования определяют, каким образом программное обеспечение должно взаимодействовать с пользователями, другими системами и окружающей средой. Они включают в себя конкретные функции, которые должны быть реализованы в программном обеспечении, такие как возможность создания, чтения, обновления и удаления данных, выполнение определенных вычислений, обработка запросов пользователей и т.д.
Нефункциональные требования определяют ограничения и ожидания по отношению к качеству, производительности, безопасности, надежности и другим аспектам программного обеспечения. Это могут быть требования к производительности (например, время отклика системы), безопасности данных (например, шифрование информации), масштабируемости (способность системы масштабироваться при увеличении нагрузки) и т.д.
Для определения требований к программному обеспечению необходимо провести анализ бизнес-потребностей и целей, изучить потребности пользователей и других заинтересованных сторон, а также учесть контекст использования программного продукта и технические ограничения. Результатом этого процесса является документ, который содержит полный список требований к программному обеспечению, который будет использоваться разработчиками, тестировщиками и другими участниками процесса разработки. Это документ может быть использован для оценки и контроля изменений во время разработки, а также для оценки соответствия готового продукта требованиям [3].
1.2. Проектирование тестовых случаев
Проектирование тестовых случаев является ключевым этапом в процессе тестирования программного обеспечения. Оно включает в себя разработку набора тестов, которые помогут проверить соответствие разрабатываемого продукта заданным требованиям.
Для начала необходимо провести анализ требований к программному продукту. Это могут быть функциональные требования, нефункциональные требования, требования к интерфейсу, качеству, производительности и т.д. Важно учесть все аспекты, которые должны быть протестированы.
Далее на основе собранных требований составляются тестовые случаи. Тестовый случай – это конкретное действие или последовательность действий, которые должны быть выполнены для проверки определенного аспекта программного продукта. Каждый тестовый случай должен быть четко описан, включая входные данные, ожидаемый результат, шаги выполнения и ожидаемое поведение.
При проектировании тестовых случаев важно учитывать различные сценарии использования продукта, возможные случаи ошибок, а также граничные условия. Тестовые случаи должны быть максимально полными и покрывать все аспекты продукта, чтобы удостовериться в его корректной работе в любых условиях.
Кроме того, необходимо уделить внимание приоритетам тестовых случаев. Некоторые из них могут быть более критическими для работоспособности продукта и должны быть протестированы в первую очередь [4].
В результате проектирования тестовых случаев получается набор документации, который будет использоваться для проведения тестирования продукта. Такой подход позволяет эффективно проверить соответствие разрабатываемого программного продукта заявленным требованиям и обеспечить его высокое качество.
1.3. Раннее тестирование
Раннее тестирование (или также называемое тестированием на ранних стадиях) – это процесс проведения тестирования на начальных этапах разработки программного обеспечения, еще до завершения кодирования. Целью данного вида тестирования является выявление и устранение дефектов на самых ранних стадиях разработки, что позволяет сэкономить время и ресурсы при дальнейшей работе над проектом.
Раннее тестирование включает в себя несколько основных видов тестирования:
Раннее тестирование имеет ряд преимуществ, таких как увеличение качества программного обеспечения, сокращение времени и затрат на исправление дефектов на более поздних этапах разработки, а также повышение уровня доверия со стороны пользователей. В целом, проведение тестирования на ранних стадиях разработки позволяет существенно улучшить процесс создания программного обеспечения и его окончательное качество [5].
1.4. Интеграционное тестирование
Интеграционное тестирование – это процесс проверки взаимодействия между отдельными компонентами программы после их завершения. Когда разработчики завершают работу над отдельными модулями или компонентами программы, они объединяют их в единое целое. Интеграционное тестирование позволяет убедиться, что все компоненты работают корректно вместе и взаимодействуют друг с другом как задумано.
В процессе интеграционного тестирования проводятся различные проверки, включая тестирование интерфейсов между компонентами, взаимодействие функциональности и обмен данных. Также проводится тестирование целостности данных и проверяется, работает ли программа в целом так, как ожидается.
Интеграционное тестирование часто включает в себя создание и запуск различных сценариев использования, чтобы убедиться, что все компоненты программы взаимодействуют правильно, и программа работает корректно в различных ситуациях.
Тестирование на интеграцию является важной частью процесса разработки программного обеспечения, поскольку позволяет обнаружить и устранить проблемы взаимодействия компонентов до того, как программа будет выпущена в продакшен. Это позволяет снизить риски возникновения ошибок и неполадок в работе программы в будущем [6].
1.5. Анализ результатов
Анализ результатов тестирования на ранних этапах разработки является важной частью процесса обеспечения качества программного обеспечения. Вот некоторые шаги, которые можно предпринять для составления отчетов и анализа результатов:
Важно проводить анализ результатов тестирования на ранних этапах разработки, чтобы выявить проблемы на ранних стадиях и устранить их до того, как они станут более серьезными и дорогостоящими в исправлении.
1.6. Внесение корректив
Внесение корректив в процесс разработки или дизайна программного обеспечения является важной частью цикла разработки. Оно включает в себя анализ результатов текущего процесса разработки или дизайна и определение необходимых изменений или дополнений для улучшения качества программного обеспечения.
Внесение корректив может включать в себя следующие этапы:
Внесение корректив важно для непрерывного улучшения качества программного обеспечения и достижения более высоких стандартов в разработке и дизайне.
1.7. Повторение цикла
Повторение цикла в тестировании на ранних стадиях разработки программного продукта является важным элементом для обеспечения высокого качества конечного продукта. Этот процесс предполагает повторяющиеся итерации тестирования и анализа результатов, которые позволяют выявлять и устранять дефекты, а также улучшать функциональность и производительность программы.
На ранних стадиях разработки проводится первичное тестирование, чтобы выявить потенциальные проблемы и дефекты, которые могут возникнуть в процессе дальнейшей работы. После этого анализируются полученные результаты и принимаются меры по исправлению выявленных проблем.
После внесения изменений процесс повторяется, и тестирование проводится снова, чтобы убедиться, что внесенные исправления действительно решают проблемы и не вызывают новые дефекты. При необходимости процесс повторяется несколько раз, пока не будет достигнут оптимальный уровень качества программного продукта [9].
Таким образом, повторение цикла тестирования на ранних стадиях разработки позволяет систематически улучшать качество программного продукта и обеспечивать его соответствие требованиям и ожиданиям пользователей.
2. Полученные результаты
Для проведения практической части и сравнения результатов по данной теме были выполнены следующие шаги:
2.1. Выбранные проекты
Для сравнения тестирования были выбраны следующие проекты программного обеспечения:
2.2. Результаты проведенного тестирования
Результаты проведенного тестирования, которое включает в себя Unit-тестирование и интеграционное тестирование для каждого проекта, приведены в таблице 1.
Таблица 1
Тестирование программного обеспечения
Проект |
Unit-тестирование |
Интеграционное тестирование |
---|---|---|
Программное обеспечение для управления проектами |
В рамках данного проекта проводилось тестирование отдельных модулей и функций программы, чтобы проверить их корректность. Для модуля управления задачами тестировались различные варианты ввода данных, обработка и вывод результатов. |
После успешного прохождения Unit-тестирования, проводилось тестирование взаимодействия различных модулей программы. Проверка передачи данных между модулем управления задачами и модулем отчетности. |
Онлайн-платформа для бронирования и управления отелями |
Тестировались отдельные компоненты платформы, такие как формы бронирования, система оплаты и механизм отправки уведомлений. Проверка правильности расчета стоимости бронирования. |
После успешного Unit-тестирования, проводилось тестирование взаимодействия этих компонентов друг с другом. Проверка корректности синхронизации данных о бронировании между системой бронирования и системой оплаты. |
Мобильное приложение для учета личных финансов |
Проводилось тестирование отдельных функций приложения, таких как добавление транзакций, расчет бюджета и генерации отчетов. |
После успешного Unit-тестирования, проверялось взаимодействие различных модулей приложения, например передача данных между модулем добавления транзакций и модулем расчета бюджета. |
Программного обеспечения для управления складскими запасами |
В рамках данного проекта проводилось тестирование отдельных функций программы, таких как прием и отгрузка товаров, инвентаризация и учет поставок. |
После успешного Unit-тестирования, проверялось взаимодействие различных модулей программы, например передача данных между модулем приема товаров и модулем отгрузки. |
Онлайн-сервис для автоматизации учета рабочего времени |
Тестировались отдельные компоненты сервиса, такие как система регистрации рабочего времени, генерация отчетов и уведомления о просроченных задачах. |
После успешного Unit-тестирования, проводилось тестирование взаимодействия различных компонентов сервиса. Например, проверка корректности передачи данных между системой регистрации рабочего времени и системой генерации отчетов. |
Таким образом, проведя анализ данных после реализации тестирования на ранних стадиях для двух или более проектов, можно сделать выводы о влиянии данной методики на качество разработки программного обеспечения и определить наиболее эффективный подход к повышению качества разработки.
2.3. Анализ полученных данных и результат сравнения
Для каждого проекта были собраны данные о качестве разработки программного обеспечения, включая количество найденных ошибок и время, затраченное на исправление ошибок.
Данные были анализированы для каждого проекта отдельно, чтобы оценить эффективность процесса разработки и качество итогового продукта. Было выявлено, что количество найденных ошибок варьировалось в зависимости от сложности проекта и опыта команды разработчиков.
Также было измерено время, затраченное на исправление ошибок, чтобы оценить эффективность работы команды и их способность быстро реагировать на обнаруженные проблемы.
Эти данные были использованы для принятия решений о дальнейших улучшениях процесса разработки и обеспечения качества программного обеспечения. В результате были внесены изменения в процессы тестирования и обучения персонала, что привело к улучшению качества программного обеспечения и сокращению времени, затраченного на исправление ошибок. Результат тестирования программного обеспечения рассмотрен в таблице 2.
Таблица 2
Результат тестирования программного обеспечения
Проект |
Результат тестирования |
---|---|
Программное обеспечение для управления проектами |
Использование методики тестирования на ранних стадиях позволило выявить множество ошибок и недочётов, что позволило улучшить качество программного обеспечения до запуска. |
Онлайн-платформа для бронирования и управления отелями |
Были обнаружены многочисленные ошибки и проблемы на ранних этапах разработки, благодаря чему продукт был готов к запуску с меньшими проблемами. |
Мобильное приложение для учета личных финансов |
При использовании методики тестирования на ранних стадиях удалось выявить проблемы с пользовательским интерфейсом и функциональностью, что помогло улучшить качество приложения. |
Программного обеспечения для управления складскими запасами |
Тестирование помогло выявить сложности с интеграцией с другими системами и проблемы с производительностью, что позволило более эффективно их решить. |
Онлайн-сервис для автоматизации учета рабочего времени |
Использование методики тестирования на ранних стадиях позволило выявить проблемы с безопасностью данных и ошибки в алгоритмах расчета времени, что помогло предотвратить потенциальные проблемы после запуска. |
Таким образом, использование методики тестирования на ранних стадиях разработки позволило выявить и устранить множество проблем и ошибок в каждом проекте, что в итоге повысило качество программного обеспечения и уменьшило риски при запуске продукта.
Заключение
После процесса анализа и сравнения различных методик тестирования на ранних стадиях разработки программного обеспечения можно сделать следующие выводы:
Таким образом, для повышения качества разработки программного обеспечения на ранних стадиях рекомендуется использовать комбинацию различных методик тестирования, включая автоматизированное и контрольное тестирование.
Список литературы
Поделиться
Дворяк Д. А. Методика повышения качества разработки программного обеспечения с использованием тестирования на ранних стадиях // Актуальные исследования. 2024. №6 (188). Ч.I.С. 67-74. URL: https://apni.ru/article/8399-metodika-povisheniya-kachestva-razrabotki