Основные результаты:
В настоящий момент система рассчитывается на использование в локальной сети предприятия. Однако, было решено не делать существенного различия между использованием системы в локальной сети и в условиях открытого Интернета.
На первом этапе решено не рассматривать угрозы взлома системы извне и не делать какой-либо необычной системы, обеспечивающий высокую безопасность. Вопросы изоляции среды исполнения также могут быть пока отложены.
Роли пользователей, описанные здесь достаточно хорошо соответствуют реальности.
Предполагается использование стандартных механизмов авторизации: сессии, HTTPS (SSL), доступ с помощью пароля и имени пользователя.
Первоначально система рассчитывается на десятки пользователей, объединенных в одну группу, и сотни юнит-тестов в течении 12 часов.
Пример использования системы: Ночью выделенный сервер собирает проект и отправляет его на тестирование. К утру результаты тестирования должны быть получены
Система будет представлять собой клиент-серверную систему.
Внешние системы. Предполагается использовать БД MySQL для хранения данных. Альтернатива MySQL - PostgreSQL. Предполагается начинать с поддержки ОС Linux как для серверных, так и для клиентских компонент.
Под unit-тестом понимается самодостаточный код, который дает в простейшем случае один из следующих ответов:
Клиентская часть системы должна быть способна работать в любом из 3-х режимов:
В любом из этих режимов клиентская система в некоторый момент выходит на связь с сервером и сообщает сведения о себе. Это означает готовность клиентской машины исполнять тесты. После чего, в соответствии с требованиями по планированию, сервер может выдать клиенту задание. В течение всего последующего времени клиент и сервер поддерживают соединение (keep-alive). В случае остановки клиента и отказа от выполнения задания, он посылает серверу уведомление об этом, либо сервер ждет истечения таймаута и считает, что клиент прервал выполнение теста.
Система должна поддерживать JUnit тесты. Мы отказываемся от самопальных методик тестирования.
Требования по планированию:
Какие планы?! Какое будущее?! :) Команду разработчиков напугали предстоящим учебным процессом и сказали, что времени не будет. Поэтому, пока никто не отделался от шока, было решено, что будем доделывать пакет для Debian/Red Hat и отдаем на тестирование прототип системы. После чего собираем сведения и результаты тестирования.