Для тестирования сотрудничества классов могут использоваться различные способы [43]:
q стохастическое тестирование;
q тестирование разбиений;
q тестирование на основе сценариев;
q тестирование на основе состояний.
В качестве примера рассмотрим программную модель банковской системы, в состав которой входят классы Банк, Банкомат, ИнтерфейсБанкомата, Счет, Работа с наличными, ПодтверждениеПравильности, имеющие следующие операции:
| Банк: | ||
| ПроверитьСчет(); | ЗапросДепозита (); | РазрешитьКарту(); |
| ПроверитьРIN(); | ИнфоСчета(); | СнятьРазрешен(); |
| ПроверитьПолис(); | ОткрытьСчет(); | ЗакрытьСчет(). |
| ЗапросСнятия(); | НачальнДепозит(); | |
| Банкомат: | ||
| КартаВставлена(); | Положить(); | СостояниеСчета(); |
| Пароль(); | Снять(); | Завершить(). |
| ИнтерфейсБанкомата: | ||
| ПроверитьСостояние(); | ВыдатьНаличные(); | ЧитатьИнфоКарты(); |
| СостояниеПоложить(); | ПечатьСостСчета(); | ПолучитьКолвоНалич(). |
| Счет: | ||
| ОграничКредит(); | Остаток)); | Положить(); |
| ТипСчета(); | Снять(); | Закрыть(). |
| ПодтверждениеПравильности: | ||
| ПодтвРIN(); | ПодтвСчет(). |
Диаграмма сотрудничества объектов банковской системы представлена на рис. 16.1. На этой диаграмме отображены связи между объектами, стрелки передачи сообщений подписаны именами вызываемых операций.

Рис. 16.1. Диаграмма сотрудничества банковской системы