Язык программирования: C++, Java, Python, C# Для себя В этой работе не обязательно ее выполнять самому, достаточно найти или подогнать проект под следующий критерии: Реализовать три вида тестов(Модульное, Интеграционное, Системное/End-to-End тестирование). Модульное тестирование Необходимо выполнить модульное тестирование разработанного программного продукта.Тестирование должно производиться автоматически при сборке проекта тем сборщиком, который используется для формирования исполняемого файла (cmake, gradle, maven, ant, etc.) Фреймворки для написания юнит-тестов: junit, testNG, XUnit.Net, Nunit – любые, подходящие для языка вашего проекта и формирующие необходимую отчётность Интеграционное тестирование Интеграционное тестирование предполагает наличие нескольких модулей или, если приложение построено в соответствии с микросервисной архитектурой, микросервисов разработанного приложения. В качестве модулей могут быть функциональные части (например: модуль авторизации\аутентификации, модуль взаимодействия с пользователем, модуль интеграции со сторонним сервисом). Необходимо выполнить интеграционное тестирование нескольких модулей в соответствии с предварительно описанными сценариями тестирования Системное/End-to-End тестирование На данном уровне необходимо протестировать готовый продукт по бизнестребованиям, сформированным перед началом непосредственного проектирования программного продукта. В качестве тестовых сценариев выбираются основные сценарии использования ПО в полностью рабочем окружении. Целесообразно использование инструментов веб-тестирования или UI-тестирования,.