Всем известна народная мудрость: «Встречают по одёжке, а провожают по функционалу». Что бы ни умел ваш продукт, им не будут пользоваться, если он недостаточно удобен и интуитивно не понятен. Возможно, его безумно полезный и жизненно необходимый функционал просто не найдут!
Но что делать? Как оценить удобство? Как его измерить? Как избежать субъективности в оценках? Как сделать продукт, который будет нравиться вашим пользователям, а не тестировщикам? Как донести до руководства необходимость внесения изменений?
Ответить на все эти вопросы далеко не так просто, как кажется. Наука человеко-машинного взаимодействия активно развивается, и если вы хотите выпускать действительно качественные продукты, которые будут радовать ваших пользователей, вы должны глубоко в ней разобраться!
О том, как правильно тестировать удобство использования, вы узнаете в этом онлайн-курсе.
Этот курс, предназначенный для обучения тестировщиков программированию на языке 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 IDE. От участников не требуется никакой предварительной подготовки в области автоматизации тестирования, не требуется умение программировать, не требуется предварительное знакомство с Selenium или иным инструментом автоматизации. Стартуем с нулевой отметки.
Чем же новая версия тренинга отличается от предыдущей?
Во-первых, мы записали тренинг в более удобном формате. Материал представлен в виде серии небольших модулей средней продолжительностью около 10 минут. Такие короткие лекции проще усваиваются, чем длинный непрерывный рассказ.
Во-вторых, мы полностью переработали программу тренинга. За счёт более компактного и насыщенного изложения материала мы смогли без увеличения времени и стоимости тренинга добавить целый ряд новых тем. В них рассмотриваются вопросы, которые часто задавали участники предыдущих тренингов:
-- объяснение принципов работы XPath и CSS локаторов,
-- различие между некоторыми похожими командами (click и clickAt, type и sendKeys),
-- использование ожиданий, выполнение фрагментов JavaScript-кода,
-- усложнение логики сценариев при помощи расширения SelBlocks,
-- загрузка тестовых данных из внешнего файла (Data Driven Testing).
В третьих, появились новые интересные домашние задания. Участникам предостоит автоматизировать несколько сценариев в реальном веб-магазине, имеющем
достаточно сложный интерфейс с динамическими элементами.
Да, пожалуй, у нас получился самый лучший в мире тренинг, посвящённый инструменту Selenium IDE!
И конечно всё это (как в любом нашем тренинге) сопровождается поддержкой тренера, готового отвечать на самые каверзные вопросы и помогающего вам освоить все возможности инструмента.
Некоторое время назад столкнулись с такой ситуацией: нужно было провести нагрузочное тестирование на проекте, стали выбирать инструмент из имеющихся, перебрали кучу вариантов, и по различным причинам ни один не устроил. Решили написать свой инструмент и хотим узнать мнение трудящихся, что к чему: что нравится в существующих инструментах, чего не хватает?
Столкнулся с такой проблемой, что на CentOS во время прогона, хром закрывается некорректно, о чем свидетельствует сообщение в правом верхнем углу браузера при следующем его запуске для следующего теста. В какой-то момент, после очередного теста, браузер закрывается, а вот процесс остается и по этой причине прогон зависает надолго (около 3 часов), после длинной паузы появляется ошибка:
Nov 02, 2016 9:28:03 PM org.openqa.selenium.os.UnixProcess destroy
INFO: Command failed to close cleanly. Destroying forcefully (v2). [/usr/local/share/chromedriver, --port=9961][ {}]
Nov 02, 2016 9:28:04 PM org.openqa.selenium.os.UnixProcess destroy
SEVERE: Unable to kill process with PID 16197
Выяснилось это опытным путем, поскольку после того, как процесс убивается вручную, тесты продолжают запускаться дальше, пока вновь не произойдет такая штука. Тесты завершаются командой webDriver.quit(); Все тулзы, входящие в инфраструктуру тестов были обновлены до самых актуальных версий, проблема сохранилась.
Появилась идея вставить костыль, такой как ручной kill процесса, в случае, если после webDriver.quit(); он все еще запущен, однако в этом случае нужно получить PID процесса.
Собственно вопрос, как получить PID процесса только что запущенного chromedriver'а?
Может кто сталкивался с такой задачей, буду очень признателен за помощь.