14 декабря на митапе в Санкт-Петербурге я (Артем Соковец) совместно с коллегой, Дмитрием Маркеловым, рассказывал о текущей инфраструктуре для автотестов в СберТехе. Пересказ нашего выступления — в этом посте.
Что такое Selenium
Selenium — это инструмент для автоматизации действий веб-браузера. На сегодня данный инструмент является стандартом при автоматизации WEB.
В прошлый раз мы говорили о том, как запускать API-тесты из командной строки при помощи Newman, а также о том, как добавить Newman в вашу систему непрерывной интеграции для автоматического запуска тестов. Однако знание, как запускать ваши тесты, мало чем вам поможет, если вы не подойдете с умом к вопросу, какие тесты прогонять, и когда этим заниматься. Давайте вначале разберемся, что нужно автоматизировать.
Быстрая и эффективная разработка ПО сегодня немыслима без отточенных рабочих процессов: каждый компонент передается на сборку к моменту установки, изделие не простаивает в ожидании. Еще два года назад мы совместно с «М.Видео» начали внедрять такой подход в процесс разработки у ритейлера и сегодня продолжаем его развивать. Каковы промежуточные итоги? Результат полностью себя оправдал: благодаря реализованным изменениям удалось ускорить выпуск релизов на 20–30 %. Хотите подробностей? Вэлком в наше закулисье.
Запуск коллекции тестов в Postman – это отличный способ быстро протестировать ваше API. Но еще более быстрым способом будет автоматический запуск! Чтобы автоматизировать ваши Postman-тесты, нужно разобраться, как запускать их из командной строки.
Postman использует инструмент запуска командной строки Newman. Это модуль NodeJS, который легко установить через npm (Node Package Manager). Если у вас еще не установлен Node, это легко сделать через https://nodejs.org. Node содержит npm, поэтому после установки Node установить Newman очень легко. Просто откройте командную строку и наберите там следующее:
Меня зовут Елена Расторгуева, я отвечаю за продукт «Фактор» в HFLabs. «Фактор» — чертовски сложный алгоритмический enterprise, он обрабатывает данные в промышленных масштабах.
В статье я расскажу, как мы начинали тестировать «Фактор», как развивали автотесты и почему пришли к самописным фреймворкам.
Автор: Виктор Славчев (Viktor Slavchev) Оригинал статьи Перевод: Ольга Алифанова
Эта часть ретроспективных уроков автоматизации логично вытекает из предыдущей. Обсудим, какие тесты автоматизировать, какие тесты этого достойны, и какие тесты будут хорошими кандидатами на автоматизацию.
Я постараюсь быть честным, основываться на личном опыте и не лить воду. Я легко привлеку в свой блог тысячи читателей, просто повторяя всю ту чушь, которую несут в сети, но у меня есть принципы. Поэтому скажу так:
"Какие тесты автоматизировать" – неверный вопрос
Любой, проработавший в тестировании больше полугода, знает, что мы не "автоматизируем тестирование" – мы не можем и не будем этим заниматься. На самом деле мы автоматизируем часть процесса исполнения тестов, и это очень крошечная часть по сравнению со всем спектром деятельности, которой мы занимаемся в ходе тестирования. Думаю, я потратил достаточно букв, объясняя, что автоматизация – это не превращенное в код человеческое тестирование. Это два раздельных и очень различных типа тестирования, имеющих разные цели. Они не взаимозаменяемы – они дополняют друг друга (см. "Горькая правда об автоматизации", "Не-ручной неавтоматизированный тестировщик").
Учитывая это, неверно говорить о том, "какие тесты автоматизировать" – такой вопрос предполагает, что мы автоматизируем то, что уже делаем вручную.
Публикуем видео доклада спикера прошлогодней конференции TestCon Moscow 2018 - Ивана Катунова «Тест дизайн и автоматизация REST API».
Вы приходите на проект, где вам необходимо организовать тестирование RESTful API сервиса. Впервые столкнувшись с подобным типом приложения у вас может возникнуть множество вопросов. Чем тестирование RESTful API сервисов схоже и чем отличается от тестирования других типов приложений? Какое покрытие тестами является достаточным? Какие лучшие практики существуют для автоматизированного тестирования REST API? В рамках доклада мы сравним RESTful API сервисы с другими типами приложений, рассмотрим как учитывать эти отличия при тестировании. Вспомним базовые техники тест дизайна, которые можно применять для тестирования REST API. Определимся с тем, какое покрытие тестами является достаточным и от каких факторов оно может зависеть. Рассмотрим какие подходы существуют к автоматизации тестирования RESTful API сервисов и к хранению тестовых данных, какой набор инструментов и технологий поможет нам в эффективном тестировании.
Напоминаем, что в этом году конференция TestCon Moscow 2019 пройдет 2, 3 и 4 апреля.
Автор: Кристин Джеквони (Kristin Jackvony) Оригинал статьи Перевод: Ольга Алифанова
Мне очень нравится, что в тестировании API очень легко организовывать тесты и переменные окружения. Я люблю, когда тест-наборы моментально готовы к использованию, и их можно запустить одной кнопкой при регрессионном тестировании, или же запускать автоматически как часть процесса непрерывной интеграции.
В этот раз мы поговорим о паттернах организации тестов, которые можно использовать для тестирования API. Я обсуждаю их в контексте Postman, но эти концепции останутся неизменными, какой бы платформой для API-тестирования вы ни пользовались.
Для начала давайте поговорим об окружениях. Если вы помните из прошлой статьи, то окружение – это коллекция переменных в Postman. Настраивать окружения можно двумя способами, и чтобы их разъяснить, я буду пользоваться сценариями. В обоих сценариях мы предположим, что у меня есть приложение, которое начинает свой жизненный цикл в разработке, затем переезжает в QA, подготовку и, наконец, в релиз.
В моем первом сценарии у меня есть API, которое получает и обновляет информацию о пользователях моего сайта. В каждом продуктовом окружении (Dev, QA, Staging, Prod) тест-пользователи различаются. У них будут разные ID, имена и фамилии. Ссылки на окружения также будут различными. Однако мои тесты не изменятся: во всех окружениях я буду получать информацию о пользователе (GET) и обновлять ее (PUT).
Анастасия рассказала о том, как на протяжении двух лет они выстраивали процесс обучения функциональных тестировщиков автоматизации. А все для того, чтоб вообще отказаться от разработчиков автотестов. Также, почему и когда выгодно вкладываться в обучение тестировщика. В докладе было рассказано о нескольких “подходах к снаряду” в попытке замотивировать и научить ребят кодить. На какие грабли наступили, какие выводы извлекли. И во что у них трансформировалась программа наставничества новичка. В Альфа-Лабе каждый ручной тестировщик умеет автоматизировать, и эти навыки он получает в течение 3 недель – 2 месяцев с момента приема на работу. На текущий момент у них вообще нет такой позиции, как разработчик автотестов.
Вас ждет исключительно практическая история с конкретными кейсами.
Напоминаем, что в этом году на конференции TestCon Moscow 2019 будет вестись онлайн трансляция всех докладов, в том числе с синхронным переводом.
Идея тестировать вёрстку сравнением изображений не нова: сохраняем эталон, вносим изменения в вёрстку, сравниваем новое изображение с сохранённым ранее. Казалось бы, всё просто. Но на практике возникает достаточно большое количество подводных камней.
Антон Усманский, ведущий разработчик инструментов визуального тестирования Gemini и Hermione, на конференции Heisenbug 2018 Moscow выступил с докладом об особенностях этого подхода. А теперь мы публикуем текстовую версию его доклада (для тех, кому удобнее видео, также прикладываем видеозапись).