Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Современные средства разработки программного обеспечения. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
181
FAIL: test_typeerror_2 (__main__.TestPrime)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_prime.py", line 17, in test_typeerror_2
is_prime(5)
AssertionError: TypeError not raised
----------------------------------------------------------------------
Ran 4 tests in 0.003s
FAILED (failures=1)
Побочные эффекты
Часто выполнение фрагмента кода приводит к изменению других параметров среды, таких как атрибут класса, файл в файловой системе или значение в базе дан­ных. Они известны как побочные эффекты и являются важной частью тестирования. Нужно решить, тестируется ли побочный эффект, прежде чем включать его в свой список утверждений.
Если будет обнаружено, что блок кода, который нужно протестировать, имеет множество побочных эффектов, возможно, нарушен принцип единственной ответ­ственности. Нарушение принципа единственной ответственности означает, что фраг­мент кода выполняет слишком много функций, и его лучше было бы реорганизовать.
Таким образом. Разработчики Python сделали тестирование доступным, встроив команды и библиотеки, необходимые для проверки правильности работы программ. Начало тестирования на Python не обязательно должно быть сложным: можно исполь­зовать unittest и писать небольшие, поддерживаемые методы для проверки кода. На примерах рассмотрено, как настраивать тесты с помощью встроенного в Python мо­дуля unittest, которые проверяют, работает ли функция должным образом или вызы­вает исключение.
12.3 Контрольные вопросы
1 Какие последствия могут быть при обновлении модулей и рефакторинге кода при работе над большим проектом?
2 Что такое автоматическое тестирование?
182
3 Что понимают под интеграционным тестированием?
4 Что понимают под модульным тестом?
5 Что такое покрытие кода тестами?
6 Какие программы для выполнения тестов доступны для Python?
7 Что такое утверждение в unittest?
8 Что выполняет функция assertAlmostEqual() модуля unittest?
183
13 Общие указания к выполнению лабораторных работ
13.1 Порядок выполнения работ
Целью выполнения лабораторных работ является формирование умений и навыков разработки оригинальных алгоритмов и программных средств для решения профессиональных задач.
Перед выполнением лабораторной работы требуется получить вариант задания. Вариант задания выдается преподавателем, проводящим лабораторные занятия. Да­лее необходимо ознакомиться с заданием.
Выполнение лабораторной работы следует начать с изучения порядка выполне­ния лабораторной работы, изучения теоретических сведений по курсу лекций, а также следует изучить дополнительную литературу.
Студенты выполняют программную реализацию по обработке данных в инстру­ментальных средах программирования, например, таких, как VS Code, PyCharm.
Лабораторные задания по каждой лабораторной работе подлежат выполнению в группах или индивидуально по вариантам. Число выполняемых лабораторных зада­ний может варьироваться в зависимости от направления подготовки обучаемых и формы обучения.
Лабораторная работа считается выполненной, если:
- предоставлен отчет о результатах выполнения задания;
- проведена защита проделанной работы.
Защита проводится в три этапа:
1) Демонстрируются результаты выполнения задания. Преподаватель прове-
ряет полноту выполнения заданий, выполнение общих требований, приведенных в данном разделе и частных требований к лабораторной работе, приведенных в соот­ветствующих разделах.
2) При помощи тестового примера доказывается, что результат, получаемый
при выполнении программы правильный.
3) Далее требуется ответить на ряд вопросов по коду программы и из перечня
контрольных вопросов.
184
13.2 Требования к структуре отчета
Отчет должен содержать следующие элементы:
1 Титульный лист.
2 Исходные данные.
3 Основной раздел.
4 Выводы.
5 Список использованных источников.
6 Приложение – Исходный код программы.
Рекомендации по оформлению каждого элемента.
Титульный лист выполняется согласно стандарту студенческих работ. На ти- тульном листе отчета следует указать номер индивидуального варианта задания или номер по списку группы студентов, в соответствии с которым выполнена работа.
Исходные данные к лабораторной работе включают цель и задания. Формули­ровки цели для каждой лабораторной работы приведены непосредственно в подраз­деле с рекомендациями по каждой текущей лабораторной работе. Приводится описа­ние общего задания и индивидуальных вариантов заданий.
Основная часть должна содержать следующие пункты:
- Описание алгоритма решения задачи.
- Результаты по заданиям лабораторной работы – скрины результатов работы
программы, числовые данные, таблицы, графики и др.
- Анализ полученных результатов.
В выводах кратко описываются итоги проделанной работы, излагаются резуль- таты по достижению цели выполнения лабораторной работы.
Приложение – «Исходный код программы» размещается после раздела «Вы­воды».
Лабораторная работа оценивается по следующим критериям:
- полнота выполнения задания к работе;
- соблюдение требований к выполнению задания;
185
- степень самостоятельности;
- правильность и развернутая аргументация выводов;
- аккуратность оформления работы и др.
При несоблюдении вышеперечисленных требований, необходимо устранить недостатки, либо доработать.
186
Список использованных источников
1 TIOBE Index for May 2024 [Электронный ресурс]. – Режим доступа:
2 RedMonk Top 20 Languages Over Time: January 2023 https://red-
3 The Top Programming Languages 2023 [Электронный ресурс]. – Режим до-
ступа: https://spectrum.ieee.org/the-top-programming-languages-2023
4 Python3 – Настройка среды [Электронный ресурс]. – Режим доступа:
5 Virtual Environments and Packages [Электронный ресурс]. – Режим доступа:
6 virtualenv (pypa.io) [Электронный ресурс]. – Режим доступа: https://virtu-
7 Getting Started with Python in VS Code [Электронный ресурс]. – Режим до- ступа: https://code.visualstudio.com/docs/python/python-tutorial
8 Python for Programmers [Электронный ресурс]. – Режим доступа:
9 Сузи, Р. А. Язык программирования Python : учебное пособие : [16+] /
Р. А. Сузи. – 2-е изд., испр. – Москва : Интернет-Университет Информационных Технологий (ИНТУИТ) : Бином. Лаборатория знаний, 2007. – 327 с.
10 Аннотация типов (texnoit.com) [Электронный ресурс]. – Режим доступа:
11 Python Decorators [Электронный ресурс]. – Режим доступа: https://www.py-
12 Decorators in Python Explained [+Examples] [Электронный ресурс]. – Режим доступа: https://blog.hubspot.com/website/decorators-in-python
13 More Control Flow Tools [Электронный ресурс]. – Режим доступа:
187
14 Курсы по программированию [Электронный ресурс]. – Режим доступа:
15 Should I use name mangling in Python? [Электронный ресурс]. – Режим до-
ступа: https://stackoverflow.com/questions/7456807/should-i-use-name-mangling-in-
16 Object Oriented Programming [Электронный ресурс]. – Режим доступа:
17 Inheritance [Электронный ресурс]. – Режим доступа: https://data-driven-
18 Types of inheritance Python [Электронный ресурс]. – Режим доступа:
19 A Deep Dive into Object-Oriented Programming in Python: From Novice to Vir-
tuoso [Электронный ресурс]. – Режим доступа: https://dev.to/ahmadpmtijani/a-deep-
20 Iterators in Python [Электронный ресурс]. – Режим доступа:
https://www.geeksforgeeks.org/iterators-in-python/
21 Итераторы [Электронный ресурс]. – Режим доступа: https://de-
22 Iterator Types [Электронный ресурс]. – Режим доступа: https://docs.py-
23 The Python Standard Library [Электронный ресурс]. – Режим доступа:
24 Python Modules, Packages, Libraries, and Frameworks [Электронный ресурс]. – Режим доступа: https://learnpython.com/blog/python-modules-packages-libraries-frame-
25 Error Handling in Python – try, except, else, & finally Explained with Code Ex-
amples [Электронный ресурс]. – Режим доступа: https://www.freeco-
26 LogRecord attributes [Электронный ресурс]. – Режим доступа: https://docs.py-
188
27 TimedRotatingFileHandler [Электронный ресурс]. – Режим доступа:
28 Harsh Bhasin Python Programming Using Problem-Solving Mercury Learning and Information. – Dulles, Virginia/Boston, Massachusetts/New Delhi 601 pp. – ISBN: 978-1­68392-862-1
29 Python | Cloning or Copying a list [Электронный ресурс]. – Режим доступа:
30 7 ways to clone or copy list in python with examples (codippa.com) [Электронный ресурс]. – Режим доступа: https://codippa.com/how-to-clone-or-copy-a-
31 Python | Check if two lists are identical [Электронный ресурс]. – Режим до- ступа: https://www.geeksforgeeks.org/python-check-if-two-lists-are-identical/
32 How can I compare two lists in python and return matches - Stack Overflow (tur­bopages.org) [Электронный ресурс]. – Режим доступа: https://stackoverflow.com/ques-
33Python - Access Dictionary Items [Электронный ресурс]. – Режим доступа:
34 How to Compare Two Dictionaries in Python [Электронный ресурс]. – Режим доступа: https://www.delftstack.com/howto/python/compare-two-dictionaries-python/
35 Python dictionary comprehension [7 methods] [Электронный ресурс]. – Режим доступа: https://pythonguides.com/python-dictionary-comprehension/
36 Mastering Python String Functions: A Comprehensive Guide with Code Examples [Электронный ресурс]. – Режим доступа: https://www.marketingscoop.com/web-
37 Regular expression [Электронный ресурс]. – Режим доступа: https://en.wikipe-
38 A.M. Kuchling Regular Expression HOWTO [Электронный ресурс]. – Режим доступа: https://docs.python.org/3/howto/regex.html
189
39 Regular Expression in Python [Электронный ресурс]. – Режим доступа:
40 Regular Expression HOWTO [Электронный ресурс]. – Режим доступа:
41 Datasets AAPL.csv [Электронный ресурс]. – Режим доступа:
42 Как форматы данных влияют на интеграцию данных: ETL и ELT для струк­турированных, неструктурированных и частично структурированных данных | Ин­форматика (informatica.com) [Электронный ресурс]. – Режим доступа:
43 Форматы данных в ETL: общие сведения о CSV, JSON, XML, Parquet и Avro
- Artisan (domartisan.com) [Электронный ресурс]. – Режим доступа:
44 Полное руководство по системной интеграции (hubspot.com) [Электронный ресурс]. – Режим доступа: https://blog.hubspot.com/marketing/system-integration
45 proproprogs [Электронный ресурс]. – Режим доступа: https://propro-
46 Flask’s documentation [Электронный ресурс]. – Режим доступа:
47 Jinja [Электронный ресурс]. – Режим доступа: https://jinja.palletspro-
47WTForms documentation [Электронный ресурс]. – Режим доступа:
48 #11 Работа с формами во Flask [Электронный ресурс]. – Режим доступа:
49 Getting Started With Testing in Python [Электронный ресурс]. – Режим до- ступа: https://realpython.com/python-testing/
190
50 Unit Testing in Python: Comprehensive Guide [Электронный ресурс]. – Ре- жим доступа: https://www.lambdatest.com/learning-hub/python-unittest
51 Unit Testing in Python: Detailed Tutorial [Электронный ресурс]. – Режим до- ступа: https://www.browserstack.com/guide/unit-testing-python
52 How to Write Unit Tests for Python Functions [Электронный ресурс]. – Режим доступа: https://www.freecodecamp.org/news/how-to-write-unit-tests-for-python-func-
53 unittest — Unit testing framework [Электронный ресурс]. – Режим доступа:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]