суббота, 29 декабря 2018 г.

Деревня Упыри и другие тестовые данные

На хабре вышла статья от моих коллег — Данные бывают смешными (и вот примеры).

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

Обязательно прочитайте комменты, там вы найдете еще больше нетривиальных примеров!


понедельник, 24 декабря 2018 г.

Где граница «позитив-негатив»?


Выучив новую тему про позитивное и негативное тестирование, мои студенты обычно радостно вводят эту границу в свои чек-листы. Вот туточки позитивные тесты, а туточки — негативные.

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

Это как шкала:
  • Ольга позитивнее Оли; 
  • Оля позитивнее Олечки; 
  • Олечка позитивнее Цудлоыдвалоды
Если речь об именах.

Чем менее вероятен сценарий пользовательского поведения, тем негативнее проверка. Совершенно неважно, ругается там система или нет. Поэтому не надо жестко бить в чек-листах проверки на "блок позитива" и "блок негатива". Читающему тесты из порядка проверок должно быть ясно, что вы считаете наиболее позитивным, наиболее приоритетным значением, а что наименее. Если дать вам на форму пять минут, то вот что успели проверить, то успели, а все, что идет после — не успели. Ужасно будет, если Цукдоцудо успели, а Ольгу не успели, а потом окажется, что как Ольга я зарегистрироваться не могу.

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

См также:
Позитивное и негативное тестирование


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

пятница, 21 декабря 2018 г.

Swagger Petstore — сайт для практики REST-запросов

Разработчики Swagger создали образец приложения, которое можно использовать для практики REST-запросов: http://petstore.swagger.io. Этот сайт имитирует онлайн-зоомагазин, и пользователи могут добавлять и получать информацию о своих питомцах.

Давайте попробуем подергать запросы!

Любой запрос можно дернуть прямо с сайта, достаточно нажать на кнопку «Try it out»



Запрос становится доступен для редактирования. Меняем значения на те, что нам нравятся и отправляем запрос. Чтобы проверить, что мои данные реально сохраняются, мне достаточно изменить имя (name), ну и указать идентификатор (id). Устанавливаем их:

  • id = 25
  • name = test
Остальное не трогаем. Нажимаем «Execute»

Мнемоники "Маза Фака", ГРОБ, LGBT и Лолита

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

Смотрите, что придумали ребята в этот раз!

Дарья 


Маза Фака

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

Я Где Хочу Ищу Эти Ошибки! Маза Фака!

Расшифровывается так :
Какие браузеры можно проверить в первую очередь.

Яндекс, Гугл Хром, Интернет Эксплорер, Опера, Мазилла Фаерфокс.

¯\_(ツ)_/¯


Карина


среда, 19 декабря 2018 г.

Обсессивно-компульсивный тур, или тур невротика. The Obsessive-Compulsive Tour

Смотрели «Теорию большого взрыва»? Вот у Шелдона как раз было OCD — Obsessive-compulsive disorder, обсессивно-компульсивное расстройство. Оно заставляло Шелдона стучать в дверь и говорить «Пенни» обязательно три раза, даже если дверь открывали после первого стука.


В захудалый район автор добавил тур просто по названию. В реальной жизни сложно представить себе ситуацию, в которой OCD помогает жить. Но быть обcессивным в тестировании — выгодно!

OCD тестировщики вводят одинаковые значения снова и снова.
Они выполняют одно действие снова и снова.

Они повторяют, отменяют, копируют и вставляют. Снова и снова, снова и снова.
Игра такая — повторение, мать учения.

Геймификация в бизнесе. Гейб Зикерманн, Джоселин Линдер


Ссылка на OZON

Неплохая книга, довольно интересно было читать. Не «ВАУ, супер», но неплохо. Авторы рассказывают про примеры геймификации и строят прогнозы на будущее. Ведь текущее поколение отлично разбирается в гаджетах и привыкло к куче отвлекающих факторов вокруг, их нужно заинтересовать, в том числе и работой.

Если грамотно выстроить процесс, то геймификация может помочь:

  • Нанимать людей.
  • Поддерживать мотивацию в коллективе.
  • Поддерживать мотивацию клиентов оставаться приверженными вам.
  • Решать сложнейшие задачи (создав игру, ученые продвинулись в лечении ВИЧ!).
  • ...
Один из первых примеров геймификации — игра Bejeweled Blitz. Игра кажется простой, но там очень хорошо отрегулированы такие механизм, как мастерстов, награды, вызовы, очки и уровни.

вторник, 18 декабря 2018 г.

Повтори 24 раза — и сломаешь игру!

Звучит как заклинание, не так ли? 
Но ведь оно работает!

Эту историю моя коллега Ольга Алифанова постоянно рассказывает студентам. Случай из ее опыта тестирования игр:

Если подменить пакет дешевого барахла на дорогое через артмани, в клиенте будет виден дорогой предмет, но сервер знает правду, другие игроки через обмен или аукцион увидят правду. Но! Если 24 раза положить его на склад и забрать обратно, сервер начнет верить клиенту. Вот как игрокам это в голову пришло? А они этот баг нашли. И в итоге сломали экономику сервера.

Просто абстрактный аукцион из интернета

Теперь немного поясню:

воскресенье, 16 декабря 2018 г.

Тур антисоциального типа. The Antisocial Tour

Входит в «Туры по захудалым районам», Tours Through the Seedy District

Вольный перевод статьи Уиттакера из книги “Exploratory Software testing”. Туры помогают искать баги, взглянув на систему по-новому. Тестировщик выбирает тур и следует его цели, не отвлекаясь ни на что другое. Словно турист в незнакомом городе, составил план и пошел!

Антисоциальный человек делает все «назло», особенно если его насильно помещают в противный социум.


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

Если они едут вместе на экскурсию, жена продолжает вести себя «всем назло». Как бы в оппозицию с общим поведением. Все любуются на пейзаж? Она сразу найдет милую белочку и демонстративно рассматривает ее. Все пошли в розариум? Она стоит на входе, тяжко вздыхая.

пятница, 14 декабря 2018 г.

Два пользователя не могут ошибаться (неправда)

Приходит ко мне как-то администратор со стороны заказчика, назовем его Миша:

— Оля, у нас система пишет «Неправильный логин-пароль», хотя пользователь все вводит правильно. Почему?



Ээээээм.... Вопрос поставил меня в тупик. Раз пишет «неправильный», значит, неправильный! На всякий случай потыкала наш тестовый стенд — если правильно ввести, а если неправильно... Да все вроде норм работает.

Редактируем CSV-файлы, чтобы не сломать данные


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

Коллеги написали статью про редактирование CSV-файликов. Для новичков — очень полезная!

У меня вот студенты постоянно спрашивали:

— то «Что такое CSV?»,
— то «А как его читать, ай-яй-яй, в блокноте непонятно, где какая колоночка!»

Теперь вот есть для них полезная ссылочка. Сама плюсуюсь к статье, потом что редактировать автотесты через эксель обычно приводит к #жизньболь. Ведь как раз в автотесте много разных колонок, которые неудобно сопоставлять через блокнот. А как умеет испортить данные эксель — описано в статье. Как и то, как с этим бороться Wink ;)

среда, 12 декабря 2018 г.

Мои 12 недель в году. Часть 7


Первый опытвторойтретийчетвертыйпятый, шестой


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


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

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

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


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


Ох, сколько всего произошло за это время! Владик научился улыбаться, а не только "ест-спит-орет", играть в игрушки, переворачиваться на пузико... Он научился спать ночью с 12 до 5 утра, а потом снова разучился, когда мы начали лечить стафилококк и пошло ухудшение. Мы сдали кучу анализов, выпили много всякой дряни, выкинули весь банк молока... Хотя, думаю, вас интересует вовсе не это  ツ

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

книга: закончить главу 5
— курсы: запустить курс про REST, доработать по отзывам
— фолкс: закрыть пару задачек в джире

Поставленных целей я добилась!

Главу 5 закончила наконец-то, у меня получилось аж 211 листов А4, явно надо будет что-то выкидывать теперь, но «я подумаю об этом позже». Главное — первый черновик закончен! Более того, я уже написала половину главы 6, воть =)

Курс по REST запустила, провела в одиночку первый поток на 50 человек, все получилось очень здорово. Уже внесла в курс кучу улучшалок, но об этом чуть ниже.

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

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

Что успела, если кратко:
  1. Закончила главу 5 книги
  2. Написала половину главы 6
  3. Заходы к книге — почти каждый день, очень стабильно, я довольна!
  4. Делала посты из книги, пополняя бесплатный онлайн-вариант
  5. Запустила курс по REST
  6. Придумала идеи еще для 3-ех курсов ))))
  7. Один из них начала делать, даже наполовину сделала уже
  8. Фолкс — подготовила обучающее видео, сделала немного документации
  9. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  10. Выложила несколько полезных видосиков
  11. Прочитала 4 книги
  12. Testbase — сделала пару улучшалок и добавила новый навык!
  13. Много гуляла =)) Час-полтора-два почти каждый день (иногда я гуляю с сыном, иногда мама)
  14. Находила время на всякие "найс ту ду" 
  15. Съездила в 4дх, наконец-то!!! С беременности муж не отпускал )))) А тут аж пару раз!
  16. Отпраздновала день рождения с друзьями. И даже на работу заехала, полгода там не была!

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

вторник, 11 декабря 2018 г.

У вас поиск не работает, хотя все делаю по ТЗ

У меня есть бесплатное приложение folks, которое показывает пример реальных автотестов на уровне API, которые можно пополнять, не зная кода.

Оно основано на реальных событиях и реальном ТЗ. В нашей системе есть возможность
  • простого поиска — когда пользователь вводит все подряд, а система ищет по значимым полям (ФИО, телефон, адрес...);
  • расширенного поиска — когда другая система шлет запрос по API и хочет получить результат по конкретному полю.

Так вот, пишет мне Заказчик:

— Ольга, почему не работает поиск по дате рождения?

Хм, хм. Вроде должен. Проверяю на нашем тестовом стенде — все работает.

воскресенье, 2 декабря 2018 г.

Я так и делал, не помогает

У меня есть бесплатное приложение folks, которое показывает пример реальных автотестов на уровне API, которые можно пополнять, не зная кода.

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

И вот недавний диалог в одном из чатов:

Студент: Подскажите в чем проблема, запускаю автотест, проходит успешно, но пишет что tests run: 0 а не 1
Тренер: Скрины, как запускали, когда (сразу после скачивания и сборки или когда? что меняли) Скрины результата, скрины этого сообщения.
Тренер: если добавляли тесты — скрины: где они лежат, как назваются файлы
Студент: Ок, счас все сделаем)

Мой сборник историй



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

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


Мастер историй. Пол Смит


Ссылка на OZON


Полное название: «Мастер историй. Увлекай, убеждай, вдохновляй». И она оправдывает это название! Очень понравилась. Да и как может быть иначе? Ведь это просто... сборник историй. Более сотни историй в одной книге. Да там теории почти нет, сплошные истории!

Истории можно и нужно использовать везде. Вот совсем везде:

— На работе:

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

— Дома:
  • вы же не рассказываете друг другу за ужином сухую статистику, правда же?
  • ребенок лучше поймет мысль из истории, а не наставления

пятница, 30 ноября 2018 г.

Миграция данных в кровавом энтерпрайзе: что анализировать, чтобы не завалить проект

Ранее я давала ссылку на доклад своей коллеги Татьяны Бунто на SECR-2018.
Оказалось, что Таня написала статью на Хабр на ту же тему!



Почему я рекомендую вам анализ? Да потому что это тоже тестирование, просто не веб-проекта, а данных. У нас в компании этим вообще тестировщики обычно занимаются ))

Таня дает конкретный чек-лист, на что именно надо обращать внимание. Так что если работаете в похожем проекте, можете применить чек-лист. Поработать вместе с аналитиком, посмотреть на реальные данные — очень полезно бывает!

Ну и просто для развития интересно заглянуть в соседнюю отрасль. Кто знает, может, и вам через годик другой придется анализировать данные? =))

Итого


Чек-лист, на что обращать внимание при анализе данных:


Рекомендую! Wink ;) 

среда, 28 ноября 2018 г.

Зачем нужно обоснование в баге

Когда вы заводите задачу, ее нужно «продать» команде. Вы должны убедить разработчика, что:

  • это действительно баг;
  • его необходимо исправить;
  • его нужно исправить именно так, как мы сказали.

Казалось бы, зачем? Все же люди умные в команде. Раз я поставил задачу, значит, это баг! Значит, надо фиксить!

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

Шаги для воспроизведения
Загрузить отчет, посмотреть на итоговую цифру. 
Результат
57,6 
Ожидаемый результат
57.9

То реакция будет примерно такой:



Почему это баг? И, главное, в чем именно баг?

  • Должна быть точка вместо запятой?
  • Должно быть 9 вместо 6?
  • И то, и то надо исправить или все же баг один, а во втором месте я просто опечаталась?

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

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

вторник, 27 ноября 2018 г.

Панбагон: Увы, весь текст не влез! (разные версии скайпа)

Обсуждали мы тут в чатике скайпа "преступления закрытой комнаты", что тут же навело меня на идея картинок для слайдов. Решила написать это через команду «/me» — так это отображается в виде эмоции:


Коллега спрашивает, что такое «ке картинок». Я не понимаю, что она не понимает, но объясняю, что Вика — это моя художница. Мало ли, не дочитала фразу. Ан нет, просто скайп ее так и отображает:


Ибо нефиг слишком длинные статусы писать, как говорится!

понедельник, 26 ноября 2018 г.

Как отправить массив через form-data в Postman

Рассмотренные в статье примеры вы можете опробовать и сами, так как запросы мы будем отправлять в бесплатное приложение Users.

Простой массив


Он есть в методе CreateUser — и для задач, и для компаний.

В json формате он выглядит так:

{
  "email": "test_cu_32@mail.com",
  "name": "Рест 32",
  "tasks": [39],
  "companies": [15, 20]



Простой массив в json

воскресенье, 25 ноября 2018 г.

FAQ по консолям

1. В линуксовых системах пароль при вводе не видно. Это может испугать (я что-то делаю не так), но вы все делаете верно

2. Почему программа ругается на адрес с обратным слэшем \

Потому что не все терминалы ее поддерживают. Консоль Windows нормально воспринимает путь, где все слэши обратные. Putty и Cygwin – нет.

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

Быстрый вариант – открыть эту папку в WinSCP, кликнуть на адресную строку и нажать "Копировать адрес".

Более медленный вариант для Win:

Перейти в нужную папку в "Проводнике" и кликнуть на адресную строку.
Получится адрес, который надо скопировать и вставить в нужный терминал. Внимание, помним про слэши – для Putty их придется заменить на прямые /

См также:
WinSCP — что это и как использовать


PS: статья написана в помощь студентам курса «Логи как инструмент тестировщика», на котором надо искать причины ошибок в серверных логах.

пятница, 23 ноября 2018 г.

Вложил в тест-кейс аттач? Поясни его!


Это касается всей тестовой документации, будь то тест-кейс, чек-лист или баг-репорт. Но пример у меня будет про описание результата в тест-кейс.

У моей коллеги Ольги Алифановой был в живой природе такой случай: «Сравнить лог с приложенным файлом, убедиться, что нет отличий» — весь ожидаемый результат в тест-кейсе. Приложен лог, который устарел на три версии.

  • На что смотреть? 
  • Чего в логе не должно быть? 
  • Что должно? 

вторник, 20 ноября 2018 г.

Аналитика на 100 млн. данных (видео)

Видео с конференции SECR-2018 — Аналитика на 100млн. данных. Краткий ликбез для системных интеграторов, Татьяна Бунто.

Статья на хабре на ту же тему — Миграция данных в кровавом энтерпрайзе: что анализировать, чтобы не завалить проект

Таня рассказала пример из реальной жизни, как тестировать персональные данные — ФИО, ИНН, адреса, паспорта, телефоны...Если ваша система получает такие данные от какой-то другой, не мешает проанализировать, что вы вообще забираете. Таки да, данные тоже надо тестировать!



Обычно этим занимаются аналитики, безусловно. Причем аналитики из системного интегратора. Потому что именно интеграторы обычно делают ETL-процесс (extract, transform, load), который берет данные из одной системы и кладет их в другую.

понедельник, 19 ноября 2018 г.

Как продакт выбирает фичи

Наш продакт описал на конфлюенсе, как он выбирает фичи, которые стоит сделать. Статья получилась простая и понятная, решила поделиться с вами. Публикуется с согласия автора.

Для приоритезации развития продукта сухих цифр и рейтингов часто не хватает.

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

Волшебная пирамида



суббота, 17 ноября 2018 г.

Панбагон. Показал рекламу, можно и зависнуть!



Для Smart TV у СТС есть свое приложение — заходи, смотри сериалы и шоу на большом экране. Главное, чтобы телевизор был от 2014 года или старше.

Кстати, про старше — мы обновили мелкий телевизор этим летом, как раз Samsung со Smart TV. Так вот на нем программы тупят намного чаще, чем на старом. Ох уж эти нестабильные версии, когда операнционка обновилась, а приложения не могут угнаться за ней...

четверг, 15 ноября 2018 г.

Панбагон. Опечатка в слове «кормление»

И снова я про приложение Happy Baby. Знаете, почему полезно давать зеленому новичку свое приложение? Да потому что он его изучит вдоль и поперек, найдя то, что вы вообще не замечали!

Я тут обратила внимание, что при добавлении кормления блок «Кормление грудью» называется с опечаткой — «Еормление грудью»:

Еормление 

И это не новый баг, в сентябре он тоже был. А я даже не замечала. Зачем вчитываться? Скорочтение и все такое )))

Usability-кейс. В блоггере нет автосохранения редактирования поста

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

Дело медленно идет, потому что работаю урывками:

  • У меня маленький ребенок. Иногда сядешь, начнешь писать, и тут надо к Владику идти.
  • Я еще до беременности привыкла делать небольшие заходы к книге. Так я могла уделить ей внимание на работе. Ну и что, что 5 минут, все лучше, чем 0. Теперь если состояния потока нет, быстро надоедает.
Так вот. Поискала в блоге, нет у меня поста-агрегатора под мнемоники. Написала — «Мнемоники в тестировании». Исходно внутри от англоязычных коллег всего пара мнемоник было. Но мне надо было опубликовать пост, чтобы потом делать на него отсылки, если я буду какую-то мнемонику отдельно выносить (а надо признать, несколько из переведенных мне очень понравились, вынесу отдельно).

Потом сижу, перевожу, добавляю сразу в и в книгу, и в блог-пост. Так и висит он в режиме редактирования. Честно говоря, уже надоели эти мнемоники, две недели перевожу их )) И вот он, свет в конце туннеля! Почти все обработала! И тут...

четверг, 8 ноября 2018 г.

У вас некорректное выражение, найдите его (ребенок)

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

Почему черт знает? Потому что текст сообщения непонятный:

Поле содержит ссылку или некорректное выражение

Вроде все ясно, да? Ну нефиг ссылки лепить, всего и делов... Но под огонь попадают нормальные слова или фразы. Вот пара примеров:

Примеры


Ребенок

Не верите? Вот пруфскрин!




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

Как отправить через Postman картинку

Чтобы отправить через Postman картинку или любой другой файл, достаточно переключить тип параметра с Text на File.


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



Для передачи картинки в Users есть метод AddAvatar. Как его вызвать:

Users. Тут можно передать файл через REST-запрос!

У нас в Users очередное пополнение в API-методах!


Мне очень хотелось сделать метод, который будет принимать на входе не параметры, а файл. Это ведь встречается в реальной жизни, надо тогда и на курсе пощупать. А заодно и вам показать, ведь Users — бесплатная общедоступная система.

Исходная идея была добавить два метода — PUT и DELETE.
Фриланс-разработчик ее отверг и все сделал через POST. Ну, хотя бы так...

Тем не менее вы можете пощупать:

  • AddAvatar — добавить аватарку пользователю
  • DeleteAvatar — удалить аватарку (аналог метода DELETE, можно отправлять с пустым телом)
Приятных экспериментов! Wink ;)

См также:
Как отправить через Postman картинку — пошаговая инструкция вызова метода AddAvatar


PS — методы сделаны специально для студентов моего курса «Тестирование REST-API». Заходите на курс, расскажу, как именно тестировать апи =)

понедельник, 5 ноября 2018 г.

SFPDO (San Francisco Depot) — мнемоника от James Bach

Оригинал статьи — http://www.satisfice.com/articles/sfdpo.shtml.

Сразу оговорюсь, что не ставила себе цели точного перевода всей статьи. Но выписать саму мнемонику хочу, для книги надо Smile :).

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


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

Итак, расшифруем мнемонику:

воскресенье, 4 ноября 2018 г.

Мнемоники в тестировании

Мнемоника — слово или фраза, которая помогает нам что-то запомнить. Самая известная мнемоника — «каждый охотник желает знать, где сидит фазан», помогающая запомнить цвета радуги.



В тестировании они тоже применяются. За рубежом очень активно, там понимают, как это здорово и полезно!

Американцы вообще любят придумывать мнемоники. Примеры:

  • SFPDO (San Francisco Depot)
  • RCRCRC
  • FCC CUTS VIDS
  • FAILURE
  • CCD IS EARI

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

суббота, 3 ноября 2018 г.

Тестирование локализации: собранные грабли

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

Историю свою Света написала, посетив митап по тестированию в своем городе. И это  дополнение к тому, что рассказывала на митапе Саша Ковалева. Не знаю, будет ссылка на видео с митапа или нет, но мне и эта история понравилась! Дальше со слов автора:

Саша рассказывала про локализацию и я вспомнила свои проекты...

Первый раз я столкнулась с переводом сайта в 2008 году. Небольшой стартап каким-то чудом получил заказ на локализацию сайта одного автомобильного гиганта. Фиксед прайс, что подразумевало сжатые сроки. Мы наступили на все возможные грабли. Я узнала очень много нового про кодировки, сортировку, файлы ресурсов и так далее... Хорошо что там были только европейские языки. Плохо что был немецкий Smile :).

понедельник, 29 октября 2018 г.

State Transition на примере тортика!

Вчера в чатике моей школы был очень интересный диалог по поводу рисования State Transition. Студентка рисует его для просмотра сериала и пытается разобраться, как это сделать:

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

— Ну смотрите, Вы продолжаете описывать и смотреть на вещи, как пользователь, а надо как тестировщик. Сериалы из пустоты не берутся. Кто-то их закачивает. Значит, все же связка "сериала не существует" и "сериал загружен на сайт" — уже есть)

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

— По хорошему у тестировщиков на это есть права) и им дают необходимый доступ

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


Постановка мозгов через тортики


Тут моя коллега решила объяснить рисование карты на примере... Тортика! Дальнейший диалог был просто потрясающий, не могу не поделиться им с вами (разумеется, с разрешения коллеги, все же это ее идея, а не моя). Итак, приступаем:

— Вот смотрите...торт любите? Или другую еду какую-нибудь)
— Допустим)
— Отлично.

Чтобы приготовить торт, нам нужны ингредиенты, правильно? Это то, из чего он состоит. Как и наши объекты из параметров, но только в граммах.
Торт "не существует"
Так вот, от того, что какого-то ингредиента будет больше/меньше, состояние торта не изменится. Он будет по-прежнему "не существует".

Как пустой JSON вешает библиотечку Axis

Если вы используете открытую библиотеку Axis, попробуйте послать в приложение пустой JSON. Он вполне может повесить все напрочь.

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

Скажете, что «никто в здравом уме не будет слать пустой JSON»? Ха-ха-ха!  
Мы о баге библиотечки именно так и узнали — тестовый стенд стал зависать. Причина неизвестна. Искали, искали... И вот нашли. 
Зачем разработчики интеграции посылали такие сообщения — непонятно. Но пришлось просить их прекратить ¯\_(ツ)_/¯

На момент написания этого поста баг еще не исправлен (версия 1.4). А даже если бы был — так ли просто обновиться? Казалось бы, делов на 5 минут, обновил библиотеку, и свободен.

вторник, 23 октября 2018 г.

Как создать проект в редмайн

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

Чтобы выполнить инструкцию, надо иметь права администратора!

1. Нажать кнопку «Новый проект»


понедельник, 22 октября 2018 г.

Принцип лопаты (для локализации багов)


Когда вы находите баг, нужно покопаться рядышком. Вдруг вы нашли всего одно проявление, а их сильно больше? Посмотрим на примере. Кто у нас не умеет локализовывать баги? Правильно, Кевин!

И вот он тестирует форму ввода. В поле «Доход» по ТЗ можно вводить только числа. Он вводит символ «А» и... Символ вводится!


Кевин рад, он нашел баг! Для него баг — это орешек. (вспомнили же «Ледниковый период» сейчас, да?)

воскресенье, 21 октября 2018 г.

Панбагон. Примеры плохих сообщений об ошибке (PayPal)

Пытаюсь зарегистрироваться на PayPal. Вот окно подтверждения названия компании. Ввожу туда данные как в примере — IP FIO. Получаю гениальный текст "Произошла ошибка"


Это ошибка где? Мне с ней что делать? Я что-то не так ввела? Что? Как исправить? Непонятно!

пятница, 19 октября 2018 г.

Знакомьтесь, это — Кевин! Белка-истеричка в тестировании

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

Знакомьтесь, это Кевин — белка-истеричка!


Его реакция на баг выглядит примерно так:



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

Мнемоника БУНТ ТЕНИ и стихи от Лилии

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

Сегодня у нас в программе стихи и мнемоники от Лилии

Стихи


Я решила быть сейчас
Тестировщиком для вас.
Чтобы баги находить,
Улучшения проводить.

В школу тестинга пошла,
Знаний много извлекла.
Практики хоть отбавляй:
Кейсов больше добавляй.

понедельник, 15 октября 2018 г.

Как отправить REST-запрос в Postman

Если вы никогда раньше не слышали про REST-запросы, то вам сюда ツ

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


Отправить первый запроса с нуля


Отправлять мы будем запрос doRegister

REST отличается от SOAP-а тем, что тут необязательно должен быть контракт (WADL). И если его нет, то без документации вы запрос не отправите. Попробуем с документацией!

1. Запустить Postman — он сразу откроет окно ввода запроса. Слева отображается история выполненных ранее запросов. Исходно она пуста, но скоро заполнится =)


воскресенье, 14 октября 2018 г.

Успешный опыт студентки на собеседованиях


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

Но "это же тренер, она в тестировании больше 10 лет, а вот как быть нам, новичкам...". И истории таких же недавних студентов котируются выше моих уверений, что все будет хорошо =))

Наша выпускница Маша (все имена изменены, совпадения случайны) поделилась своим опытом. Она быстро нашла первую работу после выпуска из школы несколько месяцев назад. А сейчас уже работает на новой!

Итак, Машина история:

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

Маша: у меня была первая рабочая неделя на новой работе)

Вася: Поздравляю!)) Надеюсь, что у нас, всех новичков, после данного курса тоже будет новая любимая работа))

Маша: уверена) вакансий очень много
Маша: я резюме в открытый доступ не публиковала, нацеленно отправляла 4м компаниям
Маша: процесс может быть долгим, а может быть быстрым)

Маша: думала, что месяц точно без работы буду...в первый понедельник своей безработной жизни отправила резюме, в среду уже проходила 2х ХРов, в четверг было знакомство с 1 QA лидом, в пятницу из 3й компании сразу с тим лидом) на 2й неделе пошла на техническое собеседование в компанию, которая была в приоритете, в четверг уже был оффер от них...

понедельник, 8 октября 2018 г.

Краткая шпаргалка от Павла по заведению бага

Эту шпаргалку написал мой коллега Павел Абдюшев в помощь моим студентам еще года 3-4 назад (во времена недельного интенсива).

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


Решила, что пора поделиться им со всеми. Студенты до сих пор помнят ее именно как «Краткая шпаргалка от Павла», так что заголовок сохранила знакомый. А вот и чек-лист:

воскресенье, 7 октября 2018 г.

Ретроспективный анализ ошибки

Нельзя найти все баги. Вы все равно что-то упустите. И в продакшене всплывет ошибка, которую вы не заметили.Что делать в такой ситуации?

Я пропустил баг...

Искать виноватых бесполезно. Окей, виноваты не вы, проверку не выполнил Вася. Дали втык, отобрали зарплату. Полегчало? Через месяц Маша допустит ту же ошибку. Повторяем наказание. Ничего не меняется. Ребята ходят по граблям, на которые уже наступали.

Но ведь важен не сам факт допущения ошибки. Важно, какой урок из нее вынес человек. Почему мы не любим новичков? Потому что у ребят со стажем есть опыт. Не только хороший, но и плохой. Они знают, что бывает, когда забываешь проверить поле на пустоту. Они видели, отчего может развалиться сервер. Помнят, что значит ошибка ORA-54032 по горькому опыту. Они уже наступили на грабли и не повторят ошибку.


Мой метод


Я сохранила себе шаблон для заполнения. Фактически это набор вопросов, на которые стоит ответить. Чек-лист «а не забыл ли я подумать вот о чем?». Он помогает не забыть копнуть чуть глубже и понять, что надо сделать, чтобы ошибка не повторялась.

А еще это краткое описание проблемы. Ведь в задаче в баг-трекере может быть 100500 комментариев ща время ее исправления. А тут только сжатая информация — где был корень зла, какие предприняты меры предосторожности. Можно перечитать даже спустя год и все вспомнить. Или показать коллеге, у которого возникла схожая проблема.


Примеры


В гуглодоке оно как-то лучше смотрится, чем в блоггере =)
Но список вопросов могу продублировать:
  1. Когда и где обнаружена?
  2. Суть проблемы 
  3. Причина проблемы
  4. Решение проблемы
  5. Меры по обнаружению и исправлению у Заказчиков
  6. Более подробная информация

среда, 3 октября 2018 г.

Как прочитать русский текстовый файл в хроме (там крокозябры)

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

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


Что делать в таком случае? Варианта два.

Users. Тут можно пощупать REST-методы с массивами!

У нас в Users пополнение в API-методах!


Я решила сделать методы с массивами. Чтобы:
  • Можно было в одном запросе сделать «сразу все» — и пользователя создать, и связать его с задачами и компаниями;
  • Показать своим студентам, как отправлять массивы внутри JSON.
Описание методов доступно на конфлюенсе:
  • CreateCompany — создать компанию.
  • CreateUser — создать юзера, сразу связать его с задачами и компаниями.
  • CreateUserWithTasks — создать сразу и юзера, и задачи для него. Плюс связать с компаниями.
Описания методов есть, они общедоступны. Так что пробуйте, вызывайте! Попробуйте протестировать эти методы, на бизнес-логику, обязательность полей, well-formed json и так далее. Отличная будет практика Wink ;) 
PS — методы сделаны специально для студентов моего курса «Тестирование REST-API». Заходите на курс, расскажу, как именно тестировать апи =)

воскресенье, 23 сентября 2018 г.

4 типичные ошибки оформления бага новичком

На своих курсах для начинающих тестировщиков мы обнаружили 4 типичные ошибки, которые допускают новички. В итоге составили список возможных причин комментария тренера «не локализовано / не воспроизводится».



1. Битые ссылки

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

Потому что это:
    а) неуважение к окружающим;
    б) потеря их времени;
    в) означает, что вы не проверили баг по собственным шагам;

Так зачем читать баг дальше, если вы его сами не проверяли?

четверг, 20 сентября 2018 г.

Bug magnet — аддон тестировщика для заполнения полей



Ссылка на аддон — https://bugmagnet.org/

Я сама узнала про эту штуку из флудилки своих выпускников, когда мы обсуждали чек-лист для тестирования email. Тогда то один из студентов сказал:

— Я использую плагин Bug magnet, очень удобно. Не надо ломать голову, какими значениями заполнять поля, как сгенерировать корректный или некорректный емейл. Да и вообще там можно почерпнуть идеи «что потестировать».

Заинтересовалась, установила, посмотрела. И правда, прикольная штука!

Устанавливаете плагин в хром. И тыкаете правой кнопкой на любое поле, куда можно вводить данные. В менюшке появится Bug Magnet и варианты заполнения поля. А тип поля может быть разный:
  • Name (имена)
  • Email
  • URL
  • Номер кредитной карты
  • Просто числовое поле
  • ....

Командная строка Linux. Уильям Шоттс


Ссылка на OZON

Мои выдержки из книги:
Шикарная книга! Подойдет как человеку, который Linux в глаза не видел, так и тому, кто уже что-то умеет. Я вообще по работе с линуксом сталкиваюсь, систему нашу там поднимаю, например =) И с командной строкой работаю. Но книга прямо таки заворожила.

Первую половину книги я усердно повторяла в консоли все, что там читала. А потом пошли не очень интересные мне главы про устройство сети, монтирование, vi... Там уже стала повторять меньше, а потом ребенок родился, вообще некогда стало))) Но книгу дочитала, причем с интересом!