|
Лабораторная работа 2: Разработка и тестирование многомодульного приложения
Цель работы: организация тестирования многомодульного приложения
Задачи (Внимание: отмеченные знаком (*) задачи являются бонусными)
- Организавать команду проекта в количестве 2 человек и выбрать тему проекта.
- Составить описание проекта с распределением модулей.
- (*) Разработать проект графического интерфейса пользователя.
- Реализовать проект в соответствии с описанием.
- Составить перечень тестов (шаблон документа) проверяющую правильность работы модулей по отдельности и приложения в целом (позитивные тесты) и их реакции на возможные отклонения от стандартного поведения (негативные тесты).
- Реализовать запланированые тесты. Выполнить тестирование. В случае обнаружения ошибки сформировать протокол ошибки (шаблон протокола), выполнить отладку и повторное тестирование.
- (*) Создать проект на GitHub, выполнять разработку с использованием системы контроля версий (набор коммитов).
- (*) Подключить автоматический запуск тестов (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 балла и т.д.).
Возможные средства реализации графического интерфейса пользователя
- GTK+
- ncurses
- Qt (C++)
Примеры тематик приложений
- "Файловый навигатор". Приложение может выполнять базовые операции с файлами (создание, изменение, удаление, перемещение, переименование),
предоставляет набор операций в зависимости от типа файла, поддерживает редактирование текстовых файлов.
- Игровое приложение "Лабиринт". Передвижение пользовательского персонажа по лабиринту. Целью приложения может быть выполнение квестов, сбор предметов, поиск выхода и т.д.
В комнатах могут встречаться враги, предметы, задачи и т.д.
- "Анализатор структурированных файлов". Приложение может выполнять различные задачи с структурированными файлами. Примерами структурированных файлов могут выступать xml, json, логи приложений.
В качестве задач могут выступать проверка правильности составления файла, поиск информации, создание, изменение или удаление данных, конвертация файла в другой формат.
- "Конвертер файлов". Приложение выполняет преобразование файлов. В качестве файлов могут выступать архивы, изображения или другие структурированные файлы.
В качестве преобразований могут выступать распаковка/упаковка информации, преобразование данных (например, изменение размера изображения), преобразование формата (например, конвертация из jpg в bmp).
- Ваша идея, согласованная с преподавателем. Приложение должно содержать несколько модулей и обеспечивать выполнение нескольких вункциональных возможностей.
|