Описание курса
Разработка и изменение 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 С++ . Расширенные возможности, или эквивалентная подготовка.
Программа курса
Аудиторная нагрузка в классе с преподавателем 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.
По завершении обучения проводится итоговая аттестация. Она может проходить в виде теста на последнем занятии или основываться на результатах выполнения практических заданий в ходе курса.
Документы об окончании
В зависимости от программы обучения выдаются следующие документы:
* Для получения удостоверения вам необходимо предоставить копию диплома о высшем или среднем профессиональном образовании.
Сертификаты международного образца выводятся после окончания курса в личном кабинете слушателя.