Проводятся технические работы. Корпоративная почта временно недоступна. Просим направлять письма на резервные адреса:
Юридическим лицам: specialist.corp@yandex.ru
Физическим лицам: specialist.ufl@yandex.ru

Описание курса

Разработка и изменение C++-кода с применением модульных тестов, TDD и автоматизированной проверки

При разработке на C++ изменения в коде могут затрагивать уже существующую функциональность, а зависимости между компонентами затруднять проверку отдельных частей программы. В такой ситуации разработчику важно уметь изолированно тестировать код, работать с его зависимостями и проверять изменения при рефакторинге и добавлении новой функциональности. Для этого применяются модульное тестирование и TDD — подход, при котором тесты используются непосредственно в процессе разработки.

На курсе слушатель осваивает эти подходы на практике. Он настраивает проект с CMake и Google Test, разрабатывает небольшую программу по TDD, создаёт модульные тесты и применяет тестовые двойники для проверки кода с зависимостями. Работая с существующим кодом, слушатель определяет подход к его тестированию, выполняет рефакторинг для повышения тестируемости и добавляет новую функциональность с использованием TDD. Также он применяет ASan и UBSan, рассматривает антипаттерны и запахи тестов, работает с покрытием кода и настраивает в GitHub Actions автоматический запуск тестов и формирование отчёта о покрытии.

Кому подойдёт

Курс предназначен для разработчиков на C++, которым необходимо применять модульное тестирование и TDD при разработке и изменении программного кода.

Для обучения требуется уверенное владение C++ и основными библиотеками языка, а также подготовка по программе СИПП2.

По окончани курса вы сможете:

  • разрабатывать C++-код с применением TDD;
  • создавать модульные тесты с использованием Google Test;
  • применять тестовые двойники для работы с зависимостями;
  • работать с существующим кодом: определять подход к его тестированию, выполнять рефакторинг и добавлять новую функциональность с TDD;
  • использовать ASan и UBSan;
  • выявлять антипаттерны и запахи тестов;
  • работать с покрытием кода;
  • настраивать автоматический запуск тестов и формирование отчёта о покрытии в GitHub Actions.

Узнать больше

Вы научитесь

  • проектировать и реализовывать код на C++ через цикл «красный – зелёный – рефакторинг», превращая требования в работающий, протестированный модуль;
  • создавать тестовые двойники (stub, mock, fake) для изоляции зависимостей: файловой системы, сети, времени, баз данных;
  • безопасно покрывать характеризационными тестами легаси-код, выполнять рефакторинг для тестируемости и добавлять новую функциональность через TDD;
  • внедрять TDD в повседневную разработку на C++, получая исполняемую спецификацию вместо предположений о работоспособности кода.

Вы будете знать

  • принципы построения unit тестов;
  • принципы подхода TDD;
  • основные библиотеки c++ для реализации TDD.

Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы.

Обучение по мировым стандартам позволяет нашим выпускникам работать в ведущих компаниях России и других стран. Они делают успешную карьеру и пользуются уважением работодателей.

Узнать больше

Предварительная подготовка

Требуемая подготовка:
Успешное окончание курса Программирование на Visual С++ . Расширенные возможности, или эквивалентная подготовка.

Узнать больше

Программа курса

Модуль 1. Современный TDD и инструментарий C++  (4 ак. ч.)
Модуль 2. Продвинутое модульное тестирование  (4 ак. ч.)
Модуль 3. TDD и работа с существующим кодом  (4 ак. ч.)
Модуль 4. Качество тестов и Continuous Testing  (4 ак. ч.)

Аудиторная нагрузка в классе с преподавателем 16 ак. ч. + 16 ак. ч. бесплатно*

* Для слушателей курса предусмотрено время для самостоятельной практической отработки и проработки материала в компьютерных классах Центра.

Вы можете использовать его для закрепления знаний, выполнения домашних заданий и консультаций со специалистами.

Время предоставляется бесплатно по предварительному согласованию с администратором комплекса:

  • для занятий с 10:00 до 17:10: дополнительное время с 9:00 до 10:00.
  • для занятий с 14:00 до 17:10: дополнительное время с 13:15 до 14:00.
  • для занятий с 18:30 до 21:30: дополнительное время с 17:10 до 17:55.

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

Узнать больше

Документы об окончании

В зависимости от программы обучения выдаются следующие документы:

Свидетельство выпускника

Cертификат международного образца

Удостоверение о повышении квалификации

* Для получения удостоверения вам необходимо предоставить копию диплома о высшем или среднем профессиональном образовании.

Сертификаты международного образца выводятся после окончания курса в личном кабинете слушателя.

Авторизации

1С Касперский Астра Линукс Базальт Постгрес

Обратный звонок

Оставьте свои данные ниже и наш менеджер свяжется с вами в рабочее время!

Спасибо за обращение! Ваш менеджер свяжется с вами в рабочее время.