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

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

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

Лабораторная работа 2: Разработка и тестирование многомодульного приложения

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

Задачи (Внимание: отмеченные знаком (*) задачи являются бонусными)

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

Контрольные точки и оценивание

  • 18.02 (2 недели): Согласование тематики проекта (5 баллов).
  • 04.03 (2 недели): Описание проекта и интерфейса пользователя (5 баллов).
  • 18.03 (2 недели): Перечень тестов для приложения (5 баллов).
  • 01.04 (2 недели): Перечень тестов для модулей (5 баллов).
  • 15.04 (2 недели): Реализация 1/3 модулей (5 баллов).
  • 29.04 (2 недели): Реализация тестов для модулей (5 баллов).
  • 13.05 (2 недели): Реализация всего приложения (5 баллов).
  • 27.05 (2 недели): Реализация тестов для приложения Протоколы ошибок и демонстрация модульного тестирования (5 баллов).
  • 10.06 (2 недели): Протоколы ошибок и демонстрация приложения (5 баллов).
За бонусные задачи можно получить дополнительно до 35 баллов. Каждая неделя отставания уменьшает количество баллов контрольной точки в 2 раза (1 неделя - 2,5 балла; 2 недели - 1,3 балла и т.д.).

Возможные средства реализации графического интерфейса пользователя

  1. GTK+
  2. ncurses
  3. Qt (C++)

Примеры тематик приложений

  1. "Файловый навигатор". Приложение может выполнять базовые операции с файлами (создание, изменение, удаление, перемещение, переименование), предоставляет набор операций в зависимости от типа файла, поддерживает редактирование текстовых файлов.
  2. Игровое приложение "Лабиринт". Передвижение пользовательского персонажа по лабиринту. Целью приложения может быть выполнение квестов, сбор предметов, поиск выхода и т.д. В комнатах могут встречаться враги, предметы, задачи и т.д.
  3. "Анализатор структурированных файлов". Приложение может выполнять различные задачи с структурированными файлами. Примерами структурированных файлов могут выступать xml, json, логи приложений. В качестве задач могут выступать проверка правильности составления файла, поиск информации, создание, изменение или удаление данных, конвертация файла в другой формат.
  4. "Конвертер файлов". Приложение выполняет преобразование файлов. В качестве файлов могут выступать архивы, изображения или другие структурированные файлы. В качестве преобразований могут выступать распаковка/упаковка информации, преобразование данных (например, изменение размера изображения), преобразование формата (например, конвертация из jpg в bmp).
  5. Ваша идея, согласованная с преподавателем. Приложение должно содержать несколько модулей и обеспечивать выполнение нескольких вункциональных возможностей.