пятница, 22 марта 2019 г.

Нестандартные мнемоники: колыбельная и расшифровка исследовательских туров

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

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

Анна, колыбельная


На кратенькую мнемонику это не похоже, но Остапа понесло ))

Колыбельная (известная всем с детства, записанная на подкорке) – подходит для тестирования мобильных приложений. Чтобы не забыть что-нибудь важное.

Баю-баюшки-баю
Спящий режим. Выход из него. Реакция приложения.
Не ложись ты на краю
Проверяем горизонтальную и вертикальную ориентацию, а так же переход из других приложений из горизонтальной в вертикальную и наоборот. Сюда же можно UI.
Придёт серенький волчок
Валятся смски, пуши и прочее
И ухватит за бочок
Жрём память всеми способами
Он потащит во лесок
Авиарежим, wi-fi, 3G/LTE
Под ракитовый кусток
Геолокация
Там птички поют
Входящие звонки, звонки по скайпу и месенджерам, параллельно включенная музыка фоном в другом приложении
Детям спать не дают
Не даём девайсу выключаться максимально продолжительное время



четверг, 21 марта 2019 г.

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

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


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


Возьмем метод CreateCompany. У нас есть пример вызова в ТЗ для REST-запроса. Но мы знаем, что аналогичный запрос есть и в SOAP. А как его отправить, если бы примера в доке не было?

В SOAP хорошо то, что у нас всегда есть WSDL схема, по которой Soap Ui сам генерит заглушку запроса, остается только заполнить ее. Но это работает с простыми полями, а как нам заполнить этот массив?

Заглушка запроса — как заполнить массив?

Как назвать элементы внутри массива? Мы можем это проверить, вызвав метод getCompany! Проверим компанию, в которой есть сотрудники, посмотрим в ответе, как выглядит массив:

понедельник, 18 марта 2019 г.

А не поздно ли мне становиться тестировщиком?

Периодически сталкиваюсь с таким вопросом:
  • Мне 35, не поздно ли менять кардинально профессию и идти тестировать?
  • Мне 30, только вышла из декрета, не поздно ли мне?
Такие вопросы задают на форумах, мне в личку, в чатиках... Вроде и хочется попробовать, но всегда есть сдерживающий фактор:
  • а у меня образование гуманитарное;
  • не работала уже 3 года;
  • возраст же!
  • ...
Так поздно или нет? Стоит бросать все и уходить в тестирование? Смогу ли я, с таким то образованием?



Сможете! Если захотите Wink ;)

Да, тестирование — эта та отрасль, куда достаточно легко войти. От джуниора требуется голова на плечах, умение гуглить, да быстрая обучаемость. Разумеется, если он уже чему-то научился на курсах или самостоятельно, это будет плюсом в карму. Но устроиться на первую работу можно и без особых навыков.

Низкий порог входа не означает, что тестирование — это легко, просто сиди и тыкай в кнопочки. Тут можно постоянно развиваться! Но для Junior позиции нужна в основном голова на плечах. Сами искали джуниора недавно, знаю, о чем говорю.

Секрет успеха прост:

вторник, 12 марта 2019 г.

Панбагон. В мобильной версии дата ожидания товара — месяц назад

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

Мобилка

Все бы хорошо, только сейчас 12.03... Так что поставка ожидается «месяц назад» ¯\_(ツ)_/¯
Типичная ошибка документации:

  • или последняя поставка была 18.02, просто не убрали плашку
  • или поставка ожидается в 03 или 04 месяце, опечатались
По крайней мере, так я думала, пока не села писать этот пост и не открыла веб-версию, чтобы скопировать ссылку для оформления бага.

Рисуем алгоритм сложной процедуры из ТЗ

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

См также:
Как составлять вариант использования

А на нашей стороне надо проверить таблицу инкрементов, попробовать выбрать этот инкремент, проверить, создавать новые карточки или обновлять старые, и другие подробности. Если смотреть через админку, триггер запускал три задачи:
  1. Подготовка данных
  2. Загрузка
  3. Очистка буфера
Каждая задача выполняет внутри кода выполняет несколько действий. А мне надо подготовить набор автотестов на каждый этап. Значит, надо разобраться, что там происходит. Я сначала долго тупила над «пользовательской» докой, пытаясь понять, как оно устроено внутри, а потом пошла к разработчику и попросила объяснить «для блондинок».

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

По итогам обсуждения я создала в конфлюенсе раздел «Техническая сторона сценариев, алгоритмы» и переписала туда все со своего листочка, полученный алгоритм и рисунок (в visio накидала):
  1. null => 1. Выбираем все записи из таблицы INCREMENTS, где import_status is null и устанавливаем им значение import_status = 1.
  2. Удаляем неактуальные записи из буферных таблиц (физ лица и телефонов).
  3. Грузим физиков по условию in (id_increment, для которого import_status in 1).
  4. Грузим телефоны по условию in (import_status in 1).
  5. Создаем связи телефон - физик или телефон - юрик (тип контрагента смотрим по staging).
  6. Удаляем физиков из буфера, если не было ошибок на этапе загрузки.
  7. Удаляем те телефоны, у которых есть связи (проверяем наличие record_id физика/юрика в staging).
  8. 1 => 2. Выбираем все записи из таблицы INCREMENTS, где import_status = 1 и устанавливаем им значение import_status = 2.


понедельник, 11 марта 2019 г.

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


Первый опытвторойтретийчетвертыйпятыйшестойседьмой

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


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

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

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


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


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

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

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

— книга: закончить главу 6, половина главы 7
— курсы: запустить курс про локализации, доработать по отзывам
— курсы: начать делать новый курс (соап или автоматизация)
— фолкс: закрыть пару задачек в джире.

И ведь все успела! Даже перевыполнила план по книге:
  • закончила главу 6;
  • сделала главу 7 (41 стр);
  • и почти закончила главу 8 (ха, тоже 41 стр на текущий момент)! 
Курс по локализации запустила, сохраняю сейчас лучшие работы как шаблоны. Доработка по отзывам будет потом, потому что курс еще не закончился первый.

Выбрала новый курс, все-таки решила сначала закончить с REST-ом, а потом уже делать SOAP. Так что мой новый курс будет «Автоматизация на уровне Postman». Делать его начала, уже 3 урока записала.

И даже пару задачек в фолкс закрыла! Правда, на последней неделе, чисто чтобы поставить плюсик у этих целей и не писать о том, что "некогда было" =))) Да и то оказалось, что по двум задачкам я уже все сделала, осталось только кнопочку «закрыть» нажать, добавив завершающий комментарий. И вуаля, план 12 недель готов!

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

четверг, 7 марта 2019 г.

Пример карты сценариев для визуализации ТЗ

Когда мы рисуем S&T (State & Transition Diagramm), то ограничиваем себя. Надо выбрать именно объект. Стрелочки — это именно переходы, а кружочки — состояния. Никаких зарисовок интерфейса или чего-то такого.

Это не всегда удобно. Потому что зарисовка ТЗ в графическом виде может не удовлетворять требованиям составления S&T, но поможет лучше разобраться, "что тут происходит". Так почему бы и нет?

Вот, например, работа одного из моих студентов — функционал взаимодействия с конкретной книгой:


Да, это не S&T, скорее карта сценариев. Ну и что? Зато посмотрите, какая крутая! Если она будет в ТЗ, то сильно упростит его чтение. Любой новичок поймет, что тут происходит! Значит, проще подключать коллег из других проектов на регресс.

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

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


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

Мнемоника ПОКРОВ день

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

Смотрите, что придумала Аня!

ПОКРОВ день – народно-христианский праздник восточных славян. В этот день, среди прочего, молились Роману Сладкопевцу (Савину?) — о просвещении разума, научении духовной грамоте и о помощи в трудном учении.


Итак, древнеславянские заветы о борьбе с жуками*:

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

* Bug (англ.) – жук, клоп, жучок, насекомое, букашка

По-моему, круто!

PS — если у вас тоже есть интересные мнемоники, не стесняйтесь, присылайте на ok.molechka@gmail.com! Для этого необязательно быть моим студентом)))

PPS — добавила пост в копилку мнемоник моих студентов, где их еще больше! Читайте и вдохновляйтесь!