Генерирование тестов
От: Дмитрий Писаренко Россия http://dmitripisarenko.me
Дата: 02.03.11 09:24
Оценка:
Здравствуйте!

Есть цель — протестировать некую сложную систему, поведение которой определяется правилами. Сейчас правила записаны в полу-формальной форме (текст плюс псевдокод).

Надо сделать тесты, которые покрывают максимально возможное количество состояний системы.

Я хочу ускорить этот процесс следующим образом:

1) Формализовать правила, например, на Drools
2) Автоматически сгенерировать перечень всех возможных ситуаций

Пример. Есть некий пакет с 2 правилами:

global List outErrorCodes;
global Boolean condition1;
global Boolean condition2;
global Boolean condition3;

rule "01"
    when
        eval( condition3 == false);     
    then 
        outErrorCodes.add("ERROR_CODE1");
end

rule "02"
    when
        eval((condition1 == true) && (condition2 == true));
    then
        outErrorCodes.add("ERROR_CODE2");
end


condition1, condition2 и condition3 описывают некую ситуацию, в которой находится система. outErrorCodes описывает ожидаемое поведение системы в данной ситуации.

Мне нужен механизм, который на основе этих правил автоматически сгенерирует перечень всех возможных пар (Ситуация; Ожидаемое поведение).

Примеры пар:

1) Ситуация: condition1==false, condition2==false, condition3==false Ожидаемое поведение: outErrorCodes ["ERROR_CODE1"]
2) Ситуация: condition1==false, condition2==false, condition3==true Ожидаемое поведение: outErrorCodes []

Я предполагаю, что я не первый представитель человечества, который сталкивается с этой задачей.

Вопрос: Как её можно решить?

Меня интересуют как готовые софтовые решения, так и матчасть (на какие алгоритмы стоит посмотреть).

Заранее благодарен

Дмитрий
Дмитрий Писаренко

http://dmitripisarenko.me
drools
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.