|
Процесс разработки - Стохастическое тестирование |
Страница 26 из 37
Стохастическое тестирование
Стохастические тестовые варианты генерируются следующей последовательностью шагов. 1. Для создания тестов используют списки операций каждого класса-клиента. Операции будут посылать сообщения в классы-серверы. 2. Для каждого созданного сообщения определяется класс-сотрудник и соответствующая операция в классе-сервере. 3. Для каждой операции в классе-сервере, которая вызывается сообщением из класса-клиента, определяются сообщения, которые она, в свою очередь, посылает. 4. Для каждого из сообщений определяется следующий уровень вызываемых операций; они вставляются в тестовую последовательность. В качестве примера приведем последовательность операций для класса Банк, вызываемых классом Банкомат: ПроверитьСчет ?ПроверитьРIN ?[[ПроверитьПолис ? ЗапросСнятия]?ЗапросДепозита?ИнфоСчета]n.
ПРИМЕЧАНИЕ Здесь приняты следующие обозначения: стрелка означает операцию следования, точка — операцию И/ИЛИ, пара квадратных скобок — группировку операций классов, показатель степени — количество повторений группировки из операций классов.
Случайный тестовый вариант для класса Банк может иметь вид Тестовый вариант N: ПроверитьСчет ?ПроверитьРШ ?ЗапросДепозита. Для выявления сотрудников, включенных в этот тест, рассматриваются сообщения, связанные с каждой операцией, записанной в ТВ N. Для выполнения заданий ПроверитьСчет и ПроверитьРТМ Банк должен сотрудничать с классом ПодтверждениеПравильности. Для выполнения задания ЗапросДепозита Банк должен сотрудничать с классом Счет. Отсюда новый ТВ, который проверяет отмеченные сотрудничества: Тестовый вариант М: ПроверитьСчетБанк ?(ПодтвСчетПодтвПрав) ?ПроверитьРINБанк ?(ПодтвРШПодтвПрав) ?ЗапросДепозитаБанк ?(ПоложитьСчет). В этой последовательности операции классов-сотрудников Банка помещены в круглые скобки, индексы отображают принадлежность операций к конкретным классам. |