понедельник, 23 сентября 2024 г.

Cards — бесплатная песочница с GraphQL API


Если вы хотите пощупать GraphQL API с ТЗ на русском языке, то добро пожаловать в мою песочницу — систему Cards.

Тут есть пользователи и их банковские карты. Можно пополнить баланс банковской карты, можно переводить деньги с одной карты на другую. Есть графический интерфейс и API. Есть даже ролевая модель! И даже ТЗ есть, хоть и не супер подробное =)

воскресенье, 21 июля 2024 г.

Мои 12 недель в году. Часть 27 (рождение Леши и курс по CSS)

 


Первый опытвторой345678910111213141516171819202122232425, 26


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

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

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


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

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

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

— делать минимум один новый курс

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

С планом по книге я снова не справилась... Буду ставить более достижимые цели! Зато остальные цели выполнила и даже перевыполнила. Я сделала марафон набегов на Хабр, когда "не делаю новый курс, пока не допишу вот эти статьи", в итоге несколько статей + новый курс тоже успела. И даже начала следующий! Но об этом чуть дальше, а пока краткие итоги:

  1. Родился Леша! Собственно, цикл — это последний месяц беременности, роды и первые пара месяцев с малышом
  2. Книга 4, SQL: сделала с 8 по 14
  3. Сделала и запустила курс по CSS\(〇_o)/
  4. Начала делать курс по GraphQL:
    1. Продумала структуру курса
    2. Сделала презентацию 1 урока
    3. Записала его
    4. Начала обработку
  5. Улучшалки по текущим курсам — они небольшие, но они есть =)
    1. Улучшалки по ПОТ и ШНАТ — 1
    2. Улучшалки по Рест — 3
    3. Улучшалки по Автоматизации в Postman — 6 
    4. Улучшалки по Чарлиз — 1 
    5. Улучшалки по CSS — 3 (да, новые курсы тоже сразу улучшаются!)
  6. Перевели диплом для ПОТ на английский язык, а то порой просят)
  7. Статьи на Хабр — 5 штук \(〇_o)/
  8. Заполнила профиль на Хабр-е
  9. Поучаствовала в жюри конкурса Хабра на лучшие статьи по тестированию
  10. Пополнила свой youtube-канал — 3 видео
  11. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  12. Восстанавливалась после родов, даже начали снова звать друзей и играть в настолки)
  13. Приезжали гости, довольно много гостей!
  14. Сходили с мужем и детьми в кафе (с новорожденным прям челендж!)
  15. Выбрались и в киношку тоже, уже без детей)
  16. Играли в настолки!
  17. Продали кучу настолок на Авито в мае
  18. Научили ребенка засыпать на бутылочке
  19. Нашли ему няню
  20. Погуляли на свадьбе друзей
  21. Отметили свою годовщину
  22. Я разбила телефон о_О Пришлось обновлять)


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

вторник, 16 июля 2024 г.

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


Ссылка на Хабр  (с кликабельным содержанием)

Последний пост цикла про выпуск книги! Забыла с хабра в блог утащить, вот исправляюсь =)

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

Сегодня я расскажу, как проходит выпуск книги после того, как вы нашли издательство, заключили договор и доделали книгу. Казалось бы, максимум месяц и книга уже в руках, да? Не-е-е-т, там всё сложнее =))

Я хочу поделиться, как оно бывает. Потому что со стороны кажется, что такого, а как заглянешь под капот — у-у-у-у… Поэтому я опишу, какие этапы включает в себя выпуск книги, и сколько времени это заняло нас. И как постоянно что-то шло не так, буквально на каждом этапе =))

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


суббота, 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 главные вопроса: Что? Где? Когда?

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


Что?

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

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

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

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