Новости‎ > ‎

Обзор встречи №4. Frameworks.

Отправлено 10 июн. 2011 г., 03:51 пользователем Igor Khrol   [ обновлено 20 июн. 2011 г., 01:37, автор: Uladzimir Kryvenka ]
В среду, 15-го июня, прошла очередная встреча активистов Minsk Automated Testing Community. Встреча проходила в тёплой обстановке митинг-рума компании Logic Software. Спасибо большое им за тёплый приём и кофе с печеньем. :)

Встречу начали с доклада Игоря Хрола.

Доклад, который вы можете посмотреть-прослушать через SlideShare, включал в себе следующие основные части:
  1. Проблемы, стоящие перед автоматизацией тестирования.
  2. Как фреймворк помогает решать эти проблемы.
  3. Какие слои фреймворка соответствуют каким проблемам.
  4. Небольшой обзор полезных подходов на примере инструмента Selenium RC.
Обсуждение после доклада началось с рассмотрения UI Layer. Пара идей из зала:
  • Был предложен вариант хранения локаторов в xml, чтобы поддерживать иерархичность. 
  • Хранение локаторов во внешнем хранилище в принципе не требуется в некоторых текущих проектах, так как вся логика работы с UI элементов закрыта в специальных классах.
Так или иначе все обсуждения по организации UI Layer сводились к тому, чтобы с помощью объектной модели автоматических тестов продублировать иерархию UI элементов на странице браузера или десктопном приложении. Достаточно интересные примеры были приведены из проекта, где в общий фреймворк внесены действия с CodedUI и Selenium, причём при использовании UI Layer'a с этого проекта не имеет значения, как именно будут произведены действия.

Бурную дискуссию вызвала тема того, как контролировать проверки в ре-используемых компонентах фреймворка. Было высказано 3 идеи:
  • Оставлять проверки в ре-используемых кусках кода. Ведь тесты пишутся именно ради проверок и лишняя перепроверка не помешает.
  • Сделать некий "переключатель", который будет контролировать то, запускаются ли проверки в ре-используемых компонентах.
  • Вообще убрать проверки из ре-используемых частей и оставить их только в самих тест-скриптах.
К какому-то общему выводу не пришли. Похоже, все три варианта могут иметь место при некоторых допущениях. Первый вариант увеличивает время выполнения скриптов, последний - добавляет "copy-paste" в тест-скриптах, так как проверки имеют склонность кочевать из одного сценария в другой. 2-й же вариант усложняет структуру кода и может потенциально скатиться к первому, пользуясь логикой того, что тесты и пишутся ради проверок.

Важную часть обсуждения заняло распараллеливание выполнения тестов и связь с precondition-cleanup частями. Тут было высказано тоже несколько рабочих вариантов:
  • Система изначально разбита на несколько независимых подсистем и выполнение тестов на каждой подсистеме происходит параллельно другим.
  • Дизайн тестовых данных производить таким образом, чтобы разные сценарии не работали с одной и той же датой. Этот подход позволят распараллелить дальнейшее выполнение тестов, но не всегда возможен в связи с бизнес-логикой самого продукта.
Также была высказана очень интересная идея о том, что cleanup как таковой не нужен, если его заменить на восстановление базы данных из dupm'а. Процесс восстановления занимает пару секунд и при этом мы обеспечиваем действительно надёжный способ cleanup'a.

Часть дискуссии ушла в сторону обсуждения того, как дать возможность писать тесты людям, имеющим ограниченное понимание технологий программирования. В этом смысле данная тема очень была похожа на обсуждение темы "Кто должен писать автоматические тесты?". Затронули такие подходы как Keyword-driven testing и BDD (Behaivour Driven Development). Ничего определённо нового в BDD не нашли, по сравнению с любым другим подходом к заданию DSL (Domain Specific Language), но основным преимуществом было выделено то, что потенциально данный подход может совместить тестовую документацию и тест-скрипты для автоматизации. Правда, с допущением того, что получившийся язык описания тестовой документации будет понятен всем и процесс будет в первую очередь направлен на автоматизацию, а уж потом на ручное тестирование. Если на проекте ручное тестирование стоит на первом месте, то будет сложно сломить сложившуюся методологию по созданию тестовой документации.

После небольшой кофейной паузы мы возобновили беседу и еще напоследок обсудили некоторые наболевшие вопросы, пока окончательно не вымотались. :)

Ну и несколько фотографий наших довольных лиц напоследок.
Докладчик слушает комментарии из зала.
Девушки на диване сосредоточенно слушают.
Парни напротив не менее напряжённо думают.
Общая фотография собрания. Верхний ряд (слева направо): Ирина Мефодьева, Евгений Лысаков, Наталья Лысакова, Александр Лавринович, Татьяна Салцевич, Анна Сидорова, Юлия Размыслович, Игорь Хрол, Сергей Талалаев. Нижний ряд: Елена Деменчёнок и Владимир Кривенко.

Комментарии