суббота, 8 июня 2024 г.

Таски и сабтаски в JIRA (и как найти их в ответе API)

У меня на курсах по тестированию REST API и автоматизации в Postman есть задание — получить задачу из Jira (метод Get issue) и вывести на консоль некие поля, например:

  • флаг, является ли связанная задача сабтаском
  • имя автора аттача
Так вот. Не все до этого работали с Jira, и уж тем более не щупали её api. Описание в целом неплохое, но там нет перечисления всех полей, которые возвращаются в ответе, с их описанием. Поэтому я немного поясню.

пятница, 7 июня 2024 г.

ИТ-книга от идеи до выпуска. Часть 2: поиск издательства

 


Ссылка на Хабр

В 2021 году я выпустила свою первую книгу по тестированию — «Курс молодого бойца». Заняло у меня это 4.5 года! И я решила поделиться своим опытом в цикле статей:

Правда, после 1 части я ушла в астрал на пару лет, всё как-то некогда закончить было… Но теперь обещаю доделать цикл! Благо что черновики я писала сразу, поэтому смогу вспомнить даже самое начало.

Заодно расскажу, как менялся процесс редактуры, ведь на текущий момент у меня уже три книги. Но об этом в следующий раз, а сегодня я расскажу о том, как искала издательства. Куда направляла запросы, как готовила сопроводительные письма, как почти потеряла надежду =)) И как нашла «БХВ»! (ой, спойлеры!)

среда, 29 мая 2024 г.

Шпаргалка по XPath и CSS-селекторам

Для написания автотестов используются XPath и CSS-селекторы. Они помогают найти элемент на странице, чтобы потом с ним как-то взаимодействовать (кликнуть, ввести текст, или что-то другое).

Я видела много статей о том, что это вообще такое, но мне очень не хватало шпаргалки по разным селекторам, причем в разрезе «Вот он в CSS и он же в XPath» для сравнения. 

А мне такое для студентов надо. Поэтому решила сделать сама. Вдохновлялась страничкой «Xpath cheatsheet», но сделала на свой вкус — под автоматизацию, а не XPath вообще. И с комментариями, с ними удобнее. 

Пишите, если где-то накосячила. Хотя я все селекторы проверяла на тестовых страницах, но мало ли… И надеюсь, вам такая шпаргалка тоже пригодится! =)

(там таблички нормально отрисовываются и есть содержание кликабельное)

воскресенье, 26 мая 2024 г.

CSS, XPath: локаторы или селекторы? Разбираемся в терминах

 Я обычно слышу такие словосочетания для поиска элементов на HTML-странице:

  • CSS-селекторы
  • XPath-локаторы
Но как правильно их называть? 



Можно ли и то, и то назвать селекторами? Или локаторами? Сходила за уточнениями к Алексею Баранцеву, разработчику инструмента Selenium и автору курсов по автоматизации тестирования (где селекторы и применяем). Итак:

Почему XPath лучше для поиска N-ого элемента, чем nth-child в CSS

В CSS есть псевдокласс :nth-child() — он находит один или более элементов, основываясь на их позиции среди группы соседних элементов. ©

Но у него есть ряд минусов:

  • не срабатывает в firefox (даже когда в хроме всё нормально);
  • срабатывает с оговорками — и поэтому xpath выражение для поиска будет лучше.
Давайте посмотрим на примере.

Создадим такой html-файл (можно сделать текстовый файлик и потом переименовать расширение в «.html»):

<html>
   <body>
          <div attr='1'>Блок 1</div>
  <p>Блок 1</div>
  <div attr='2'>Блок 2</div>
  <div attr='3'>Блок 3</div>
   </body>
</html>

Открываем файлик в хроме (это важно!). 

А теперь попробуем найти второй div. Попробуем через XPath:

//div[2]

Всё работает! Найдет один элемент, второй по счету div:


Теперь попробуем через CSS:

четверг, 23 мая 2024 г.

Как в pm.sendRequest() выполнить запросы в нужном порядке

Это выдержка из статьи «Как подготовить данные для запроса в Postman через pre-request». 


В Postman есть функция pm.sendRequest(), которая позволяет выполнять запросы до выполнения вашего основного запроса. Но есть проблемка, когда мы хотим вызвать несколько запросов подряд...

Кажется, что это будет легко. Просто напишем 2 pre-request и вызовем их подряд:

pm.sendRequest(req1, done); pm.sendRequest(req2, done); 

Но если второй запрос зависит от первого, он упадет. Почему? Потому что функция pm.sendRequests асинхронна. Это значит, что она сразу отправит оба запроса, а не будет дожидаться, когда отработает req1, чтобы запустить req2. 

Что такое pm.sendRequest в Postman

Это выдержка из статьи «Как подготовить данные для запроса в Postman через pre-request». 


Метод pm.sendRequest нужен для того, чтобы асинхронно отправлять запросы в Postman до или после выполнения основного запроса (Pre-request или Post-response скрипты). Документация тут.

Зачем это нужно?

  • Pre-request — подготовить данные для выполнения текущего запроса (перед поиском создаем объект с нужными полями)
  • Post-response — чистим за собой (удаляем созданное в pre-request)

Как подготовить данные для запроса в Postman через pre-request

Принцип хорошего автотеста — «Подготовь себе данные сам. Не надейся, что они уже существуют». Такой тест можно прогнать на любом стенде, даже пустом. Сам себе всё подготовил, прогнал тест, а потом ещё почистил за собой.


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

Подготовка данных делается через функцию pm.sendRequest() в pre-request скриптах, и в этой статье я покажу, как её использовать. Показывать буду в стиле «бери и повторяй» с примерами на бесплатной системе Users.

Ссылка на ХАБР


среда, 22 мая 2024 г.

Обновление интерфейса в Postman, где теперь автотесты

Есть у меня видео на канале — Пишем первый автотест в Postman. Само видео и код автотеста остались верными, а вот интерфейс изменился. Посмотрим, как именно.


Было

Были 2 отдельные вкладки:

  • Pre-request scripts — то, что выполняется ДО запроса
  • Tests — то, что выполняется после получения ответа


понедельник, 20 мая 2024 г.

Можно ли устроиться на работу тестировщиком после курсов? Что они дают?


Видео на Youtube

Статья на Хабре

Очень насущный вопрос для многих — можно ли найти работу в тестировании сразу после курсов? Да! (сказал автор курсов, хе-хе-хе)

Я вам больше скажу — можно и БЕЗ курсов устроиться 👀. Более того, грамотные самоучки очень ценятся! Но для такого эффекта надо пахать =))

Об этом и поговорим в статье:

  • как устроиться без курсов — чем запоминаются самоучки (расскажу истории из своей практики), 
  • зачем тогда вообще курсы, что они дают и как помогают трудоустройству,
  • вспомним и про ситуацию "наоборот": курсы есть, знаний нет (вот и не берут!),
  • подведем итоги


Как устроиться без курсов — чем запоминаются самоучки


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

А самоучки обычно рассказывают теорию и хлопают глазами на практические задания. И вот когда самоучка показывает неплохой уровень (не только прочитал, но и ПОНЯЛ) — это запоминается. И думаешь:

- Вау, и это он сам выучил? Круто!

Давайте сразу на примерах. За 11 лет я провела достаточно собеседований, но из кандидатов-самоучек мне запомнились всего двое, сильно выделявшихся на фоне остальных:

пятница, 17 мая 2024 г.

Как настроить Postman для работы с Charles Proxy

Если необходимо через Charles Proxy перехватить данные из Postman, нужно его настроить. Давайте разберемся, как это сделать! 

В этой статье предполагается, что сам Charles уже настроен и работает. Настраивается он по официальной документации.


Настройка Postman 

1. "File" "Setting" → вкладка "Proxy"Proxy configurations for sending requests



понедельник, 15 апреля 2024 г.

Мои 12 недель в году. Часть 26 (Лицензия на ИП и 3-я книжка!)

Первый опытвторой3456789101112131415161718192021222324, 25


Что это за техника

Вы собираетесь с друзьями в группу и ставите себе цели на 12 недель (3 месяца). Это могут быть как рабочие, так и личные задачи. Такие, которые вы вроде как хотите сделать, но вечно откладываете, так как «некогда, потом, щас, вот только мелочевку разгребу и тот пожарчик потушу».

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


Результаты кратко

Основной план был:

— написать книгу по SQL хотя бы до джойнов

— начать новый курс

— 1 статья на Хабр

С книгой и Хабром не срослось, хотя я лежу в этих направлениях. Есть и почти написанная статья, и 8 глав новой книги готовы, но "делать ≠ сделать", знаете ли. Однако это всё меркнет перед тем, что я даже не загадывала, а удалось сделать / получить:

— Вышла моя 3-я книжка! И ч/б, и в цвете уже тоже вышла!!

— Я получила лицензию на ИП! Так долго пыталась и вот...

А вот курс я не просто начала, я ещё закончила и запустила =)) И это при том, что мне уже через недельку-другую рожать, и я достаточно много времени сейчас отдыхаю / бегаю по врачам. Так что цикл просто отличный! 

Результаты кратко:

  1. Книга 3: баг-трекинг:
    1. Закончили верстку
    2. Провели последнюю вычитку
    3. Встретились с издателем =)
    4. Выпустили книгу!!! Вышла и ч/б, и цветная
    5. Переехала с цветной книгой на авито (о причинах чуть ниже) — теперь можно и с автографом отправить!
  2. Книга 4: SQL:
    1. Написала 8 глав =)
  3. Улучшалки по текущим курсам — они небольшие, но они есть =)
    1. Улучшалки по ПОТ — 7
    2. Улучшалки по ШНАТ — 6
    3. Улучшалки по Рест — 1 (но какая!)
  4. Статьи на Хабр — 0   (。╯︵╰。)
  5. Пополнила свой youtube-канал — 4 видео
  6. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  7. Сдох эквайринг, срочно восстанавливали (он был через КИВИ-банк, который закрылся)
  8. Ходили в театры!
  9. И в кино тоже бывали =)))
  10. Играли в настолки каждую неделю! 
  11. Забабахали кучу видосиков по настолкам))
  12. Скатались на мипл-кемп!
  13. Продали часть настолок на Авито
  14. В гости к друзьям тоже выбирались!
  15. Кондиционеры фонить начали — чинили
  16. Нулевой провод в квартире сдох и мы в 10 вечера без электричества остались — чинили...
  17. Собрали кроватку и пеленальный столик для ребенка =)

Результаты подробнее

пятница, 1 марта 2024 г.

Книга "Баг-трекинг: локализация и оформление дефектов" уже в продаже!


Описание книгиhttp://testbase.ru/book-about-bugs (352 стр)

Как заказать:

Стоимость — 830 чб / 1100 в цвете (сейчас скидки)


Сегодня мне написал издатель с радостной новостью — моя третья книга уже вышла в продажу! Пока, правда, только в издательстве, то есть черно-белая. Мой цветной тираж приедет в апреле, тогда и начнем рассылку / самовывоз.

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

пятница, 26 января 2024 г.

Книга по багам выйдет в апреле!

 


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

Что было потом:

  • 2 января — закончили верстку (почти месяц заняло, так как много картинок), передали корректору
  • 12 января — закончили корректуру (да-да, и в новогодние праздники мы работали!)
  • 19 января — отправила в издательство последний вариант аннотации + рисунки для обложки
  • 19 января — подписали с издательством договор на выпуск книги в цвете, оплатила счет
  • 26 января — сверстали обложку
Я, собственно, обложку и ждала для этого поста ))) 

Теперь уже всё, книга ушла в типографию и к апрелю приедет — и черно-белая в издательство, и цветная мне. Осталось совсем немного! А я пока погружаюсь в книгу 4, про SQL.

Ну и оформила это всё на портале:

«Что? Где? Когда?» в названии багов

 Ссылка на ХАБР

Хорошее название бага понятно любому:

  • менеджеру, плохо знающему техническую часть проекта;

  • джуниору, который только пришел в проект;

  • разработчику (зачем мне это чинить?)

Для этого оно должно отвечать на 3 главные вопроса: Что? Где? Когда?

И в этой статье я хочу разобрать каждый из них подробнее.


Что?

Что именно не работает?

Не все картинки отображаются корректно

Картинка с котиком на главной уехала за пределы экрана

Что значит «не все картинки»? На главной их может быть с десяток. Они все сейчас отображаются некорректно? Или половина? Или все, кроме одной? Самый разный приоритет будет у задач. И мне надо понимать, что именно сломалось — все сразу или одна конкретная картинка.