📄Работа №195291

Тема: МОДУЛЬНОЕ ТЕСТИРОВАНИЕ ПРОГРАММ НА ЯЗЫКЕ PYTHON

Характеристики работы

Тип работы Бакалаврская работа
Физика
Предмет Физика
📄
Объем: 43 листов
📅
Год: 2024
👁️
Просмотров: 66
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

Аннотация
ВВЕДЕНИЕ 4
АКТУАЛЬНОСТЬ 5
1 Определения 6
1.1 Язык программирования Python 6
1.2 Тестирование ПО 6
1.3 Модульное тестирование 6
1.4 Мутационное тестирование 7
1.5 Запуск тестов на Python: тестовые фреймворки Unittest, Pytest, Nosetests 8
1.6 Девиация 8
1.7 Покрытие кода 8
1.8 Автогенерация тестов 8
2 Тестирование ПО 10
2.1 Модульное тестирование: тестовые фреймворки Unittest, Pytest, Nosetests 10
2.2 Мутационное тестирование: мутационные фреймворки MutPy, Cosmic Ray 10
2.3 Покрытие кода: фреймворк Coverage 11
2.4 Автогенерация тестов: фреймворк Hypothesis 11
3 Реализация модульного и мутационного тестирования на практике 12
3.1 Модульное тестирования функции сложения двух чисел 12
3.1.1 Автогенерация тестовых данных для функции сложения двух чисел с помощью
Hypothesis 12
3.1.2 Модульное тестирования функции сложения двух чисел с помощью Pytest 13
3.1.3 Проверка покрытия кода сгенерированными тестами с помощью Coverage 15
3.2 Модульное тестирования функции симуляции автомата 16
3.2.1 Проверка покрытия кода сгенерированными тестами с помощью Coverage модуля
"FA_simple.py" 25
3.2.2 Мутационное тестирование функции симуляции автомата 26
ЗАКЛЮЧЕНИЕ 28
ЛИТЕРАТУРА 29
Приложение 1 30
Приложение 2 33

📖 Аннотация

В данной работе проводится исследование методологии модульного тестирования программного обеспечения на языке Python, с фокусом на его автоматизацию и оценку качества тестовых наборов. Актуальность исследования обусловлена критической важностью обеспечения надежности и корректности программных продуктов в условиях их возрастающей сложности, где недостаточное тестирование ведет к дефектам и эксплуатационным сбоям. Основными результатами являются: проведенный сравнительный анализ фреймворков модульного тестирования (unittest, pytest, nosetests) и инструментов мутационного тестирования (mutpy); разработка и практическая реализация модульных тестов для пакета работы с конечными автоматами; а также оценка их эффективности с применением мутационного тестирования и инструментария для измерения покрытия кода Coverage.py. Было установлено, что интеграция фреймворка Hypothesis для автоматической генерации тестовых данных существенно повышает покрытие и выявляет редкие ошибки. Научная значимость работы заключается в систематизации подходов к тестированию в экосистеме Python, а практическая – в демонстрации конкретного инструментального стека и методик, применимых для повышения качества кода в реальных проектах. Теоретическая база исследования опирается на работы, представленные в ресурсах Atlassian, посвященных типам тестирования, материалах Habr по методологиям, а также на документацию фреймворков pytest и mutpy, что позволило сформировать комплексное понимание предметной области.

📖 Введение

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

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В ходе работы были изучены основы модульного тестирования на языке Python. Были рассмотрены различные фреймворки и инструменты, предоставляющие возможности для модульного тестирования в Python, такие как unittest, pytest и nosetests. Также, был проведен обзор существующих инструментов мутационного тестирования и выбран инструмент mutpy. Был создан модульный тест для проверки работы функции симуляции конечного автомата и качество теста было оценено с помощью мутационного тестирования. Для повышения качества тестирования необходимо разработать дополнительные тесты, повышающие мутационную оценку.
Кроме того, в ходе работы был успешно использован фреймворк Hypothesis для автоматизированного генерирования и проверки входных данных, что значительно улучшило покрытие тестами и помогло обнаружить редкие ошибки, которые могли бы быть упущены при ручном тестировании. Также был применен инструмент измерения покрытия кода Coverage.py, что позволило оценить эффективность тестов и определить области, требующие дополнительного внимания.
Таким образом, использование модульного и мутационного тестирования, а также инструментов Hypothesis и Coverage.py, является важной частью нашего подхода к тестированию программ на Python. Эти методы не только способствуют повышению качества кода, но и обеспечивают его надежную работу в различных условиях эксплуатации. Полученные практические навыки позволят эффективно применять данные методы в будущих проектах, обеспечивая высокий уровень уверенности в функциональности и стабильности программного обеспечения.
Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

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

1. Stepik. - [Б. м.], - / URL: https://stepik.org/lesson/284315/step/1?unit=265660 (дата обращения 15.10.2023).
2. Neiros. - [Б. м.], - / URL: https://neiros.ru/blog/code/testirovanie-i-7-osnovnykh- etapov-ego-provedeniya/ (дата обращения 25.10.2023).
3. Atlassian. - [Б. м.], - / URL: https://www.atlassian.com/ru/continuous-
delivery/software-testing/types-of-software-testing (дата обращения 02.11.2023).
4. Habr. - [Б. м.], - / URL: https://habr.com/ru/companies/skillfactory/articles/581270/ (дата обращения 02.11.2023).
5. Pypi. - [Б. м.], - / URL: https://pypi.org/project/pytest/ (дата обращения 15.11.2023).
6. Pypi. - [Б. м.], - / URL: https://pypi.org/project/nose/ (дата обращения 20.11.2023).
7. Dzen. - [Б. м.], - / URL: https://dzen.ru/a/ZAHj7WsrSnVS7d0q (дата обращения 25.11.2023).
8. Github. - [Б. м.], - / URL: https://github.com/mutpy/mutpy (дата обращения 02.02.2024).
9. Pypi. - [Б. м.], - / URL: https://pypi.org/project/cosmic-ray/ (дата обращения 11.03.2024).
10. Coverage. - [Б. м.], - / URL: https://coverage.readthedocs.io/en/7.5.1/ (дата
обращения 02.04.2024).
11. Hypothesis. - [Б. м.], - / URL: https://hypothesis.readthedocs.io/en/latest/ (дата обращения 03.04.2024).

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.
Предоставляемые услуги, в том числе данные, файлы и прочие материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.
Укажите ник или номер. После оформления заказа откройте бота @workspayservice_bot для подтверждения. Это нужно для отправки вам уведомлений.

©2026 Cервис помощи студентам в выполнении работ