|
Тестирование ПО
2024/25 учебный год, Институт математики и информационных технологий, осенний семестр.
Специальности:
- 09.03.02 Информационные системы и технологии (бакалавр, 4 год обучения)
Лектор: К. А. Кулаков
Руководители практик: К. А. Кулаков
Лекции
Задания
- Освоение инструментов тестирования
- Изучить пример проекта
- Реализовать функцию вычисления корней квадратного уравнения.
- Написать план тестирования.
- Опубликовать код приложения и план на Github.
- Реализовать тесты согласно плана.
- Выполнить тестирование приложения.
- Настроить автоматическое тестирование (Github actions), оценку покрытия кода тестами (coveralls.io), статическое тестирование (sonarcloud.io).
- Тестирование многокомпонентного приложения
- Выбор тематики приложения, реализация приложения. Приложение должно содержать не менее 2 классов по 3 метода (включая protected методы) или не менее 2 модулей по 3 функции/процедуры (если используется процедурное программирование).
Должна присутствовать связность между классами/методами/функциями. (4 недели)
- Реализация блочных, интеграционных и аттестационных тестов. (4 недели)
- Документирование, автоматизация запуска на Gitlab/Github. (3 недели)
В результате должен получиться проект на Github/Gitlab, содержащий репозиторий с исходным кодом приложения, кодом тестов и документацией в формате Markdown.
Тесты должны запускаться при изменении кода в репозитории. Корневой каталог репозитория должен содержать ссылку (бейдж) на лог сборки.
Промежуточная аттестация
Текущие данные успеваемости по лабораторным работам.
За 3 пропуска лабораторных занятий без уважительной причины необходимо предоставить реферат в электронном виде на тему лекционного занятия.
Формат Microsoft Word (.doc, .docx). Реферат отправить по почте: kulakov@cs.petrsu.ru.
Требования к реферату:
- Не менее 30 страниц, 12-14 кегль, 1-1.5 межстрочный интервал.
- Авторский текст (показатель проверки на антиплагиат, в т.ч. сгенерированный ИИ не более 20% заимствований).
- Список использованной литературы не менее 3 источников.
Примеры проектов
Пример работы связки Qt + Google Test (gtest) + QtCreator
Пример работы связки cmake + Google Test (gtest)
Инструменты
Библиотеки для тестирования кода
C++
C#
Литература
- В.П. Котляров Основы тестирования программного обеспечения
- C. Канер, Д.Фолк "Тестирование ПО"
- Э. Дастин, Д. Рэшка, Д. Пол "Автоматизированное тестирование программного обеспечения"
- Р. Калбертсон, К. Браун, Г. Кобб "Быстрое тестирование"
- Д. Макгрегор, Д. Сайкс "Тестирование объектно-ориентированного программного обеспечения"
- Л. Тамре "Введение в тестирование программного обеспечения"
- Р. Савин "Тестирование Дот Ком, или пособие по жесткому обращению с багами в интернет-стартапах"
- Э. Хант, Д. Томас "Программист-прагматик. Путь от подмастерья к мастеру"
|