Что пишут в блогах

Подписаться

Онлайн-тренинги

Что пишут в блогах (EN)

Разделы портала

Про инструменты

.
Автоматизация тестирования
ХPath: что нужно делать, а что нет
06.12.2021 00:00

Автор: Поздняков Антон Игоревич (Инженер по автоматизированному тестированию), ООО "Хоппер ИТ"

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

Мы постоянно работаем с большими объемами тестов, и по мере роста количества заказов в команду приходят новые инженеры. Именно обучение стало поводом для размышлений над тем, что такое “хороший XPath”, а что такое “плохой XPath”. 

На первый взгляд может показаться, что в этом вопросе нет ничего сложного: просто берете общепринятый стандарт для селекторов, сверху кладете документацию по XPath и отдаете все это новому сотруднику со словами: “Знакомься товарищ!”. Но практика показала, что просто знаний синтаксиса недостаточно. И в работе встречаются как хорошие, так и плохие практики написания селекторов. Именно исходя из этого опыта и родился этот пост. А ниже вы найдете те принципы и практики, которые мы выработали сами для себя, набив несколько шишек, потратив часы лишнего времени на исправления и так далее. 

Подробнее...
 
Вот почему мы всегда пишем селекторы на XPath
23.11.2021 00:00

Автор: Поздняков Антон Игоревич (Инженер по автоматизированному тестированию), ООО "Хоппер ИТ"

Сегодня хочется поговорить про XPath — мощный и гибкий инструмент для работы с веб-интерфейсами, который при этом почему-то остается не особенно популярным. Статей и мануалов по XPath очень много, и в этом посте я постараюсь рассказать, как мы применяем данный инструмент и почему считаем его более эффективным, чем другие подходы. Если вам знаком термин “селектор”, а тем более — если вы слышали про XPath, добро пожаловать под кат, там много полезного!

Подробнее...
 
Про codeless-автоматизацию (точнее, про уровни абстракции)
22.11.2021 00:00

Автор: Баз Дейкстра (Bas Dijkstra)
Оригинал статьи
Перевод: Ольга Алифанова

Примерно месяц назад я получил сообщение от контакта в LinkedIn со ссылкой на статью Forbes и вопросом:

“Как вы думаете, codeless - хорошая штука, или нет?”

Я отправил подробный рассказ о своем мнении про статью и ‘codeless’ (позже вы поймете, почему здесь и далее я пользуюсь кавычками) как феномене автоматизации. По какой-то причине мне пока не ответили, и, дабы мои усилия не пропали зря, я превратил свой ответ в статью, которую вы сейчас читаете.

Итак, считаю я codeless хорошей штукой или нет?

Подробнее...
 
Нет, правда, что такое автоматизация?
15.11.2021 00:00

Автор: Пол Гриззаффи (Paul Grizzaffi)
Оригинал статьи
Перевод: Ольга Алифанова

Недавно я опубликовал пост в LinkedIn и Twitter:

“Упоминал ли я, что разработка автоматизации - это разработка ПО? Нет? Считайте, что теперь упомянул”.

Как это часто бывает, ответил Майкл Болтон:

“Что такое “автоматизация”-то? Это серьезный вопрос, и мне кажется, что его задают недостаточно часто. Когда люди говорят об автоматизации, что именно автоматизируется?”

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

Подробнее...
 
Логирование тест-автоматизации при помощи Log4j
12.10.2021 00:00

Автор: Корина Пип (Corina Pip)
Оригинал статьи
Перевод: Ольга Алифанова

Мы запускаем наши автотесты или на локальных машинах, или в CI-системах. В некоторых случаях мы неспособны наблюдать, что делают наши тесты. Если это API-тест, то если он не дает результат в консоли, мы не можем узнать, что он делает, пока тест не закончится. Если это UI-тест, то пока мы не увидим, что происходит в браузере, мы не поймем, что там творится. Поэтому в некоторых случаях нам нужно выводить информацию в консоль. Эта информация даст нам понять состояние теста или данные, используемые тестом. Одна из возможностей записывать ход теста в консоль предоставлена библиотекойApache Log4j.

Подробнее...
 
Record-and-Replay тестирование — сочетание достоинств юнит и интеграционных тестов
21.09.2021 00:00

Оригинальная публикация

Вступление

Сегодня я расскажу вам про Record-and-Replay подход к тестированию т. к. я его понимаю. Оговорка про мое понимание не случайна. Про этот подход не так много общедоступных материалов, чтобы иметь некий common agreement относительно значения этого термина. Многое из того, что я опишу, является моими личными оригинальными находками, но, тем не менее, фраза record-and-replay, на мой взгляд, наилучшим образом описывает применяемые мной решения. Так что я буду использовать именно ее.

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

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

Подробнее...
 
ТОП-5 вопросов ручных тестировщиков про автоматизацию
13.09.2021 00:00

Автор: Ольга Кабанова, Senior Mobile QA Engineer, hh.ru
Оригинальная публикация




Всем привет! Я Оля, тестировщик мобильных приложений в hh.ru. У нашей команды есть влог на ютюбе, где мы рассказываем о том, как разрабатывается наша мобилка. Теперь мы начинаем рассказывать еще и о том, как все эти разработки тестируются. Для заинтересованных мы создали отдельный плейлист, в котором будем рассказывать о тестировании и автоматизации.

В этой статье мы отвечаем на 5 самых популярных вопросов ручных тестировщиков про автоматизацию. Видеоверсию можно посмотреть тут.

Подробнее...
 
Основы Cypress: проверка существования элемента
09.09.2021 00:00

Автор: Филип Рик (Filip Hric)
Оригинал статьи
Перевод: Ольга Алифанова

При тестировании приложения с Cypress вам в первую очередь может понадобиться проверка присутствия элемента. В этой статье я хочу рассмотреть, как проверить, существует ли элемент и видим ли он, а также обсудить некоторые хитрости таких тестов.

В ходе статьи я буду использовать мое приложение-клон Trello. Его можно скачать с GitHub и следовать за мной.

Подробнее...
 
Flaky-тесты: Откуда ноги растут. Опыт Uber
19.08.2021 00:00

Перевод: Руслан Ахметзянов, Qameta Software

Автор оригинала: Ravi Agarwal, Lazaro Clapp, Gautam Korlam, Murali Krishna Ramanathan, and Vijay Subramanian

Эта статья является переводом статьи из блога Uber. Обычно мы в Qameta Software не занимаемся переводами, но мимо этой статьи пройти не смогли (спасибо @vbrekelovза то, что подкинул такой хороший пост на почитать!). Хороший и исчерпывающий материал о том, что такое flaky-тесты, какие они бывают и что с ними делать. Часть материала, посвященную переезду Uber с микросервисов на монорепо я опустил, оставив только то, что напрямую связано с отработкой flaky-тестов.

Юнит-тесты лежат в основе любой Continuous Integration (CI) системы. Они позволяют обеспечить контроль над качеством кода при высоких темпах разработки, предупреждая инженеров о багах в новом коде и регрессии в кодовой базе. Кроме того, они снижают стоимость разработки за счет обнаружения ошибок на ранних этапах. Именно поэтому построение стабильной и работающей тестовой инфраструктуры является одним из базовых требований для любой крупной разработки.

К сожалению, flaky-тесты осложняют жизнь тем, кто это требование пытается выполнить. Давайте считать, что мы будем принимать тест как flaky если на любых двух воспроизведениях он возвращает разные результаты: прошел или упал, — без изменения кода. Такие тесты чаще всего возникают в результате одной из двух причин: недетерминированность на уровне кода (порядок исполнения тредов и другие сложности с многопоточностью) или неоднородностью окружений, в которых выполняется тестирование (на одной машине все работает хорошо, а на CI-сервере тесты падают).

Подробнее...
 
.contains() – ценная находка Cypress
10.08.2021 00:00

Автор: Филип Рик (Filip Hric)
Оригинал статьи
Перевод: Ольга Алифанова

.contains() – одна из моих самых любимых команд в Cypress. Ее имя звучит как утверждение, но на самом деле это команда выбора. Конечно, можно поспорить, что все команды выбора убеждаются в существовании элемента, но давайте не будем вдаваться в философские споры)

Это различие меж тем очень важно. Немного двусмысленное имя .contains() может привести к тому, что вы не узнаете об ее мощи. Одна из вечных проблем тестирования – это поиск подходящего селектора с сохранением читабельности теста. .contains() позволяет выбрать элемент по тексту, но она может куда больше.

Разберемся, чем же она хороша. Я использую ряд примеров, которые можно найти в моем GitHub.

Подробнее...
 



Страница 1 из 34