|
Лабораторная работа 2: Изучение сред и технологий
Цель работы: изучение программных инструментальных средств (github, googletest, Qt IDE, github actions, coveralls, sonarcloud) и апробация на практике.
Задачи:
- Скачать проект-шаблон с исходным кодом тестового окружения.
- Подключить библиотеку Google test с помощью команд (git submodule init и git submodule update).
Если проект-шаблон скачан в виде архива, то удалить файл .gitmodules и директорию external/googletest и выполнить связывание с библиотекой с помощью команд
(git submodule add https://github.com/google/googletest.git external/googletest).
- Открыть проект-шаблон в Qt creator, изучить исходный код, запустить тесты (меню "инструменты" → "тесты" → "Запустить все"), проверить результат запуска тестов.
- Реализовать в отдельном файле функцию вычисления корней квадратного уравнения (ax2+bx+c=0), добавить вызов функции в программу (main), обновить qmake файлы, проверить компиляцию приложения.
- Составить перечень тестов (шаблон документа) проверяющую правильность работы функции (позитивные тесты) и его реакцию на возможные отклонения от стандартного поведения (негативные тесты).
- Реализовать запланированые тесты. Выполнить тестирование. В случае обнаружения ошибки сформировать протокол ошибки (шаблон протокола), выполнить отладку и повторное тестирование.
- Создать на GitHub проект, загрузить полученный проект (код приложения и тестов).
- Подключить автоматический запуск тестов (Github actions),
оценку покрытия кода тестами (https://coveralls.io/) и
статический анализ кода (https://sonarcloud.io).
Добавить ссылки на отчеты о тестировании и оценке покрытия в файл README.md.
Оформление результата
- Исходный код должен быть в репозитории GitHub. Лишние файлы (генерируемые, временные и т.п.) должны отсутствовать.
- Файл README.md должен содержать ссылки-бейджи на Github actions, Coveralls и SonarCloud.
- Код тестируемого модуля должен быть покрыт на 100% в Coveralls
- Отчет в SonarCloud не должен содержать ошибок
- Описание тестов должно присутствовать в репозитории в формате Markdown (рекомендуется завести каталог docs/).
- Перечень тестов должен включать тесты на вещественные корни и комбинации нулевых коэффициентов.
- Ссылка на репозиторий в GitHub должна быть размещена в качестве ответа на соответствующее задание в Moodle.
Дополнительные материалы и литература
|