Перейти к содержимому

IIv21AAP

Регистрация: 11 сен 2009
Offline Активность: 05 ноя 2012 14:09
-----

Мои сообщения

В теме: Object Driven Testing

15 сентября 2009 - 07:04

Здравствуйте.

Кстати, а для каких задач необходимо использовать ООП при написании скриптов для автоматизации тестирования?

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


Здравствуйте, Dmitry N.

Опять же, были ли у Вас ситуации, когда задачу необходимо (или целесообразней) было решать в терминах ООП? Если можно, приведите пример такой задачи.
ИМХО, скрипт должен реализовать прогон тестсьюта (ну и плюс некие подготовительные действия для приведения тестируемого приложения в заданное состояние), который по определению состоит из набора простых операций и проверок результатов. Так зачем же здесь ООП?

В теме: Object Driven Testing

14 сентября 2009 - 20:35

Поковырял некоторое время ОДТ - нашел только два плюса:
1) архитектура теста становится более наглядной при условии правильного подбора имен объектов, а также их свойств и методов.
2) V-образный рекурсивный запуск методов объектов. (Сначала проходим дерево объектов сверху вниз и запускаем все методы, у которых свойство IsInit = True, а затем проходим дерево обратно снизу вверх и запускаем все методы, у которых свойство Enabled = True)

ODT можно использовать просто как фреймворк для реализации ООП. Актуально только для DelphiScript, так как остальные языки имеют встроенные возможности для реализации ООП.


1) Ну, допустим, в VBScript такой возможности нету

2) При использовании классов в JScript появляется одна неприятная особенность: невозможно перейти к методу с помощью Ctrl+click. Плюс, когда я использовал классы джаваскриптовые, там были какие-то проблемы с переходом к нужному коду из логов (т.е. появилась ошибка, но по клику открывается не то что нужно)


Кстати, а для каких задач необходимо использовать ООП при написании скриптов для автоматизации тестирования?

В теме: Object Driven Testing

11 сентября 2009 - 15:35

Спасибо за ответ.

1. Насколько я понимаю, это основное примение, которое было заложено в эту идею. В виде классов описывается некоторый тест. Свойства класса - параметры теста, а методы - его действия/основная функциональность. Когда создаётся инстанс класса, то необходимо заполнить его параметры значениями, которые будут использоваться в тесте. При выполнении инстанса класса, все его методы, помеченные как активные (или что-то в этом роде) выполняются автоматически.


Т.о. "скелет" теста переносится из основной функции в дерево классов? Что это дает? Какие преимущества данного подхода? Ведь при этом программный только усложняется (добавляются процедуры создания дерева классов, объявления объектов, определения значений параметров объектов, добавления методов и управления состоянием процедур).

2. ODT можно использовать просто как фреймворк для реализации ООП. Актуально только для DelphiScript, так как остальные языки имеют встроенные возможности для реализации ООП.

Я не очень силен в ООП, но ODT мне кажется неполноценной ее реализацией.

Dmitry N, у Вас были ситуации, когда ODT был необходим для решения той или иной задачи или существенно упрощал ее решение.

Спасибо за пример кода - помогло решить проблему с доступом к объектам и методам!