суббота, 4 июля 2020 г.

Severity и Priority. Заполняем приоритет в баге

При заведении бага или улучшения в баг-трекер мы может увидеть поле «Приоритет». Это может быть одно поле, а может быть два разных — Severity и Priority. Иногда их совмещают, иногда нет. Что эти поля значат?
  • Severity — насколько критичен баг сам по себе, с технической точки зрения.
  • Priority — насколько критичен баг для бизнеса;
Шкала может быть разной, от простой:
  • Minor
  • Major
  • Critical
До более сложной и насыщенной. Если два поля разнесены, то тестировщик обычно заполняет только Severity, а Priority определяет менеджер. Да и в принципе зачастую тестировщик не определяет приоритет, для этого есть его начальник.

Ведь именно приоритет означает, как срочно нужно исправить баг. А ведь дай волю Кевину, так каждая задача будет «АААА ВСЕ ПРОПАЛО СРОЧНО ИСПРАВЛЯЙ!!!» =)


четверг, 2 июля 2020 г.

Как отправить фото в формате base64 через Soap Ui

Чтобы отправить фото в формате base64, нужно:
  1. Выбрать изображение
  2. Загрузить через любой сервис конвертирования изображения в base64 строку, например, https://www.base64-image.de/
  3. Скопировать полученную строку целиком, включая начало: «data:image/png;base64,iVBORw0KG...»
  4. Вставить в параметр для передачи фото в формате base64
Профит! Инструкция одинаковая для REST и SOAP. 

Но смысл этого поста, разумеется, не в инструкции. А в том, чтобы сразу ее применить! Попробовать пощупать самостоятельно. Сделать это можно в API бесплатной системы Shop, метод create или update.


Мы будем вызывать метод create через Soap Ui, проверяя SOAP API. Для этого нужно:

Как отправить фото в формате base64 через Postman

Чтобы отправить фото в формате base64, нужно:
  1. Выбрать изображение
  2. Загрузить через любой сервис конвертирования изображения в base64 строку, например, https://www.base64-image.de/
  3. Скопировать полученную строку целиком, включая начало: «data:image/png;base64,iVBORw0KG...»
  4. Вставить в параметр для передачи фото в формате base64
Профит! Инструкция одинаковая для REST и SOAP. 

Но смысл этого поста, разумеется, не в инструкции. А в том, чтобы сразу ее применить! Попробовать пощупать самостоятельно. Сделать это можно в API бесплатной системы Shop, метод create или update.
Мы будем вызывать метод create. Пока через Postman, проверяя REST API. Для этого нужно:

среда, 1 июля 2020 г.

Поздравляем Александра с первой работой!

И еще одна история успеха от недавно выпущенной школы-58. На этот раз от Александра!


******************************************************************

Добрый вечер.

Хочу поделиться с вами своими успехами! Сегодня я получил приглашение на работу тестировщиком! Знания, которые мне дали билет в новую жизнь — это Школа для начинающих тестироващиков. До этого никакого понятия о тестировании, кроме как знания о его существовании, не было.

За последние два месяца было отправлено порядка 25 откликов на вакансии тестировщиком с опытом больше года. В моем городе вакансий без опыта не было вообще. По итогу было 4 приглашения на собеседование/тестовое задание. Одна компания готова была общаться дальше только после снятия карантина, но его так и не сняли.

Одно тестовое я не выполнил достаточно хорошо с точки зрения работодателя. Не смог в силу специфики — геймдев (но очень хотел). И на двух собеседованиях сказали, что знания очень хорошие. И это именно заслуга ШНАТ. По результатам последних собесов одни выбрали тестировщика со стажем, а вторые — МЕНЯ!

вторник, 30 июня 2020 г.

Shop — на чем потестить SOAP, REST, и селекты к БД

Система Shop

Используйте систему Shop, если хотите попрактиковаться в тестировании, а негде.

В этой системе у вас есть доступ к БД! То есть вы можете создать товар через REST, а потом проверить — сохранился ли он в базу? Правильно ли заполнены поля?

А еще есть возможность отправлять запросы к базе через REST API, во как! И кидать картинки через base 64. Ну и пачка стандартных REST \ SOAP методов + графический интерфейс ))



Явки, пароли


Магазинчик http://shop.bugred.ru/
Тестовый пользователь: test@mail.com / 1

База данных: 
REST и SOAP API

Полная документация — в конфлюенсе.

пятница, 26 июня 2020 г.

Курсы по SQL, моя подборка

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



1. Udemy: «SQL для начинающих: с нуля до сертификата Oracle»


Ссылка — https://www.udemy.com/course/sql-oracle-certification/
Цена — 1200 руб (со скидками)

В чатике его довольная студентка порекомендовала:

Бери, там распродажи постоянные) я брала за 1200 где то) я смотрела на software здесь ещё курс, но меня привлекло на udemy количество функций, которые там изучаются) при том, на каждый оператор — своё видео, если забыл, то можно повторить) 

Если не считать бесплатных материалов, самый доступный курс.
Но учтите, что на udemy автоматизированные проверки. То есть фидбека от тренера будет мало, в основном это тесты.

Что такое CI (Continuous Integration)




Ссылка на ХАБР (там кликабельное содержание! В блоге такое не сделать)

CI (Continuous Integration) — в дословном переводе «непрерывная интеграция». Имеется в виду интеграция отдельных кусочков кода приложения между собой. Чем чаще мы собираем код воедино и проверяем:
  • Собирается ли он?
  • Проходят ли автотесты?
Тем лучше! CI позволяет делать такие проверки автоматически. Он используется в продвинутых командах разработки, которые пишут не только код, но и автотесты. Его спрашивают на собеседованиях — хотя бы понимание того, что это такое. Да, даже у тестировщиков.

Поэтому я расскажу в статье о том, что это такое. Как CI устроен и чем он пригодится вашему проекту.

Поздравляем Диану с первой работой!

Буквально вот-вот выпустилась школа-58, и у нас уже есть история успеха!



Диана рассказала о том, как получила оффер:

*****************************************************************

Ольга, я бы хотела выразить Вам огромную благодарность за вообще внимание и очень хорошую конститутивную обратную связь на каждое да!спасибо Вам огромное!!! Сегодня получила свой первый оффер 🤪

— Расскажите, пожалуйста, подробнее

Мой путь начался с того, что я на работе столкнулась с неявным тестированием ПО и очень сильно расстраивалась, когда понимала, что продукт имеет кучу дефектов, но он уже реализуется и применяется на практике. С того момента я поняла, что хотела бы обеспечивать качество продукта, да ну и в принципе работа с ПО меня очень привлекла.

четверг, 25 июня 2020 г.

У теста есть результат

Чем отличается тестировщик от обычного человека - он всегда фиксирует какой-то результат. У тестировщика может быть заранее какой-то ожидаемый результат, а может и не быть. Но что-то он всегда фиксирует, хотя бы для того, чтобы сравнить со старой версией приложения — это и есть тест.

Потестируем стул. Самый простой, который на конференциях в залах стоит:


Обычный человек пишет “сесть на стул”, “уронить стул”. Но тестировщик пишет “посадить на стул мужчину весом 150кг и проверить, что сидящий не упал, а стул сохранил форму”.

среда, 24 июня 2020 г.

Мнемоники СТУЛ, ПВО и СССР

На моем курсе «Школа для начинающих тестировщиков» есть творческое задание — придумать свою мнемонику по тестированию! Разумеется, оно необязательное 

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

Юлия: СТУЛ

Юля из ШНАТ-57 пишет:

Хотела поделиться мнемоникой, навеянной заданием И1 про стул :) Всё просто: задавайте вопросы — избежите множества ошибок и сохраните драгоценное время.

С - Спроси! — задай вопросы, прежде чем приступать к тестированию системы.
Т - Тестируй — накидай чек-лист проверок. В процессе непременно возникнут новые вопросы.
У - Уточни — новые вопросы обязательно нужно задать :)
Л - Локализуй — будь конкретным, создавая тесты. Подумай ещё раз, зачем нужна система или конкретная функция, кто конечный пользователь.



вторник, 23 июня 2020 г.

Новый курс! Автоматизация в Postman

Привет!

Я запускаю новый тренинг — Автоматизация REST-тестов на уровне Postman.

Идеально для тех, кто тестирует API, но у кого на проекте еще нет автоматизации. Мы пройдем полный цикл — от первого автотеста до настройки CI (Continuous Integration). От Math.random до циклов и условий. От простого include до регулярных выражений.

На курсе 57 обязательных домашних заданий, так что практики у вас будет очень много! При этом курс идет 3,5 месяца, так что не переживайте, всё успеете ))


Познакомиться с моим стилем лекций можно на примере этого отрывка.

Первый запуск будет 9 июля, через пару недель.
На него действует скидка 30%! Промокод first_start

воскресенье, 7 июня 2020 г.

Мои 12 недель в году. Часть 13 (короновирусная)



Первый опытвторойтретий4567891011, 12


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


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

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

Я комбинирую с магией утра.


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


Этот цикл пришелся на карантин практически целиком. Начался цикл в начале марта, а через пару недель уже самоизоляция... Ни садика, ни даже прогулок, ничего. Так что я специально выбрала именно эту фоточку, где на первом месте сын, а на заднем плане я. Таковы реалии карантина ¯\_(ツ)_/¯

Времени резко стало меньше. Но! Все равно успела кучу всего))) Главное — захотеть!

Основные цели были:
— книга: написать 4 статьи
— курсы: закончить урок 8
— курсы: сделать полностью урок 9
— курсы: записать урок 10
— статья на ХАБР!

По книге статьи написала. Причем за цикл больше 100 страниц написала! Так что вполне норм результат )) И на Хабр статью сделала, даже две!

По курсу план выполнен и перевыполнен! Я сделала уроки 8, 9, 10, 11, и даже 12! 5 уроков за цикл!!! Супер-результат, я считаю. В следующем цикле уже закончу и запущу курс!

В общем, я еще не знала, что будет длительная самоизоляция, а все же поставила себе вполне осуществимые цели. Которые мне удалось выполнить даже в условиях «хрен тебе, а не ясельки, дома с ребенком весь день сиди». Не просто выполнить, а перевыполнить! Итак, что я успела за цикл, краткие результаты:
  1. Заходы к книге — почти каждый день, очень стабильно, я довольна! 
  2. Написала 130 страниц книги — было 120 стр последней главы, теперь уже 252!
  3. Посты из книги, пополняя бесплатный онлайн-вариант —  12 штук ٩(◕‿◕。)۶
  4. Курс — обработала 8 урок, оформила в СДО, придумала домашки
  5. Курс — целиком сделала 9 урок!
  6. Курс — целиком сделала 10 урок!
  7. Курс — целиком сделала 11 урок! 
  8. Курс — целиком сделала 12 урок! \(〇_o)/
  9. Улучшалки по текущим курсам — они небольшие, но набирается прилично! 
    1. Улучшалки по ШНАТ — 48 штук \(〇_o)/
    2. Рест — 7 штук
    3. Логи — 2 штуки
    4. Локализация — 3 штуки
  10. Пополняю раздел «работы студентов» — 6 штук!
  11. Нашла 2 кандидатов в тренеры
  12. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  13. Добавила инструмент — записываю итоги недели (чтобы похвастаться во флудилке)
  14. Выложила полезные видосики на свой youtube-канал — 6 штук
  15. Создала плейлисты на ютубе, под школу и фолкс пока что
  16. Статьи на Хабр — 2 штуки!
  17. Testbase — 6 улучшалок
  18. Folks — 2 улучшалки
  19. Прочитала 3 книги (。•́︿•̀。)
  20. Гуляла в магазин ))))) Увы, пока ни кино, ничего такого... Короновирус же!
  21. Встретились с подругой, она ко мне в гости заехала до карантина
  22. Разорвали отношения с дизайнером
  23. Нашли строителей, начали ремонт
  24. У нас сбежал кот (((
  25. Поставили Владу АКДС (10 неделя, уже в мае)
  26. Укатили с сыном к бабушке в Белгород! 


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


четверг, 4 июня 2020 г.

Что такое cmd + основные команды для новичка

Cmd — это командная строка. Чтобы запустить командную строку на винде, есть 2 основных способа:

  • Пуск → cmd.exe
  • Run (кнопка с картинкой винды) + R → cmd




Второй способ быстрее.  Хотя кому как...

Когда вы открываете командную строку, то попадает в директорию C:\Windows\system32 (1 способ) или C:\Users\olgak (2 способ, вместо olgak будет ваше имя пользователя).

Что вы должны уметь тут делать? Разберем план-минимум
  • Перемещаться по папкам
  • Копировать файлики
  • Запускать приложение
  • Архивировать файлы
См также:
Основные linux-команды для новичка — тоже план-минимум, но уже по линуксу


воскресенье, 24 мая 2020 г.

Кто создает программы

Это всегда разное количество людей. Как в продуктовом магазинчике или кафе. Бывает, что есть только владелец: он и бариста, и повар, и продавец, и бухгалтер, и уборщица в одном лице. На найм сотрудников просто нет денег. Или, может, муж с женой исполнили мечту и открыли кафетерий? Тогда у нас уже два человека…

А когда бизнес пошел в гору, то и сотрудников прибавилось. Пригласили продавца, официанта, уборщицу. Открыли второй кафетерий, третий.. Количество участников всегда меняется и это нормально.

Также и в ПО, все зависит в первую очередь от того, сколько у тебя есть денег ¯\_(ツ)_/¯


1 участник. Автор = разработчик


Если у вас есть идея и вы можете сами ее реализовать — флаг в руки! Тогда вы как тот начальник кофейни, сочетающий в себе все и вся. Сами придумали идею, сами написали код. Иногда даже код писать не надо, если хотите сделать что-то простое. Например:
  • Лендинг-страница — это сайт-одностраничник, продающий ваш товар (супер-пупер расческа, курс по программированию, цемент для дачи итд). Такую страничку я сделала сама. Этот курс уже закрыт, но сама идея лендинга в тильде неплохая.
  • Интернет-магазин — сейчас и для них есть стандартные шаблоны. Сделал как нравится и вперед


понедельник, 18 мая 2020 г.

Правило 20 минут

Сначала попробуй решить задачу сам, потом обращайся за помощью. Если за 10-20 минут не нашел решения, можно и коллегу спросить.

Актуально для всего:

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

четверг, 14 мая 2020 г.

Результат в тест-кейсе — один или много?


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


Один результат после всех шагов


Если результат один, то он идет после выполнения всех-всех-всех шагов:

Шарлотка  
Предварительные шаги 
Сходить в магазин и купить:
  1. Яйца;
  2. Яблоки;
  3. Муку;
  4. Молоко;
  5. Сахар.
Шаги
  1. Яйца взбить с сахаром (взбивать не менее 5–7 минут).
  2. Добавить муку, хорошо перемешать.
  3. Яблоки почистить, удалить сердцевину, нарезать небольшими дольками.
  4. Форму для выпечки смазать маслом.
  5. На тесто выложить половину яблок (яблоки можно посыпать корицей).
  6. На яблоки вылить половину оставшегося теста.
  7. На тесто выложить оставшиеся яблоки.
  8. На яблоки вылить оставшееся тесто. 
  9. Поставить в разогретую до 180 градусов духовку. 
  10. Выпекать в течение 40–60 минут (в зависимости от размера формы).
Ожидаемый результат 
Вкусная шарлотка! Которую родные уминают за 5 минут.

Выполнили все 10 шагов? Получили шарлотку! Также и в ПО: выполняем все шаги, получаем результат.

понедельник, 11 мая 2020 г.

Основные linux-команды для новичка



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

Если вы еще не сталкивались с linux, вам сюда!

Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Большинство операций в линуксе выполняется через командную строку. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку...

Я собрала все основные операции в одной статье — с кратким описанием, примерчиком + ссылками на более подробное описание. В блог переносить не буду, слишком длинная получилась статья, без кликабельного содержания это не слишком полезно, а его в блоггере сделать нельзя (или сложно).

воскресенье, 3 мая 2020 г.

Задание по регулярным выражениям от Егора

Это мощная и хитрая задача с подколками. Идеальна для проверки знаний по регуляркам. Автор — мой коллега Егор Симонов, крутой технический специалист.

Если хотите обучить сотрудника регулярным выражениям, дайте ему:
  1. Книгу Бена Форта — «Регулярные выражения 10 минут на урок»
  2. Задачку от Егора
У нас на работе ровно так и делают Wink ;)


Когда я пришла в ХФЛабс, мне сказали к концу испытательного срока сдать Егору задачи по SQL и регулярным выражениям. На тот момент я немного знала SQL — в реальной жизни не применяла, но меня программист научил всяким джойнам. Регулярки не знала вообще.

И вот мне книжку дали, я ее честно прочитала. Читается книга легко. Повторяешь все за автором — вообще элементарно! Так что «фигня вопрос, sql знаю, регулярки тоже, успею!». Откладывала задания, пока до делайна не осталась неделя. Или две? Не помню точно, помню только, что не успела :)

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

Юлия → Iuliia. Схемы транслитерации и другие полезные ссылки

Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, и куче других процессов.

Что, если в вашей системе используется транслит? Скажем, надо ввести данные из загранпаспорта для оформления билета. Как это тестировать?

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

Потому что таких схем есть целая куча:


Почитать о них можно в блоге Антона Жиянова: Юлия → Iuliia. Всё о транслитерации

По ссылке https://dangry.ru/iuliia/ можно выбрать любую подходящую схему транслитерации из 20 возможных (ГОСТы, МВД, Почта, Википедия, ISO, UN, Library of Congress).

воскресенье, 26 апреля 2020 г.

Панбагон. К карантину мы были не готовы...

В связи с карантином все системы эксренно придумывают временные меры. Которые, разумеется, ни фига не работают, и в текущие процессы не вписываются.

Вот, скажем, сейчас официально продляют паспорта, которые пора менять. Еще 3 месяца они будут действительными. Вот только на официальном сайте справочник ПНД (перечень недействительных документов) не обновляют по этим данным.

И банки, чекая паспорта по справочнику, попадают в неловкую ситуацию — вроде должны были продлить, но система ругается на недействительный паспорт, по которому операцию провести невозможно...

Аналогично с банковскими картами. Хотела товарищу долг вернуть. Перевожу с карты на карту — упс, облом:

Ошибка перевода

Уточняю:

— У тебя карта еще активна вообще? ))
— Там  у нее срок закончился, но банк в связи с карантином продлил ее на 3 месяца, так как поменять ее в банке сейчас некак.
— Хреново продлил, я тебе скажу))

Давайте оформим баг по шаблону:

пятница, 24 апреля 2020 г.

Чем занимается тестировщик



Наверняка вы уже успели что-то поискать про тестирование. Бесплатные видео-лекции, статьи, книгу Романа Савина. Так как вы думаете, в чем основная задача тестировщика? Чем он занимается?

Типичный ответ — ищет баги… «Крушить, ломать, ПО побеждать». Поймал ошибку, сообщил разработчику, все, твоя работа на этом закончилась.


Другой популярный ответ — помогает улучшать качество продукта. А как помогает? Ну, ищет баги и сообщает о них.

Да, мы ищем баги и сообщаем о них. Но главная задача тестировщика — предоставить информацию о том, как работает приложение.

Мы исследуем продукт и рассказываем команде, как он работает. Или не работает ¯\_(ツ)_/¯ 
На основе полученной информации команда решает, можно ли выпускать релиз (отдавать новую версию приложения пользователям), или стоит исправить баги. Какие баги важно исправить сейчас, а какие можно будет поправить позже. А что вообще никогда чиниться не будет.

Но подумайте вот о чем — даже если тестировщик 3 часа тестировал функционал, прогнал сотни тестов и ничего не сломалось (багов не нашел) → это не значит, что он не работал.

четверг, 23 апреля 2020 г.

Простое руководство по работе с git

Очень компактно про GIT — http://rogerdudler.github.io/git-guide/index.ru.html


Гайд роскошный! Так что сохраню его в блоге + на Testbase. Даже отдельный навык сделала —  «Работать с VCS», буду туда собирать полезные материалы по система контроля версий!

вторник, 21 апреля 2020 г.

Usability-case. Не сохраняется выбор сезона в БС

Участвую в проекте «Бешеная сушка». Довольно удобно, никуда ходить не надо, а на каждый день есть набор упражнений.

Обычно между двумя сезонами есть свободное время, около месяца. 4 недели ты тренируешься, потом 1-2 недели идут голосования за лучший результат и прочая-прочая, и потом ждешь следующий запуск.

Но карантин внес свои коррективы. Запустили специальный сезон — «карантин, проведи время дома с пользой!». Причем он начался в середине «текущего» сезона. Вот как ввели самоизоляцию, так и запустился новый сезон. И всем участникам текущего сезона зазывалку прислали — мол, иди к нам, сезон начнется сразу после оплаты!

Я туда не торопилась — сразу 2 сушки не потяну. Так что спокойно закончила свой текущий сезон. В конце 4 недели последнее задание на вылет + фото ПОСЛЕ. Я честно сделала и то, и другое. Но отправлять не стала — там надо было в планке стоять несколько минут, и я честно стояла, покрывалась потом и всё такое. А потом на записи увидела, что стою «домиком», задрав попу. А муж молчит, типа так и надо. Переделывать уже не стала — все равно призов не получу, результат слабенький.

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


понедельник, 20 апреля 2020 г.

Панбагон. Название сезона БС не влезло на экран

Участвую в Бешеной сушке. Вышла в меню «Сезоны» на телефоне. Оказалось, что длинное название «специальный сезон» в отведенное ему место не влезает, обрезается :)

Сезоны

Для того, чтобы оформить такой баг, нужно вначале проверить — а где обрезается? На любом телефоне? Или определенной диагонали экрана? Правда, для этого надо иметь доступ к нескольким телефонам с разными данными )))

У меня такого доступа нет. Поэтому предположим, что проблема на любых телефонах. Мы проверили на нескольких, убедились в этом, потом можем ставить баг. Давайте оформим его по шаблону:

воскресенье, 19 апреля 2020 г.

Панбагон. Как волонтера в любовники записали

Нашла в фейсбуке, вроде как вот исходный автор.

Сейчас карантин из-за эпидемии короновируса (а вдруг вы читаете этот пост спустя несколько лет? Ввожу в контекст, напоминаю!). Если хочешь выйти на улицу, то отправляешь смс для получения электронного пропуска.

Бабушкам выходить куда-то вообще нельзя, у них слабое здоровье. Поэтому к ним отправляют волонтеров. Ну и, разумеется, кто-то решил поиграть с системой:



Это из тех забавных багов, которые почти как фича :)
Ну да, есть такое. Исправлять не будет (потому что «а зачем??»).

PS — добавила пост в общую копилку багов. 

четверг, 16 апреля 2020 г.

Варианты настройки системы CI

Неважно, какую именно систему CI (Continuous Integration) вы используете — Jenkins, TeamCity, или какую-то другую. Для всех них можно использовать варианты настройки:
  • от операционной системы
  • от плагинов


От операционной системы


Мы подготавливаем операционную систему машины, на которой будут гоняться автотесты.

Вот, скажем, в официальной инструкции Postman-а есть статья «Integration with Jenkins». Что нужно сделать, чтобы запустить тесты в Jenkins:
  • Установить Jenkins
  • Установить на ту же машину NodeJS и npm
  • Установить на ту же машину newman
Установили? Теперь очень легко конфигурировать задачи — добавил shell-команду, а внутри нее вызов newman. И всё, ничего лишнего!



суббота, 11 апреля 2020 г.

Когда применять тест-кейсы

Тест-кейсы нужны, когда у нас:
  1. Жизненно важные системы, ошибка в которых может привести к гибели (самолетостроение, медицина, ПО для атомных станций). Здесь надо тестировать очень аккуратно и тщательно. 
  2. Сложная система или сложная часть системы. Чтобы каждый раз не вспоминать «а как мне это сделать?», лучше написать тест-кейс.
  3. Постоянно новые люди в команде (все джуниоры проходят через этот проект)
Тест-кейсы не нужны:
  1. Простые системы (веб-сайты одностраничники, мобильные приложения и т. п.).
  2. Ситуации, когда в команде всего один или два тестировщика, знающие свой продукт. Время, потраченное на создание и поддержку тест-кейсов никогда не окупится.



Познакомьтесь со своей системой и потом уже решайте, что подходит именно для нее  — творческие чек-листы, формальные тест-кейсы или микс из этих подходов.

Так как тест-кейсы очень сложно поддерживать, то чаще используют чек-листы или комбинацию "чек-листы & тест-кейсы".

В последнем случае большинство проверок пишут в виде чек-листов, а особо сложные (пойди туда, не знаю куда, принеси то, не знаю что, кувыркнись три раза и громко крикни "ДЕДЛАЙН!", только тогда формочка и откроется) уже в виде тест-кейсов, чтобы каждый раз не вспоминать, как этот хитрый сценарий работает.

PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков

пятница, 10 апреля 2020 г.

Мнемоники ФАКТОР, ПАР, НОС и русская SFDOPT

На моем курсе «Школа для начинающих тестировщиков» есть творческое задание — придумать свою мнемонику по тестированию! Разумеется, оно необязательное 

Посмотрите, что придумали ребята на этот раз!

Евгений: ФАКТОР


Мнемоника на цикл разработки ПО.


четверг, 9 апреля 2020 г.

Правило минимальных чернил в тест-кейсах

Применяйте правило минимальных чернил: если бы документ ушел на печать, то, чем меньше чернил будет потрачено на печать, тем лучше. Чем меньше текста, точечек, буковок, знаков препинания — тем лучше.



И хотя мы пишем тест-кейсы так, чтобы их поняла даже обезьяна, совсем упарываться тоже не надо:

вторник, 7 апреля 2020 г.

Поздравляем Оксану с первой работой!

Одна из выпускниц нашей школы, Оксана, успела найти работу до окончания курса, в тяжелое время карантина! Хотя будем честны, собеседование было 13 марта, так что она еще успела до этого всего... Вот что она рассказала:

**********************************************************************



Хочу поблагодарить всех тренеров! спасибо большое за ваш труд и терпение!
Все было не зря - я получила оффер!

воскресенье, 5 апреля 2020 г.

Клиент-серверная архитектура в картинках


Ссылка на ХАБР (там кликабельное содержание! В блоге такое не сделать)

Знакомая картинка? А вы ведь постоянно сталкиваетесь с этой архитектурой — когда покупаете билет в кино онлайн, бронируете путевку на море или записываетесь к врачу.

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

Об этом я и расскажу в статье. Объясню на пальцах, с примерами и забавными картинками =) Если вы больше любите видео-формат, можно посмотреть мой ролик на youtube на ту же тему.

четверг, 2 апреля 2020 г.

Конференция "Удалённая работа ИТ-компании в 2020", 13-17 апреля

Короновирус, пандемия... Работа из дома. В чатике моих выпускников многие написали, что продолжают работать, просто удаленно. Так и у нас. Точнее, у мужа — я в декрете сижу, у меня ничего не изменилось.

Когда объявили неделю выходных, я уже раскатала губешку на постоянную помощь мужа. Потом закатала обратно ))) Жаль, конечно, что не получилось с длинными выходными ツ. С другой стороны, это просто отлично, что у нас (ИТ-специалистов) вообще есть работа. В текущей ситуации уж лучше так.

Фото из интернета про удаленную работу

Муж уже неделю работает из дома. В целом, полет нормальный. Когда он «задерживается», я открываю дверь в спальню и вопрошаю:

— Солнышко, ты домой то собираешься?

Он смеется и обещает скоро прийти. Ну да, звучит и правда забавно Smile :)  
Вроде ведь и так дома...


среда, 1 апреля 2020 г.

Софт за 30 дней. Кен Швабер, Джефф Сазерленд


Ссылка на OZON

Честно? Не впечатлила. У Джеффа Сазерленда есть другая книга — «Scrum. Революционный метод управления проектами», она намного интереснее. Но она отвечает на вопрос «ЗАЧЕМ», а эта на вопрос «КАК».

И написана эта книга для руководителей. Может, поэтому она мне и не зашла Широкая улыбка :D

Но я реально засыпала над половиной текста. Настолько это скучно написано. Таким, знаете, бюрократическим текстом. Как когда менеджеры сами придумали миссию компании и зачитывают ее всем остальным. Вроде о том, «как будет хорошо жить», но скучно и неестественно.


вторник, 31 марта 2020 г.

Интеграция Jenkins с private-репозиторием в Bitbucket

Если у нас публичный репозиторий, то достучаться до него в Jenkins проблем вообще нет, в pipeline скрипте указываем:

git 'https://okiseleva@bitbucket.org/testbasecode/test_1.git' 

И готово!

А что, если у нас приватный репозиторий? Что, собственно, и будет на реальной работе, кто ж свои автотесты в общий дотуп то кладет =))

Подключать надо через SSH-ключ. Для этого идем в битбакете в настройки проекта —  General— Access keys. И там будет ссылка на актуальную инструкцию!


Сейчас эта ссылка ведет сюда — https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html

Я настраивала для Linux. Ой, ну ладно, муж настраивал, не суть 
Шаги настройки:

Разграничение доступа по папкам Jenkins-а

Как сделать так, чтобы новый пользователь в Jenkins имел доступа только к части проектов? При этом мог создавать задачи и конфигурировать их. Для этого надо разбить проекты на папочки и раздавать права на директорию. Как?

Устанавливаем плагин — Folder-based Authorization Strategy.

Тогда в настройках дженкинса появится стратегия авторизации в папках:


Открываем ее, переходим в раздел «Manage Folder Roles» (над ним еще глобальные настройки есть, там можно дать view доступ)


суббота, 28 марта 2020 г.

Панбагон. Ошибка воспроизведения в youtube после простоя

В последние несколько дней youtube меня разлюбил )))

Там ведь как обычно? Вот ты смотришь видео. Остановился. Можно даже вкладку закрыть! Но когда следующий раз откроешь это видео — воспроизведение пойдет с того места, где ты остановился.

А у меня сейчас получается так. Я остановила видео. Вкладку не закрывала, но с ним не работала. Через часа 4-5 снова вернулась к видео, нажимаю «продолжить», а оно мне ошибку:


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


пятница, 27 марта 2020 г.

Панбагон. Привет, ноунейм!

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

Искала, искала, попробовала justfood — https://www.justfood.pro/. Когда делаешь заказ, там нужно ввести имя, то есть оно у них есть:

Оформление заказа

Так вот, сделала я пробный заказ (990 рублей за 1 день на 2000 ккал), приходит мне такое письмо:

Письмо с пустотой внутри

Упс, имя то забыли! Хотя, напомню, оно у них есть =)


среда, 25 марта 2020 г.

Кроссбраузерные баги

Некоторые баги встречаются только в конкретном браузере. Это когда ошибка не в функционале, а в отображении. Текст расколбашивает, картинка не влезает на экран, такого плана.

Чтобы понять, кроссбраузерный баг или нет, просто проверьте его в другом браузере. Если и там все плохо, значит дело не в браузере.

Основные браузеры:

  • IE
  • Firefox
  • Chrome



вторник, 24 марта 2020 г.

Удаленный запуск джобы в Jenkins через curl

В Jenkins есть возможность запускать задачи удаленно, через curl:

curl -X POST http://API_USER_ID:API_TOKEN@JENKINS_URL/job/JOB_NAME/build -H "CRUMB"



А вот как составить этот curl, мне помогла статья на stackoverflow, которая, в свою очередь, ссылается на оригинальный пост.

Хочу сохранить это решение:

Допустим, мы хотим запустить удаленно задачу под названием «Football».
Дженкинс у нас находится по адресу http://192.168.99.20:8080 и входим ты под пользователем admin.

Что нужно сделать?

1. Создать задачу


1. «Создать Item» (да, в русифицированной версии это так называется)




Со свободной конфигурацией, назвать «Football». 



Хочу заметить, что, если вы собираетесь вызывать джобу через curl, лучше не использовать пробел в ее названии. А то потом огребете проблем там, где не ждали. Это имхо, но лучше использовать CamelCase  или snake_case.

См также:

суббота, 21 марта 2020 г.

Ошибка в Jenkins: newman: command not found

Установил мне админ Jenkins на моем сервере. Стала настраивать связку с Postman по инструкции — «Integration with Jenkins».

Вроде установила и nodejs, и newman. Запускаю тест, а он мне обломчик:


Started by user Админ 
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/Newman_test
[Newman_test] $ /bin/sh -xe /tmp/jenkins166732700398555443.sh
+ newman run https://www.getpostman.com/collections/c2eb72db4c1191c3d36d
/tmp/jenkins166732700398555443.sh: 2: /tmp/jenkins166732700398555443.sh: newman: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

Но как это «newman: not found»?? Ведь если зайти через SSH на сервер и запустить ту же самую команду

newman run https://www.getpostman.com/collections/c2eb72db4c1191c3d36d

То все работает!

четверг, 19 марта 2020 г.

Месяц на пределе. Джесси Ицлер


Ссылка на OZON

Это не бизнес-книга, но это книга победы над собой и саморазвития. И она мне очень понравилась, поэтому я решила написать о ней в основном блоге Smile :)

В чем суть — Джесси Ицлер бегал марафоны, а в 40+ лет решил бросить себе новый вызов и пригласить «морского котика» для тренировок. На месяц. Вот этот месяц в книге и описан, в виде дневничка: день 1, день 2...

Имя «Котика» не называется (ладно, спойлер, один раз его назовут). Так по всей книге и идет: «Котик» сказал то, «Котик» сделал это...

Вообще автор думал, что тренировки сорвутся, потому что пригласил «Котика» под новый год, когда стабильно было -10 градусов, а то и ниже. Как бы не так! Каждый день бегали как миленькие. Автор одевался в несколько слоев термоодежды, а «Котик» бегал в шортах и футболке.

Автор пишет с юмором, из серии «Зачем я в это ввязался вообще??». А такие мысли, надо признать, лично меня посещают, когда я вписываюсь в ту же «Бешеную сушку», да или просто хожу в спортзал.

среда, 18 марта 2020 г.

Вложил аттач? Сошлись на него по тексту бага

Допустим, мы дали скриншоту хорошее название и вложили его в задачу. А потом... В теле задачи пишем: «Результат: отчет падает с ошибкой, см скриншот».

За такое мы на курсах ругаемся:

— На какой скриншот мне смотреть?
— Он там один, зачем уточнять?

Объясняю.
Реальная жизнь выглядит так, на примере бага:

— Вася заводит баг, в нем один скриншот.
— Тестировщица Маша комментирует баг "воспроизвелся на моей ветке тоже", и прикладывает новый скриншот.
— Разработчик Петя не понимает, что творится в логах, прикладывает скриншот, логи, и просит разработчика Мишу посмотреть.
— Разработчик Миша смотрит логи, объясняет Пете, в чем дело, прикладывает аттач с серверными логами, соответствующими клиентским
- ....

В результате вы имеете баг, в котором аттачей полтора десятка. И если в описании задачи написано «см аттач», то автора начинают тихо ненавидеть. Потому что непонятно, а на какой смотреть-то?

суббота, 14 марта 2020 г.

Что такое минимальный файл для воспроизведения бага

Допустим, что у нас есть система, в которую можно загружать файлы:

Пример функционала с загрузкой файла

И вот мы загрузили файл, а система упала. Отчего? Из-за названия, расширения, данных внутри или размеров? Найдите проблему и уберите лишнее:
  • Падает из-за названия? Внутри пусть будет 1 ячейка (одна колонка, одна строка)
  • Нельзя загрузить больше 10 столбцов? Пусть столбцов будет 10, но лишь 1 строка
  • Слишком много строк? Строки оставляем, а колонку делаем одну
  • Проблема в конкретном значении? Например, система не может обработать високосный год? Снова оставляем одну ячейку — с этим годом. А еще лучше — пробуем воспроизвести без файла (если система предоставляет альтернативу).

То есть минимальный файл — это в котором ничего лишнего. Минимум:
  • строк
  • колонок
  • данных внутри
  • длины имени файла

Но, разумеется, на этом минимальном файле баг должен воспроизводиться. Упадет на одной ячейке? Ок, оставляем только ее. А если система первую строку игнорирует / считывает как «шапку», то нам понадобится уже две строки — одна для шапки, а вторая с «падающим» значением.

вторник, 10 марта 2020 г.

Сообщение об ошибке «Ты совсем дурак?»

Встретилось сегодня в фб:


С одной стороны, смешно ))

С другой стороны, не очень. Потому что это хиханьки-хаханьки на тестовом окружении, а потом возьмут да забудут поменять сообщение перед выходом в PROD. И уйдет такая игрушка пользователям.

Хотите пошутить? Шутите в локальной сборке, не коммитя такие изменения в SVC.
А тестировщикам напомню, что сообщения об ошибках тоже надо тестировать. В том числе на грамотность и вежливость.

См также:
Сообщения об ошибках — тоже документация, тестируйте их! — подробнее о том, зачем их тестировать и как