Технологии разработки программного обеспечения

Стохастическое тестирование


Стохастические тестовые варианты генерируются следующей последовательностью шагов.

1.           Для создания тестов используют списки операций каждого класса-клиента. Операции будут посылать сообщения в классы-серверы.

2.           Для каждого созданного сообщения определяется класс-сотрудник и соответствующая операция в классе-сервере.

3.           Для каждой операции в классе-сервере, которая вызывается сообщением из класса-клиента, определяются сообщения, которые она, в свою очередь, посылает.

4.           Для каждого из сообщений определяется следующий уровень вызываемых операций; они вставляются в тестовую последовательность.

В качестве примера приведем последовательность операций для класса Банк, вызываемых классом Банкомат:

ПроверитьСчет >ПроверитьРIN >[[ПроверитьПолис >

ЗапросСнятия]?ЗапросДепозита?ИнфоСчета]n.

 

ПРИМЕЧАНИЕ

Здесь приняты следующие обозначения: стрелка означает операцию следования, точка — операцию И/ИЛИ, пара квадратных скобок — группировку операций классов, показатель степени — количество повторений группировки из операций классов.

Случайный тестовый вариант для класса Банк может иметь вид

Тестовый вариант N: ПроверитьСчет >ПроверитьРШ >ЗапросДепозита.

Для выявления сотрудников, включенных в этот тест, рассматриваются сообщения, связанные с каждой операцией, записанной в ТВ N. Для выполнения заданий ПроверитьСчет и ПроверитьРТМ Банк должен сотрудничать с классом ПодтверждениеПравильности. Для выполнения задания ЗапросДепозита Банк должен сотрудничать с классом Счет. Отсюда новый ТВ, который проверяет отмеченные сотрудничества:

Тестовый вариант М: ПроверитьСчетБанк >(ПодтвСчетПодтвПрав) >ПроверитьРINБанк >(ПодтвРШПодтвПрав) >ЗапросДепозитаБанк >(ПоложитьСчет).

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



Содержание раздела