Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Современные средства разработки программного обеспечения. Учебное пособие
.pdf
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-168392-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 (turbopages.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 [Электронный ресурс]. – Режим доступа:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
