Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

10 проблем автоматизации UI и их решение с помощью JDI



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


10 проблем автоматизации UI и их решение с помощью JDI
2016-12-07 09:09

Выступление Романа Иовлева на конференции TK Conf

 

Автоматизация тестирования является важной и не неотъемлемой частью разработки современного ПО, но без правильного подхода нередко случается, что написание автотестов занимает слишком много времени, а их поддержка может требовать больше затрат чем просто ручная регрессия. Почему же так происходит и как этого избежать? В этой презентации, базируясь на своем опыте работы во множестве проектов, я хочу рассказать об основных ошибках и проблемах, с которыми приходится сталкиваться автоматизаторам и что нужно сделать чтобы их избежать (на примере фреймворка для автоматизации JDI).

 

Смотреть запись доклада



Тестирование веб-приложений, онлайн, начало 16 декабря
2016-12-07 09:25

Онлайн-тренинг с домашними заданиями, 3 занятия по 1,5 часа

Тренер: Баранцев Алексей

 

Чем тестирование веб-приложений отличается от тестирования каких-нибудь других приложений?

 

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

 

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

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

Этот курс предназначен для тех, кто уже владеет техниками проектирования тестов и хочет изучить особенности их применения при тестировании функциональности веб-приложений. Начинающим тестировщикам рекомендуется предварительно пройти обучение по программам курсов Практикум по тест-дизайну либо Школа успешных тестировщиков, v 2.0 или Интенсив для начинающих тестировщиков.

 

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

 

После прохождения тренинга учащийся будет:

  • понимать принципы работы веб-приложений и знать, какие технологии при этом используются,
  • знать особенности тестирования веб-приложений по сравнению с десктопными приложениями,
  • уметь проектировать тесты с учётом особенностей веб-приложений и оценивать покрытие тестами функциональности приложения,
  • уметь выполнять тесты, при необходимости используя инструментальные средства для преодоления ограничений, накладываемых браузером,
  • владеть инструментами, для выполнения специфических проверок, характерных для веб-приложений:
    • анализ целостности ссылок,
    • анализ соответствия веб-стандартам,
  • понимать причины возникновения уязвимостей в веб-приложениях и уметь обнаруживать наиболее критические уязвимости в веб-приложениях,
  • понимать принципы оценки производительности веб-приложений и уметь выполнять анализ серверной и клиентской производительности веб-приложений,
  • уметь рассуждать об удобстве использования веб-приложений :)

Каждое занятие будет сопровождаться практическими заданиями, которые помогут быстрее и увереннее начать применять знания на практике.

 

Подробная программа и условия участия



Программирование на Java для тестировщиков, онлнай-курс, 16 декабря
2016-12-07 09:26

Запускаем очередную группу новой версии тренинга “Программирование на 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 ;)

 

Познакомиться с программой и условиями участия



Selenium: стартовый уровень, начало тренинга 16 декабря
2016-12-07 09:27

Этот курс посвящён инструменту Selenium IDE, и он самый простой в нашей линейке тренингов, посвященных инструменту Selenium.

 

После прохождения тренинга вы научитесь разрабатывать автоматизированные тесты для веб-приложений с использованием инструмента Selenium IDE. От участников не требуется никакой предварительной подготовки в области автоматизации тестирования, не требуется умение программировать, не требуется предварительное знакомство с Selenium или иным инструментом автоматизации. Стартуем с нулевой отметки.

 

Чем же новая версия тренинга отличается от предыдущей?

 

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

 

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

 

-- объяснение принципов работы XPath и CSS локаторов,

-- различие между некоторыми похожими командами (click и clickAt, type и sendKeys),

-- использование ожиданий, выполнение фрагментов JavaScript-кода,

-- усложнение логики сценариев при помощи расширения SelBlocks,

-- загрузка тестовых данных из внешнего файла (Data Driven Testing).

 

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

 

Да, пожалуй, у нас получился самый лучший в мире тренинг, посвящённый инструменту Selenium IDE!

 

И конечно всё это (как в любом нашем тренинге) сопровождается поддержкой тренера, готового отвечать на самые каверзные вопросы и помогающего вам освоить все возможности инструмента.

 

Посмотреть подробную программу и условия участия



Школа успешных тестировщиков, v 2.0, начало 21 декабря
2016-12-07 09:28

тренер: Наталья Руколь

Онлайн-тренинг с практической работой, 10 занятий

 

Вы недавно работаете в тестировании, или только хотите приобщиться к этой отрасли? Хотите получить фундамент, необходимый для построения успешной карьеры? Хотите узнать, из чего состоит эта область деятельности, чтобы быстрее стать в ней профессионалом?

 

Именно для вас – наш курс «Школа Успешных Тестировщиков v2.0». С этим курсом вы:

  • Получите широкий кругозор в сфере тестирования
  • Научитесь основным техникам и познакомитесь с основными инструментами тестировщиков
  • Узнаете, как построен процесс тестирования в ведущих компаниях
  • Пройдёте профильный тест, чтобы узнать, какие области и специализации в тестировании для вас ближе всего
  • Узнаете, как получать от работы максимум удовольствия
  • Создадите план развития на год, чтобы стать успешным тестировщиком

Этот курс будет полезен тем, кто обладает опытом в тестировании до одного года, или кто только хочет найти свою первую работу в сфере тестирования.

 

Подробная программа и условия участия



TestCafe - Functional Testing
2016-12-07 12:08

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

 

Хочу поделиться с вами информацией о новом тестовом Open Source фреймворке для web - TestCafe. Этот, набирающий популярность, продукт является прямым конкурентом Selenium, так как, в отличии от оного, не использует WebDriver и, благодаря чему, имеет множество преимуществ, которые могут показаться вам любопытными. Я перечислю некоторые из них:

 

   - Не требует плагинов для браузеров  

   - Установка одной командой, все что необходимо - наличие NodeJs       

   - Возможность запускать тесты на любых устройствах имеющих выход в сеть и браузер

   - Использование ES6,ES7 JavaScript для написания тестов

   - Простой и понятный API

   - Набор плагинов отвечающих за формат репортов, и, как следствие, упрощенная интеграция с основными системами непрерывной интеграции.

 

Свои вопросы по фреймворку вы можете задать мне, здесь.

 

install-and-run-test.gif

 


Подбросить файл в сборку Jenkins
2016-12-07 12:34

Добрый день.

 

В данный момент я вникаю в работу Jenkins, но возникли трудности с некоторыми ее аспектами.

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

 

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

 

Пробовал подставить shell скрипт, но при обычном копировании файлов в сборочную директорию они все равно обновлялись файлами из удаленного сервера.

 

Проект разработки на Java, сборка запаковывается и разворачивается из варника.

 

Вопрос.

 

Как правильно пробросить файлы на машину, где разворачивается проект?

 

Спасибо.

 

P.S. Забыл уточнить, что все компы на Linux



Python' ом закрыть и повторно открыть браузер (тупит, гадюка)
2016-12-07 12:57

Здравствуйте. Такая болячка. Запускается браузер, открывает целевую страничку. Визуально всё прорисовано. Колёсико загрузчика браузера (не загрузчик страницы) продолжает крутиться. Скрипт дальше не двигается. Длится вечно

driver = webdriver.Chrome('/home/ххх/chromedriver')
driver.get('https://site.com/')
try:
    oa = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID,"auth-form-container")))
except Exception as e:
    print e

Элементы формы в браузере отображаются, всё путём, по идее. По истечении ожидания - 10 сек ничего не происходит. Исключений не даёт. Не понятно что с этим делать.

Как это дело забороть?

Закрыть браузер и повторить попытку было бы приемлемо. Как это сделать, подскажите пожалуйста.

Или может есть лучшие решения?

Спасибо



Selenium via RDP?
2016-12-07 23:20

Доброго времени суток,

 

Суть проблемы состоит в том, что после применения новых политик безопасности, сервер с целевым приложением был спрятан в обособленную сетку с единственным возможным доступом - браузером на терминал-сервере, который доступен исключительно по RDP. Никакого SSH-туннеля, проброса портов наружу и прочего сделать нельзя. 

 

Вопрос: Я конечно очень сильно сомневаюсь, но вдруг существует какой-нибудь костыль, позволяющий запускать Selenium-тесты через RDP? 



© 2010 | Software-Testing.Ru


В избранное