Из моего рассказа на подкасте Testing In the Pub многие знают, как меня ценят на моей работе. Меня всегда приглашают на kick off-встречи, на которых мы говорим о том, что мы создаем и почему, и команды просят меня составить ментальные карты для тестирования.
Однако так я работала не всегда. Всегда важно понимать, что изменения могут зависеть лично от вас. На моем нынешнем месте работы изменения произошли еще до того, как я сюда пришла, поэтому дам несколько советов, основываясь на своем опыте на предыдущей работе, где я была первым и единственным тестировщиком.
Раньше я работала в компании, которая выпускала вполне успешный продукт, уже вышедший на окупаемость, но отдела тестирования у них не было. Когда я спросила, а как же они тестируют, они ответили, что у них нет тестировщиков – продакт-оунеры и заинтересованные лица тестируют самостоятельно, плюс имеется большой набор фронт-энд автотестов.
Они все-таки решили нанять меня, а потом – целую команду тестировщиков. О том, как это произошло и чему я научилась, я и хочу рассказать.
После прохождения тренинга вы научитесь разрабатывать автоматизированные тесты для веб-приложений с использованием инструмента Selenium IDE. От участников не требуется никакой предварительной подготовки в области автоматизации тестирования, не требуется умение программировать, не требуется предварительное знакомство с Selenium или иным инструментом автоматизации. Стартуем с нулевой отметки.
Чем же новая версия тренинга отличается от предыдущей?
Во-первых, мы записали тренинг в более удобном формате. Материал представлен в виде серии небольших модулей средней продолжительностью около 10 минут. Такие короткие лекции проще усваиваются, чем длинный непрерывный рассказ.
Во-вторых, мы полностью переработали программу тренинга. За счёт более компактного и насыщенного изложения материала мы смогли без увеличения времени и стоимости тренинга добавить целый ряд новых тем. В них рассмотриваются вопросы, которые часто задавали участники предыдущих тренингов:
-- объяснение принципов работы XPath и CSS локаторов,
-- различие между некоторыми похожими командами (click и clickAt, type и sendKeys),
-- использование ожиданий, выполнение фрагментов JavaScript-кода,
-- усложнение логики сценариев при помощи расширения SelBlocks,
-- загрузка тестовых данных из внешнего файла (Data Driven Testing).
В третьих, появились новые интересные домашние задания. Участникам предостоит автоматизировать несколько сценариев в реальном веб-магазине, имеющем достаточно сложный интерфейс с динамическими элементами.
Да, пожалуй, у нас получился самый лучший в мире тренинг, посвящённый инструменту Selenium IDE!
И конечно всё это (как в любом нашем тренинге) сопровождается поддержкой тренера, готового отвечать на самые каверзные вопросы и помогающего вам освоить все возможности инструмента.
Прошло четыре месяца как мы записали новый курс и мы снова запускаем очередную группу новой версии тренинга “Программирование на Java для тестировщиков” (последнии лекции курса были записаны только к началу мая). Уже можно почитать обзор о том, как прошел курс и первые отзывы участников, которые мы спонтанно собрали на нашем форуме.
Этот курс, предназначенный для обучения тестировщиков программированию на языке Java, является одним из самых популярных курсов в нашей линейке.
Обратите внимание, что это курс именно для тестировщиков. Обучение программированию не сводится только к изучению языка программирования. Построение правильной архитектуры, использование фреймворков и библиотек, владение инструментами разработки и отладки -- это тоже часть “умения програмировать”.
Поэтому в этом курсе детально рассматриваются именно те возможности языка и вспомогательных библиотек, которые наиболее востребованы при разработке автотестов.
Продолжительность нового курса осталась прежней, два с половиной месяца разбитых на 10 больших блоков, каждый из которых разбит на короткие фрегменты, но программа претерпела значительные изменения на основе анализа отзывов участников.
С одной стороны, мы решили выбросить некоторые темы, которые оценивались как не слишком полезные. С другой стороны, за счёт освободившегося места и более плотной компоновки материала появилась возможность добавить множество новых гораздо более интересных и полезных тем.
Что мы решили убрать из курса:
тестирование Windows-приложений через пользовательский интерфейс -- всё таки Java совсем не приспособлена для этого, если перед вами стоит такая задача -- тогда лучше выбрать другой язык для написания тестов, например, C# или Python;
тестирование Java приложений через пользовательский интерфейс -- просто потому, что таких приложений слишком мало, и эта тема оказалась невостребованной.
А теперь гораздо более длинный список того, что добавлено:
большой блок, посвящённый самым основам языка Java и программирования вообще, теперь тренинг подходит даже для тех, кто совсем-совсем не умеет программировать, обучение начинается с нулевого уровня подготовки;
использование сборщика Gradle;
дополнительные приёмы повышения надёжности тестов за счёт проверки и обеспечения выполнения предусловий;
работа с файлами в формате JSON;
более глубокое рассмотрение возможностей тестового фреймворка TestNG;
работа с удалёнными программными интерфейсами SOAP и REST;
настройка и использование сервера непрерывной интеграции Jenkins и генерация красивых отчётов при помощи инструмента Allure;
написание тестов в разных стилях: на псевдоестественном языке Gherkin (этот подход называется Behavior Driven Development) и в виде табличек с использованием инструмента Robot Framework (этот подход называется Keyword Driven Testing).
Все “старые” темы тоже полностью переписаны, материал лекций уплотнён (по нашему исследованию 1 час наших лекций по содержательности равняется более чем 3 часам живого рассказа за счет выверенности всех фраз и удаления всего лишнего мусора), и для удобства просмотра разбит на небольшие фрагменты продолжительностью не более 20 минут.
А ещё по многочисленным просьбам в лекциях теперь используется IntelliJ IDEA вместо Eclipse ;)
Чем тестирование веб-приложений отличается от тестирования каких-нибудь других приложений?
При тестировании веб-приложений применяются те же самые классические методы и техники проектирования тестов. Веб-приложения обычно имеют более простой интерфейс, чем "десктопные" программы. Браузером все умеют пользоваться, для этого не нужны какие-то специальные навыки.
Но существует ряд нюансов, связанных с социальными и технологическими особенностями веб-приложений, которые отличают их от других видов приложений, и которые обязательно нужно учитывать при тестировании, чтобы выполнить его профессионально.
фантастическое многообразие технологий, которые скрываются за простым фасадом браузера – фактически каждое веб-приложение является не самостоятельной программой, а частью всемирной паутины, и в работу веб-приложения вовлечено очень много разнородных компонентов,
невероятная скорость веб-разработки как в узком, так и в широком смысле – короткие релизы, быстро меняющиеся требования, постоянное совершенствование существующих технологий и возникновение новых,
потрясающее разнообразие пользователей, от случайных посетителей до постоянных клиентов, от младенцев до стариков, от новичков до хакеров,
полная открытость технологий, протоколов передачи данных, стандартов, и одновременно с этим необходимость особенно тщательной защиты, с учётом написанного в предыдущем пункте.
Кроме того, в этом курсе даются основы нефункционального тестирования веб-приложений – тестирование производительности, защищенности, удобства использования. В дальнейшем можно продолжить изучение отдельных видов нефункционального тестирования в более углублённых специализированных курсах Тестирование производительности веб-приложений и Тестирование защищенности веб-приложений.
После прохождения тренинга учащийся будет:
понимать принципы работы веб-приложений и знать, какие технологии при этом используются,
знать особенности тестирования веб-приложений по сравнению с десктопными приложениями,
уметь проектировать тесты с учётом особенностей веб-приложений и оценивать покрытие тестами функциональности приложения,
уметь выполнять тесты, при необходимости используя инструментальные средства для преодоления ограничений, накладываемых браузером,
владеть инструментами, для выполнения специфических проверок, характерных для веб-приложений:
анализ целостности ссылок,
анализ соответствия веб-стандартам,
понимать причины возникновения уязвимостей в веб-приложениях и уметь обнаруживать наиболее критические уязвимости в веб-приложениях,
понимать принципы оценки производительности веб-приложений и уметь выполнять анализ серверной и клиентской производительности веб-приложений,
уметь рассуждать об удобстве использования веб-приложений :)
Каждое занятие будет сопровождаться практическими заданиями, которые помогут быстрее и увереннее начать применять знания на практике.
On Error Resume Next
' Connects TestExecute object
Set TestExecuteApp = GetObject(,"TestExecute.TestExecuteApplication.12")
if Err.Number <> 0 Then
Err.Clear
Do While TestExecuteApp Is Nothing
Set TestExecuteApp = CreateObject("TestExecute.TestExecuteApplication.12")
WScript.sleep(1000)
Loop
End if
On Error GoTo 0
' Opens the project
If Not TestExecuteApp.Integration.IsProjectSuiteOpened Then
TestExecuteApp.Integration.OpenProjectSuite sProjectNameFileName
end if
' Runs the routine
TestExecuteApp.Integration.RunRoutineEx sProjectName, sUnitName, sRoutineName, sParam
Застрял на пункте с win32com.client.GetObject("TestExecute.TestExecuteApplication.12")
выдает ошибку, что "Не был произведен вызов CoInitialize"
Может у кого есть уже готовый класс?
Куплю книгу Романа Савина
2016-08-30 02:43
Доброго времени суток!
Куплю или приму в дар книгу Романа Савина "Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах"
Город Санкт-Петербург
Телефон для связи 89119457683
Соц. сеть - vk.com/iamyan
Куплю книгу Романа Савина
2016-08-30 02:48
Доброго времени суток!
Куплю или приму в дар книгу Романа Савина "Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах"
Город Санкт-Петербург
Телефон для связи 89119457683
Соц. сеть - vk.com/iamyan