Доброго времени суток!
Есть задача тестирования качества некоторой сложной системы. Понятие качества в данном случае является субъективным (по сути это удовлетворенность пользователей от работы системы), для его оценки применяются экспертные знания и оценки.
Хочется систему поддержки тестирования, в которой можно следующее:
1) Эксперты заводят области использования, в рамках которых группируются все остальные данные.
2) Эксперты заводят случаи использования, обсуждают их, отправляют в обработку, осуществляют слияние дублированных случаев, отправляют случаи в неактуальные.
3) Эксперты обрабатывают случаи использования, формируя для каждого список входных данных (один экземпляр случая - много экземпляров входных данных), далее работа с каждым экземпляром входных данных: несколько экспертов независимо описывают идеальную реакцию системы, затем группируют наработки и достигают взаимопонимания (делают одно описание идеальной реакции); другие эксперты рецензируют результат (если есть отрицательные рецензии, экземпляр отправляется на доработку, если есть две и более положительные рецензии, экземпляр отправляется в дальнейшую работу). Дополнительно экземпляры входных данных могут поступать из службы взаимодействия с пользователями, обрабатываться должны так же, как и сформулированные экспертами.
4) Для каждого экземпляра входных данных каждая тестируемая версия системы выдает результат обработки. По результатам автоматического сравнения идеальной и реальной выдачи системы вычисляются оценки показателей качества.
5) Для каждого экземпляра входных данных для каждой тестируемой версии системы несколько экспертов оценивают выдачу системы и выставляют оценки некоторых показателей качества. Эти значения усредняются (тут возможны варианты) в общие оценки по каждому экземпляру.
6) Полученный набор троек версия системы/экземпляр входных данных/оценка для всех показателей качества (вычисляемых автоматически и экспертно) статистически обрабатывается, вычисляются объединенные оценки по областям использования и по системе в целом.
7) Оценки показателей качества анализируются как на предмет абсолютных значений для каждой конкретной версии системы (и, по желанию аналитика, для каждого конкретного экземпляра входных данных), так и на предмет изменения между версиями. Тут сильно желательны инструменты для облегчения такого анализа.
Требуется возможность легко и непринужденно добавлять произвольные свойства объектам, с которыми ведется работа (области использования, случаи использования, экземпляры входных данных) и возможность легко интегрироваться со сторонним ПО (например, нужна возможность от экземпляра входных данных перейти к интерфейсу произвольной версии системы, где отображается ее выдача на эти данные, или экспертам нужен переходный интерфейс между системой ведения тестовых данных и тестируемой системой, чтобы удобно было формировать идеальную выдачу).
Есть некоторые сомнения, что такая штука существует готовая, поэтому я рассматриваю варианты переделки чего-то частично похожего. Например, задача ведения случаев использования / экземпляров входных данных выглядит достаточно типовой и напоминает системы контроля требований / ошибок. Соответственно, интересны мнения на тему того, что можно взять за основу.