Selenium WebDriver и SpecFlow на практике: QA-специалист EffectiveSoft поделился с коллегами опытом в автоматизации тестирования.

/ / Selenium WebDriver и SpecFlow на практике: QA-специалист EffectiveSoft поделился с коллегами опытом в автоматизации тестирования.

Недавно в нашей Компании прошел тренинг по автоматизированному тестированию “Selenium WebDriver и SpecFlow на практике”. Тренинг состоял из двух частей: теории и практики. Проводил занятия наш QA-специалист Павел. Он с “предметом разговора” знаком не понаслышке — успешно внедрил эти технологии на своем проекте, — поэтому тренинг получился содержательным и интересным.

Слушатели попробовали свои силы в автоматизации, получили базовые знания, необходимые для того, чтобы дальше изучать автоматизацию самостоятельно.

Слушатели попробовали свои силы в автоматизации, получили базовые знания, необходимые для того, чтобы дальше изучать автоматизацию самостоятельно.

Отзывы слушателей

— На тренинг решила пойти, потому что было интересно познакомиться поближе с автоматизацией тестирования, а также попробовать свои силы. Павел справился с ролью преподавателя на все 100%: объяснял, помогал разобраться и морально поддерживал. Времени на выполнение задания ушло немало, но оно было потрачено с пользой. Сложнее всего было постигнуть основы программирования. Пришлось прочитать большое количество материалов на тематических ресурсах.

Пока что мне не удалось применить новые знания на практике, но все еще впереди. В любом случае, для тестировщика полезно заглянуть «по ту сторону кода». В моих планах — изучение автоматизации мобильных приложений. И опыт, полученный на тренинге, очень пригодится, — поделилась впечатлениями о тренинге наша QA-специалист Анна.

Ее коллега Майя тоже успешно освоила курс:

— Автоматизация – очень полезная штука. С ее помощью, например, можно существенно сократить время на регрессионное тестирование, быстро проверив уже давно отлаженный функционал. Это существенно упрощает жизнь на больших проектах.

Начало, как правило, самое легкое, сложности обычно возникают в процессе углубления в тему – по принципу «чем дальше в лес…»

А на курсы пошла, т.к. программирование мне всегда нравилось. И хотя в свое время решила остаться в тестировании, не забыла выражение «нет предела совершенству»: никогда наверняка не знаешь, что и где тебе может пригодиться.

 

Подробнее о тренинге — из первых уст

 

— Павел, расскажите, почему Selenium WebDriver и SpecFlow?

— Мне интересна автоматизация. Сам долгое время ждал подобного тренинга. С Selenium WebDriver знаком давно. SpecFlow освоил уже во время работы в EffectiveSoft. Предложил использовать эти инструменты на реальном проекте, и мою идею поддержали. Сначала писал тест-кейсы с помощью WebDriver – на Java, потом, из-за нужд проекта, тесты были переписаны на С#. Кроме того, нужна была документация и отчетность. Тут мне на помощь пришел SpecFlow. С ним намного легче продемонстрировать весь процесс работы над проектом, сгенерировать документацию, например, описать фичи и сценарии, «прикрутить» отчеты. Selenium WebDriver и SpecFlow – очень хорошая связка для автоматизированного тестирования.

— Под Вашим чутким руководством коллегам намного проще освоить эти инструменты. А как Вы сами их изучили?

— Вот, пока ждал тренинга, потихоньку самостоятельно изучал. На самом деле, это несложно, если есть желание изучать что-то новое, развиваться и расти профессионально. Да, первое знакомство было не из легких. Много времени ушло на поиск полезной информации: в Интернете хватает видео, но не все ролики одинаково информативны. Потихоньку втянулся и разобрался.

— Почему решили поделиться опытом с коллегами?

— Я преследовал сразу две цели. Во-первых, совершенствоваться. Когда о чем-то рассказываешь, всегда находятся люди, которые задают дополнительные вопросы. И среди этих вопросов наверняка окажется тот, о котором я сам не задумывался. Таким образом, в процессе обучения коллег я и сам обучаюсь. Когда ты все рассказываешь-показываешь и вдруг сталкиваешься с проблемой – от этого получаешь удовольствие. Начинаешь разбирать проблемные места. У ребят другие взгляды, а значит и другие идеи по применению этих инструментов.

Вторая цель – реализовать детскую мечту. В детстве я хотел стать учителем.

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

— На какие вопросы слушателей отвечали чаще всего?

— На вопрос «Как это работает?». И еще один популярный вопрос: «Не находит элементы. Почему?».

— Почему же?

— Ну потому, что нужно правильно выбирать идентификатор и ждать появление элемента.

Вспомнил! Еще один часто задаваемый вопрос: «будет ли сегодня домашнее задание?»

— Насколько строгий преподаватель из Вас получился?

— Я был достаточно лояльным, не сильно придирался к домашней работе. Надо трезво оценивать ситуацию: мы люди взрослые и занятые, и если есть возможность потренироваться – здорово! Честно признаться, я и сам не люблю «домашки». Тут уже вопрос времени и мотивации: все понимают, что делают это для себя.

 

От идеи – к реализации

 

— Как в Компании восприняли предложение провести такой тренинг?

— Отлично! Первыми отозвались PM: хвалили за инициативу, поддержали. После анонса «посыпался» поток желающих. Я не ожидал такого ажиотажа. Причем записались даже те, кто уже владеет этими инструментами: им тоже интересно было меня послушать и высказать свое мнение о качестве тренинга и о применении Selenium WebDriver и SpecFlow. Записались почти все наши тестеры! Я сделал обзорную презентацию, в которой рассказал основные принципы работы с инструментами. Всем понравилось. Заинтересовались и попросили провести практические занятия. Всего было 10 занятий по 1,5 часа, которые проходили в офисе с периодичностью два раза в неделю. На получение новых знаний ушло больше месяца, но это того стоило.

Мы работали с нашим собственным приложением — Intellexer API. Каждому слушателю было дано индивидуальное задание – протестировать ту или иную фичу.

— Какого эффекта Вы ожидали от занятий?

— Я хотел, чтобы ребята осознали процесс автоматизации и научились писать простые тесты. Благодаря усердию и любознательности, все мои слушатели справились с поставленными задачами!

 — Неужели все прошло «без сучка и задоринки»?

— Естественно! Все проблемы мы преодолели. Самый неожиданный и, на мой взгляд, забавный случай произошел уже на втором занятии, когда я спросил у аудитории: кто знает программирование? Дело в том, что программирование и автоматизация идут по жизни вместе.

Были занятия, когда приходилось уделять особое внимание какому-то определенному моменту, на это уходило время. А были занятия, когда успевал объяснить большой объем информации.

Иногда я слишком увлекался рассказами. Как-то объяснял метод нахождения элемента по ряду критериев. Писал на доске. Всем всё понятно было. Потом объяснил вторую вещь. Нужно использовать или первую, или вторую — в зависимости от того, уникальный этот элемент или нет. Если не уникальный – то есть куча вариантов. В общем, исписал всю доску! Обернулся – и увидел озадаченную группу.

Постфактум

 

— Что, помимо знаний, останется на память о тренинге?

— Много чего! Мы записывали видео. Ролики можно пересмотреть, вспомнить информацию. Также сохранился дополнительный материал по курсу: тексты лекций, список полезных источников. Впереди — еще много нового. Ребятам предстоит столкнуться с множеством трудностей на пути к покорению автоматизации, как, впрочем, и мне.

— Тренинг завершился. Что дальше?

— Даже немного грустно. Когда обучаешь людей, по-другому живешь: чаще встречаешься с коллегами, общаешься с ними на серьезные профессиональные темы, а не просто «привет-пока». Я буду продолжать совершенствоваться в автоматизации, изучать новые «фишки» в этих же инструментах, а также следить за новыми продуктами. Другим рекомендую делать то же самое, не забрасывать. Иначе будет сложно вспомнить.

Для читателей, которые не были на моем тренинге и хотят подробнее узнать о Selenium WebDriver и SpecFlow, рекомендую посмотреть следующие ссылки:

·         http://docs.seleniumhq.org/

·         http://​selenium2.ru

·         http://www.specflow.org/documentation/

 

Татьяна Иваненко