Тема: МОДУЛЬНОЕ ТЕСТИРОВАНИЕ ПРОГРАММ НА ЯЗЫКЕ PYTHON
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ВВЕДЕНИЕ 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 - это высокоуровневый язык программирования, который применяется для различных целей, таких как написание скриптов, создание веб-приложений, анализ данных и машинное обучение.
Целью данной работы является изучение принципов модульного и мутационного тестирования Python-программ, а также, способов их автоматизации, а также, разработка набора тестов для программного пакета для работы с конечными автоматами и оценка качества разработанных тестов с помощью методики мутационного тестирования.
✅ Заключение
Кроме того, в ходе работы был успешно использован фреймворк Hypothesis для автоматизированного генерирования и проверки входных данных, что значительно улучшило покрытие тестами и помогло обнаружить редкие ошибки, которые могли бы быть упущены при ручном тестировании. Также был применен инструмент измерения покрытия кода Coverage.py, что позволило оценить эффективность тестов и определить области, требующие дополнительного внимания.
Таким образом, использование модульного и мутационного тестирования, а также инструментов Hypothesis и Coverage.py, является важной частью нашего подхода к тестированию программ на Python. Эти методы не только способствуют повышению качества кода, но и обеспечивают его надежную работу в различных условиях эксплуатации. Полученные практические навыки позволят эффективно применять данные методы в будущих проектах, обеспечивая высокий уровень уверенности в функциональности и стабильности программного обеспечения.





