31 янв. 2006г. Состоялась встреча команды разработчиков и заказчика системы.

Основные результаты:

1. Как позиционируется система?

В настоящий момент система рассчитывается на использование в локальной сети предприятия. Однако, было решено не делать существенного различия между использованием системы в локальной сети и в условиях открытого Интернета.

2. Первоначальные требования по безопасности

На первом этапе решено не рассматривать угрозы взлома системы извне и не делать какой-либо необычной системы, обеспечивающий высокую безопасность. Вопросы изоляции среды исполнения также могут быть пока отложены.

Роли пользователей, описанные здесь достаточно хорошо соответствуют реальности.

Предполагается использование стандартных механизмов авторизации: сессии, HTTPS (SSL), доступ с помощью пароля и имени пользователя.

3. Требования к производительности

Первоначально система рассчитывается на десятки пользователей, объединенных в одну группу, и сотни юнит-тестов в течении 12 часов.

Пример использования системы: Ночью выделенный сервер собирает проект и отправляет его на тестирование. К утру результаты тестирования должны быть получены

4. Архитектура системы и её развертывание

Система будет представлять собой клиент-серверную систему.

Внешние системы. Предполагается использовать БД MySQL для хранения данных. Альтернатива MySQL - PostgreSQL. Предполагается начинать с поддержки ОС Linux как для серверных, так и для клиентских компонент.

5. Функциональные требования

Под unit-тестом понимается самодостаточный код, который дает в простейшем случае один из следующих ответов:

Клиентская часть системы должна быть способна работать в любом из 3-х режимов:

В любом из этих режимов клиентская система в некоторый момент выходит на связь с сервером и сообщает сведения о себе. Это означает готовность клиентской машины исполнять тесты. После чего, в соответствии с требованиями по планированию, сервер может выдать клиенту задание. В течение всего последующего времени клиент и сервер поддерживают соединение (keep-alive). В случае остановки клиента и отказа от выполнения задания, он посылает серверу уведомление об этом, либо сервер ждет истечения таймаута и считает, что клиент прервал выполнение теста.

Система должна поддерживать JUnit тесты. Мы отказываемся от самопальных методик тестирования.

Требования по планированию:

6. Планы на будущее.

Какие планы?! Какое будущее?! :) Команду разработчиков напугали предстоящим учебным процессом и сказали, что времени не будет. Поэтому, пока никто не отделался от шока, было решено, что будем доделывать пакет для Debian/Red Hat и отдаем на тестирование прототип системы. После чего собираем сведения и результаты тестирования.