В этой части ретроспективных уроков автоматизации я продолжу рассуждать о принципах автоматизации и сконцентрируюсь на наиболее значимом из них (как минимум, по моему опыту) – на принципе изоляции тестов.
Один из моих читателей сообщил, что информацию об этом принципе можно найти также по запросу "Герметичный шаблон тестирования". Узнать больше можно здесь:
Новички API-тестирования зачастую с удивлением смотрят на зоопарк фигурных скобок, кавычек и запятых, приходящих в теле ответа на GET-запросы. Создание правильного JSON-тела для POST-запроса пугает еще больше. В этот раз мы обсудим, как формируются JSON-данные, и я предложу вам ресурсы, облегчающие работу с JSON.
JSON расшифровывается как JavaScript Object Notation. Это просто способ организации данных таким образом, чтобы они легко парсились через код. Основной кирпичик JSON – это пара имя-значение. Вот ряд примеров:
Разделавшись с тем, почему автоматизация важна, и где нужно сосредотачивать усилия по автоматизации, перейду к более специфичным советам, связанным с тем, как создавать полезные и простые в поддержке тесты. В этот раз мы сконцентрируемся на принципе ААА. Конечно, как и прочие статьи в этой серии, эта описывает мой личный опыт и знания. Если вам есть, чем дополнить – пожалуйста, сделайте это.
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 апреля.