💀
Второй курс РПО
Разработка программных модулей
Разработка программных модулей
  • Модели разработки
  • Ошибки и отладка программ
  • Средства разработки алгоритмов
    • Основные принципы и стадии тестирования
  • Сложностные классы
  • Эмуляторы операционных систем
  • Сложность сортировки
  • Уровни тестирования
  • Задание №1
  • Регрессионное тестирование
  • Тестирование «белым ящиком»
  • Как делать оценку сложности?
  • Алгоритмы и сложность
  • Тестирование "белым ящиком" №2
  • Сложность алгоритмов
  • Тестирование "белым ящиком" №3
  • Тестирование "Чёрным ящиком»" №1
  • Тестирование "Черным ящиком" №2
  • Оценка сложности эвристических алгоритмов
  • Принципы ООП
  • Тестирование "Черным ящиком" №3
  • КТ - В3
  • Модульное тестирование
    • С кодами
  • Модульное тестирование
  • Абстрактные классы и интерфейсы в Python
  • Структуры в Python по аналогии с C++
    • Диалоги гениев
  • Делегаты в Python
    • Ещё более не смешные диалоги
  • Регулярные выражения в Python от простого к сложному
  • Python: Коллекции
  • Параметризованные классы (шаблоны)
  • Указатели и операции со списками в Python
  • Интеграционное тестирование
  • Работа с классами. Перегрузка методов
  • Определение операций в классе.
  • Создание наследованных классов
  • Интеграционное тестирование
  • Работа с объектами через интерфейсы
  • Использование стандартных интерфейсов
  • Работа с типом данных "Структура"
  • Коллекции. Параметризованные классы
  • Использование регулярных выражений
  • Операции со списками
  • Что такое паттерны проектирования?
  • Шпаргалка по шаблонам проектирования
    • [Habr] Шпаргалка
  • UML-диаграммы проектирования
  • Использование основных шаблонов.
  • Использование каких то там шаблонов
  • 15-я Практическая
  • 16-я Практическая
  • Graphviz Online
  • 17-я Практическая
  • Введение в теорию программирования: Объектно-ориентированный подход
  • Документирование софта и стандарты
  • C# Ввод и вывод
  • Оптимизация кода: просто о главном
  • Автоматизация разработки технической документации
  • Автоматизированное документирование и первичные данные
  • ADO.NET что это?
Powered by GitBook
On this page
  • Зачем нужно модульное тестирование?
  • Основные принципы модульного тестирования
  • Как проводятся модульные тесты?
  • Примерные этапы создания теста
  • Инструменты для модульного тестирования

Модульное тестирование

24.12.2024

— это процесс проверки работы небольших частей программы (модулей) на правильность. Оно помогает выявить ошибки на раннем этапе и убедиться, что каждая часть системы работает так, как задумано.

Зачем нужно модульное тестирование?

  1. Раннее выявление ошибок. Проще исправить баг, пока он только появился.

  2. Упрощение разработки. Легче работать с маленькими частями, чем с огромным проектом.

  3. Документация. Тесты показывают, как должен работать модуль.

  4. Повышение качества кода. Чем меньше ошибок, тем лучше программа.

  5. Экономия времени и денег. Исправление ошибок на раннем этапе обходится дешевле.

Основные принципы модульного тестирования

  1. Тестируем только один модуль. Мы не проверяем, как модули взаимодействуют друг с другом, только один конкретный кусочек программы.

  2. Изоляция. Если модуль зависит от других частей программы, мы заменяем их фейковыми версиями (например, заглушками).

  3. Покрытие кода. Чем больше строк кода протестировано, тем лучше.

  4. Простота тестов. Тесты должны быть понятными и легкими в поддержке.

Как проводятся модульные тесты?

  1. Написание тестов. Разработчик создает набор сценариев, чтобы проверить поведение модуля в разных ситуациях.

  2. Запуск тестов. Тесты автоматически запускаются и проверяют, правильно ли работает код.

  3. Анализ результатов. Если тест провален, исправляем код и запускаем тест снова.

  4. Повторение. Тесты выполняются снова и снова при каждом изменении кода, чтобы убедиться, что ничего не сломалось.

Примерные этапы создания теста

  1. Определяем, что будем проверять. Например, функцию, которая считает сумму чисел.

  2. Придумываем тестовые данные. Например, что будет, если сложить 2 и 2? А если число будет отрицательным?

  3. Описываем ожидаемый результат. Например, сумма 2 и 2 должна быть 4.

  4. Сравниваем результат работы модуля с ожиданиями. Если совпадает, тест пройден.

Инструменты для модульного тестирования

  • JUnit — популярный инструмент для Java.

  • PyTest — удобный инструмент для Python.

  • Jest — инструмент для JavaScript.

  • xUnit — семейство инструментов для разных языков.

PreviousКТ - В3NextС кодами

Last updated 5 months ago