Любой протокол реализуется техническим устройством либо может быть записан в виде пакета программ. В обоих случаях речь идет о протокольных реализациях. Естественно, что различные производители даже для одинаковых типов электронных машин создают разные реализации одного и того же протокола. Еще более сложный случай имеет место при реализации протокола в различных типах электронных машин, работающих с разными операционными системами. Во всех случаях возникает проблема конформности – соответствия созданного изделия (устройства, программы) установленным на него спецификациям. Оно определяется тестированием изделия на предмет соответствия определенному протоколу. Естественно, что тестирование должно производить независимая организация, не участвовавшая в создании этого изделия.
В структуре, показанной на рис. 14.1, тестирование на соответствие протоколу X заключается в сравнении тестируемого изделия с эталонной реализацией.
Рис. 14.1. Схема тестирования изделия.
При этом предполагается, что эталонная реализация строго и безошибочно выполняет все требования принятого протокола. Под эталонной реализацией и тестируемым изделием располагаются уже протестированные нормально функционирующие нижние уровни. Тестер является сложным информационным комплексом, способным вести обработку тестов, отображать получаемую информацию нужным образом, хранить данные в своей базе. Ему должен соответствовать тестовый ответчик, являющийся партнером по проводимой работе. Тестер и тестовый ответчик взаимодействуют друг с другом, осуществляя работу в соответствии с протоколом тестирования. Этот протокол определяет уведомление о начале и конце сеанса тестирования, проведение синхронизации действий партнеров, обеспечение индикации ошибок и неисправностей. Естественно, что тестер должен иметь возможности генерации контрольных примеров, на основе которых происходит проверка.
При тестировании используются два приема. При структурном тестировании осуществляется доступ внутрь тестируемого изделия (способ "белого ящика"). При функциональном тестировании исходят из того, что внутренность тестируемого изделия недоступна (способ "черного ящика"). В обоих случаях необходимо иметь эталонную реализацию.
С точки зрения теории тестируемое изделие рассматривается как конечный автомат, определяемый таблицей либо диаграммой переходов. Анализ начинается из начального состояния, при этом осуществляются все возможные переходы из одного состояния в другое. Исследуется реакция выходных сигналов изделия на входные воздействия.