Внутри “черного ящика” с объектами
КРИТИЧНО ДЛЯ БИЗНЕСА
Есть такие вещи, которых просто не хочется знать. Например, в самом ли деле твоя собака изжевала итальянский кожаный пиджак соседа? Но бывает, что необходимо знать все - и хорошее, и плохое, и откровенно страшное.
И оба этих сценария возможны, когда дело доходит до программного обеспечения, а если говорить конкретнее - до средств разработки клиент-серверных приложений, которые в своей основе могут быть объектно-ориентированными или объектно-базированными. Модель, представляемую этими средствами, разработчик использует при построении своего приложения путем определения и создания объектов. Пользователю эти объекты обычно являются в виде управляющих элементов графического интерфейса пользователя (ГИП), таких, как окна списков или управление сеткой. Каждый из них обладает набором свойств, или атрибутов, определяющих его внешний вид и поведение. При работе приложения объекты обмениваются сообщениями, изменяя значения своих свойств.
Свойства объекта часто визуализуются с помощью VBX (Visual Basic Extension), представляющих собой по сути “черный ящик”, управляемый путем задания свойств и методов. Например, представьте себе, что вы создали объект, отображаемый на экране как кнопка с независимой фиксацией. У этого объекта есть видимые свойства, такие, как “фиксирование”, “обладание фокусом ввода” и т. д. Проверить их можно, запустив приложение на выполнение. Возможность протестировать свойства очень важна для элементов VBX.
То же самое относится и к объектам OCX (нестандартные управляющие элементы OLE).
Но объекты более сложные нельзя полностью протестировать простым прогоном приложения. Например, окна данных (DataWindow) в PowerBuilder определяются сотнями свойств, большая часть которых невидимы. И многие из этих свойств управляют взаимодействием окна данных с СУБД, например, с помощью запросов, “какой SQL-запрос отправит окно данных к СУБД?” или “какое выражение используется для расчета значения в вычисляемом столбце?”. Такие свойства невозможно протестировать наблюдением за работой приложения.
Чем шире мы используем при построении приложений распределенные объекты, тем точнее мы должны знать, как эти объекты работают. Для этого тестирование программ следует перевести на новый уровень - тестирование объектов. Мы должны проникнуть вглубь свойств объектов VBX, OCX и специфических для используемых средств компонентов, чтобы точно знать, что там на самом деле происходит. Тестирование объектов заключается в контроле всех или избранных свойств объекта и проверке, содержат ли они ожидаемые значения.
Важность тестирования объектов возрастает, по мере того как в приложениях принимаются многоуровневые модели, состоящие из СУБД, объектов приложения и распределенных по разным машинам ГИП. Пока что я знаю только одного поставщика средств тестирования, которые поддерживают тестирование объектов. Это фирма SQA (Уобурн, шт. Массачусетс). Ее средство тестирования Object Testing работает с любым стандартным управляющим объектом Windows и имеет специальные расширения для Visual Basic, PowerBuilder и SQLWindows.
С днем Благодарения вас! И займитесь изучением того, чего вы раньше знать не хотели!
Кристина Комафорд
Тестирование объектов заключается в контроле всех или избранных свойств объекта и проверке, содержат ли они ожидаемые значения