(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Лабораторная работа 2: Функциональное тестирование

Цель работы: реализация тестов для модуля приложения.

Задачи:

  1. Подготовить проект-шаблон для добавления модуля.
  2. Из 7 задания "Командный текстовый редактор" дисциплины "Основы информатики и программирования" добавить в проект-шаблон файлы, содержащие функции сохранения содержимого (save), индивидуального задания по выводу текста, индивидуального задания и перемещения курсора (m), и индивидуального задания функции - операции со списками (должно получиться 5 функций).
  3. Проверить компиляцию проекта, при необходимости добавить требуемые зависимости в проект.
  4. Составить перечень тестов (шаблон документа) проверяющую правильность работы функций (позитивные тесты) и его реакцию на возможные отклонения от стандартного поведения (негативные тесты).
  5. Реализовать запланированые тесты. Выполнить тестирование. В случае обнаружения ошибки сформировать протокол ошибки (шаблон протокола), выполнить отладку и повторное тестирование.
  6. Зарегистрироваться в GitHub, создать проект, загрузить полученный проект (код приложения и тестов). Пример готового проекта на GitHub.
  7. Подключить автоматический запуск тестов (https://travis-ci.org/), оценку покрытия кода тестами (https://coveralls.io/) и статический анализ кода (https://sonarcloud.io). Добавить ссылки на отчеты о тестировании и оценке покрытия в файл README.md.

Оформление результата

  • Исходный код должен быть в репозитории GitHub
  • Файл README.md должен содержать ссылки-бейджи на Travis-CI, Coveralls и SonarCloud.
  • Код тестируемого модуля должен быть покрыт на 100% в Coveralls
  • Отчет в SonarCloud не должен содержать ошибок
  • Описание тестов должно присутствовать в репозитории (рекомендуется завести каталог docs/)
  • Ссылка на репозиторий в GitHub должна быть размещена в качестве ответа на соответствующее задание в Moodle

Дополнительные материалы и литература