воскресенье, 20 мая 2018 г.

Лайфхак на каждый день. Игорь Манн и Фарид Каримов


Ссылка на OZON

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

Мои выдержки из книги:


Выдежки по остальным категориям:

Работа и карьера


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

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

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

Лайфхаки по мотивации. Мой топ-6

Моя выдержка из книги «Лайфхак на каждый день». Советы по мотивации:


1. Повесьте мотивирующую картинку со своей целью на экран блокировки смартфона. Будете часто ее видеть!

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

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

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

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

Лайфхаки по работе с компьютером

Моя выдежка из книги «Лайфхак на каждый день» из раздела работы с компьютером.


1. Летающие руки


Используйте горячие клавиши. И программы:
  • ActiveWords для Windows
  • Keyboard Maestro для Mac OS.
С их помощью вы создадите макросы для автоматизации рутины.


2. Доп инструменты


Я их собрала из разных лайфхаков. Что-то использую сама давно (Ccleaner, adblock, unlocker, скриншотер), о чем-то только слышала... В любом случае решила собрать вместе:
  • Автозапуск — настраиваете один раз и компьютер после перезагрузки сам включает все нужное, пока вы пьете чай.
  • Менеджер буфера обмена — чтобы не потерять то, что вы скопировали, а потом забыли и скопировали что-то еще.
  • Программа-чистильщик Ccleaner — почистит диск, реестр, автозапуск и ненужные программы.
  • Adblock — чтобы не видеть ненужной рекламы
  • Скриншотер, например Monospan — если консультируете людей по телефону или скайпу, то это жизньболь, пояснить им, где находится кнопка. А так быстренько сняли скриншот, показали стрелкой место и загрузили через интернет. 15 секунд, которые экономят время на объяснения.
  • Unlocker — для удаления неудаляемых файлов на винде. Ага, сама пробовала, работает!
  • Alternativeto.net — сервис альтернатив. Если у вас не ставится программа или смущает ее цена (например, на фотошоп), идите сюда. Сервис подскажет альтернативы. Там же будет краткое описание, ссылка на оф сайт, отзывы пользователей и рейтинг.

См также:
Лайфхаки по мотивации. Мой топ-6 — другая выдержка из книги.
Лайфхак на каждый день — мой отзыв на книгу и остальные лайфхаки.
Бизнесхак на каждый день — мой отзыв на книгу бизнесхаков.

Панбагон про тортики. Название кнопки вылезает за рамки

В прошлом году я прошла кулинарную школу Алины Макаровой. Очень хотелось тортики научиться печь. Такие, знаете, красивенькие, а не то, что у меня получалось раньше ツ

Потом написала отзыв на курс. Для этого открыла сохраненную в избранном ссылку на конкретный курс на конкретные даты — https://alinamakarova.ru/detail.php?ID=2410

И сразу бросилось в глаза, что:
  1. Страница пустая (информации по курсу нет)
  2. Справа на кнопке «Товар временно недоступен» надпись уезжает за пределы экрана
Подозрительно пустая страница и явный баг на кнопке

Конечно, хорошо было бы не ломать ссылку на уже проведенный курс. Делать ее непустой, а с описанием. Просто сверху большая плашка «Курс уже прошел. Ближайшие даты проведения: ХХХ». И любезная ссылочка туда, где можно записаться на курс.

пятница, 18 мая 2018 г.

Мнемоника? Туры в стихах!

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

В этот раз у нас не совсем мнемоника. Участница школы Саша написала... Стихи! Закодировав туда названия исследовательских туров.

Сашины стихи


Путеводитель стоит денег,
Сориентируйся-ка сам!
Найди, блистая интеллектом
Кафе, FedEx, универсам…

     Там на задворках внеурочно
     Ты встретишь друга иль врага,
     Там сборщик мусора расскажет,
     Зачем, откуда и куда:

«На предыдущем перекрестке
Свернул бы ты, попал в музей.
Плохой район у нас, братишка,
Ступай отсюда поскорей!

Расширение CRUDL как новая техника тестдизайна (семинар в Москве)


Когда: в понедельник, 21 мая
Во сколько: c 18:00 до 22:00
Где: метро Парк культуры: Турчанинов переулок, д. 6 стр. 2, БЦ «Крымский мост», 1 этаж, Офис компании HFLabs
Сколько стоит: 500 р
Где зарегаться: https://sergey-martynenko.timepad.ru/event/723897/

В ближайший понедельник у нас пройдет новый семинар Сегрея Мартыненко. Вчера он рассказывал про метрики и KPI, а на подходе техника CrClRUcUhUsUtDeDaLO. Название страшное, но в мнемонике этой явно спрятано много всего интересного!

Сергей — опытный эксперт в аналитике, тестировании и управлении проектами, автор блога 255 ступеней.

Анонс от Сергея


CRUDL расшифровывается как Create, Read, Update, Delete, List. Отличная напоминалка для генерации чеклистов. Так же подходит для верификации требований на полноту. Уж очень много аналитиков описывает создание объекта, но не описывает изменение и удаление. Как результат, когда доходит дело до реализации программист делает это не как надо, а на свое усмотрение. И хорошо, если тестировщик заметит проблему. Хуже, когда все это уходит в эксплуатацию. Проблемы бывают забавными, а бывают не очень.

Например, в популярной Jira до версии 6.2 не логировалось удаление задачи. Нормальная такая ситуация. Заказчик заказывает новую фичу, исполнитель ее реализует, указывает количество часов и после получения заказа заказчик удаляет задачу. И все.

McDonald's. Как создавалась империя. Рэй Крок


Ссылка на OZON

Success story, что очевидно из названия. Ну кто не знает Макдональдс? 

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

Причем начал он в 53 года! Вот уж где можно успокоиться «Да у меня еще все впереди!». Конечно, автор до 53 лет не сидел без дела, он с детства любил мечтать и все время пытался что-то сделать. То магазин нотный откроет, то стаканчики пойдет бумажные продавать, то миксеры. И потом весь этот опыт, весь этот стаж пойдут ему на пользу как главе корпорации. Особенно опыт продавца, ведь его уже многие знают и доверяют ему.

среда, 16 мая 2018 г.

Семинар «Метрики тестирования. И немного KPI»


Когда: сегодня, 16 мая
Во сколько: c 18:00 до 20:00
Где: метро Парк культуры: Турчанинов переулок, д. 6 стр. 2, БЦ «Крымский мост», 1 этаж, Офис компании HFLabs
Сколько стоит: 300 р
Где зарегатьсяhttps://sergey-martynenko.timepad.ru/event/722425/

У нас сегодня вечером в переговорной состоится митап Сергея Мартыненко о метриках в тестировании.

Сергей — опытный эксперт в аналитике, тестировании и управлении проектами, автор блога 255 ступеней

Анонс от Сергея


"Если ты что-то не можешь измерить, то ты не можешь этим управлять"

Довольно известная фраза. Может быть, она верна, может быть нет. Скорее, она неверна. По крайней мере, так говорил Деминг. Ему я верю.

четверг, 10 мая 2018 г.

Зачем вообще нужны программы


Программы нужны, чтобы:
  • Помочь достичь цели
  • Помочь решить проблему
  • Развлечься
Иначе они никому не сдались Smile :)

Я не буду открывать Word, если хочу посмотреть фоточки. Я открою средство просмотра фотографий. Потому что Word не решает моей цели.

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

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


Когда мы выяснили, для чего нужна программа, то приходит понимание, что именно нам тестировать в первую очередь. Посмотрим на примерах

понедельник, 7 мая 2018 г.

Тут можно потыкать Linux

Знание Linux хотя бы на базовом уровне сейчас часто требуют в вакансиях — как перемещаться между директориями, как создавать или редактировать файлы, grep, просмотр...

Чтобы хорошо понять линукс, стоит установить его себе на ноутбук, быстро во всем разберетесь (придется). Можно также скачать и установить виртуалку. А можно пощупать систему на нашей тестовой площадке!


Тестовая площадка


IP: 85.143.174.119

Данные для входа:
  • Логин — test 
  • Пароль — 123
Система: CentOS 7

Pretty roses в реальной жизни (SimpleCloud)

История про Pretty roses давно уже стала мемом в ИТ ツ

Читать ее забавно, но кажется, что она слишком утрирована. А нет, угадайка требований к паролю встречается до сих пор. Вот, например, скриншоты подбора ROOT-пароля на https://simplecloud.ru:



Панбагон. Access denied на правильный пароль

Зарегистрировалась сегодня на https://simplecloud.ru/, создала виртуальную машину. Нажала кнопочку «Вкл», потом подцепилась по Putty проверить.

Терминал открылся — значит, машина включилась уже (по крайней мере мне так казалось). Радостно ввожу пароль от root... И получаю Access denied:


Ээээээ, что, простите?

Ну ладно, я у меня сложный пароль, я могла ошибиться. Попробовала еще и еще раз — ни фига! Ла-а-а-а-адно... В интерфейсе есть кнопка «показать пароль», глазик такой.

Нажала на нее, скопировала пароль из интерфейса — Доступ запрещен. Вы что там все, издеваетесь, чтоли???

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

Learning to Think

Every thuth has four corners: as a teacher i give you one corner, and it is for you to find the other three
— Confucius

О чем он говорит? Разве не должен учитель показать все 4 угла и явно их описать? Нет. Чтобы по настоящему научиться, запомнить и понять, ты должен постоянно задавать вопросы, стремиться к поиску знаний. Если нет реального желания глубже понять тему, то все мудрые принципы стекут с вас как с гуся вода. ©

Честно говоря, не помню, в какой из книг я прочитала эту цитату (давно уже сохранила в черновики, а теперь разгребаю их). Скорее всего, в «Secrets of a buccaneer-scholar» James Marcus Bach или «Lesson Learned in Software Testing». Но сама по себе идея очень важная.

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

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

Как-то так...


Бесплатное место под ИТ-тренинги на 15 человек


Ссылка на оригинальный пост в фб.

Предлагаем переговорную HFLabs в качестве бесплатного места проведения небольших митапов или тренингов на IT-тематику (на 15-20 человек). Взамен за это — участие 1-2 человек от HFLabs в вашем мероприятии 

Да, много народа к нам не влезет, но зато сам близко от метро, бесплатно. Переговорная большая и просторная. Есть доска, где рисовать. Есть проектор что-то показывать, и ноутбук для докладчика. Если участникам нужны ноутбуки, они должны приносить их с собой. А вот чай, кофе и печеньки мы предоставим!

Нам все равно, платный ваш тренинг или бесплатный — мы всем будем рады. Главное, чтобы тематика была интересна кому-то из наших коллег.

Несколько минут пешком от метро Парк культуры: Турчанинов переулок, д. 6 стр. 2, БЦ «Крымский мост», 1 этаж (контакты).

Мероприятия можно устраивать после 18 в будни или в выходные.
Если интересно — пишите Лере Таныгиной на почту valeriyat@hflabs.ru или в личку HFLabs на фб. Ждем вас 

воскресенье, 29 апреля 2018 г.

Максимальная концентрация. Люси Джо Палладино


Ссылка на OZON

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

  • Нужно задавать себе вопросы «Что я сейчас НЕ делаю?»
  • Нужно осмысливать свое поведение, словно сторонний наблюдатель.
  • Нужно говорить себе «Я работаю, я работаю», когда ручки тянутся на котиков посмотреть
  • ...
Пока читаешь, кажется «Пфффф, ничего необычного, даже не стоит пытаться». Но фишка в том, чтобы попытаться применить эти «легкие» методы. Я тоже сначала пфыкала, но потом специально концентрировалась на текущем деле. 

В конце концов, я книгу то начала читать потому, что у меня тяжело с концентрацией в последнее время. Книгу пишу? 5 минут пописала и ручки тянуться открыть фейсбук. Причем в ленте нет ничего нового, недавно просматривала, но все равно сидишь и тупо скролишь. Книгу читаю? Почитала минут 10 и снова хочется прекратить. 

суббота, 28 апреля 2018 г.

Contains строки в XSLT

В нашей системе есть SOAP-методы и есть автотесты на них. В автотестах применяются файлики transform.xslt — чтобы можно было переформатировать ожидаемый результат и проверять только те поля, которые нужны нам в данном тесте.

См также:
Folks — open-source проект с API-тестами на Java → там есть пример автотеста на SOAP с transform.xslt
Эволюция нашего использования XSLT в SOAP-тестах → подробнее про наши тесты


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

<xsl:variable name="fieldsToCopy">
        |surname|name|patronymic|fullNameRawSource|fullNameQC|
        fioTrusted|birthdateTrusted|innTrusted|snilsTrusted|
        </xsl:variable>

А потом мы указываем, что нам нужны все поля переменной fieldsToCopy через contains

<xsl:apply-templates select="cdi:field[contains($fieldsToCopy, @name)]">
      <xsl:sort select="@name"/>
 </xsl:apply-templates>

Так вот, запускаю я тест, он падает, ожидаемый ответ не совпадает с моим. Смотрю, почему — в actual_transformed_response.xml вижу дополнительные поля: inn и snils

Эволюция нашего использования XSLT в SOAP-тестах

В нашей системе есть SOAP-методы и есть автотесты на них. В автотестах применяются файлики transform.xslt — чтобы можно было переформатировать ожидаемый результат и проверять только те поля, которые нужны нам в данном тесте.

См также:
Folks — open-source проект с API-тестами на Java → там есть пример автотеста на SOAP с transform.xslt



Этап 1. Сортировка


Сначала мы использовали transform.xslt для сортировки данных. Просто чтобы тестировщик мог указать в response.xml поля в любом порядке, чтобы перестановка местами не приводила к падению. А потом начали трансформировать ответы...


Этап 2. Исключение часто меняющихся полей


Исходно мы начали применять трансформацию для исключения строки из проверки. У нас есть стандартизация адресов, которая определяет кучу параметров, в том числе код КЛАДР или ОКАТО. А они могут меняться...

Раньше у нас было мало интеграционных тестов, проверяющих все поля, а теперь они есть в каждом из 20 заказчиков, причем по несколько штук (на каждый тип контрагента). И вот если вдруг в КЛАДР / ФИАС что-то поменялось, тестировщику приходится ходить и уныло актуализировать тесты. При том, что эти тесты не про кладр-код, они про другое. На тестирование кодов КЛАДР есть другие тесты.

Так что нам надоело поднимать интеграционники каждый релиз, и из проверки адреса выкинули коды и дату актуальности КЛАДР (тоже с каждым обновлением менялась):


<xsl:apply-templates select="@* |
         cdi:field[
         @name!='kladrActualityDate' and @name!='kladrCode' and @name!='okatoCode'
]">

четверг, 26 апреля 2018 г.

Классификация тестирования


Разделы видео


  1. По знанию системы
  2. По позитивности
  3. По целям (объекту)
  4. По исполнителям (субъекту)
  5. По времени проведения
  6. По степени автоматизации
  7. По состоянию системы
  8. По формальности

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

Anyway, про классификацию часто спрашивают на собеседованиях, так что совсем обойти ее стороной я не могла ツ

Статьи про классификацию

Инструменты для Pairwise

Desktop (windows, linux)


Самые популярные:

Есть еще куча разных, искать тут — http://www.pairwise.org/tools.asp


Mac


Для тех, у кого Мак - пару идей:

— можно скачать отсюда https://sourceforge.net/projects/allpairs/. Там python скрипт, который через терминал запускается → https://testitquickly.com/2017/02/13/allpairs/

— PICT тоже должен работать, вот этот https://github.com/Microsoft/pict

— или попробуйте с этим сайтом http://alarcosj.esi.uclm.es/CombTestWeb/combinatorial.jsp

Online


Так же есть онлайн тулза — https://inductive.no/pairwiser-tool/. Позволяет отметить отдельные пары как невозможные.


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

пятница, 20 апреля 2018 г.

Как я забыла проверить обрыв соединения в процессе работы

У нас есть обратный поток в JMS, но обычно мы отправляем сообщения в EMS (Tibco). Тут возникла задачка отправлять сообщения сразу в два потока: EMS и RabbitMQ.

Так как на EMS уже все проверено и протестировано, размышляю я, моя задача только в том, чтобы проверить, а работает ли тоже самое для RabbitMQ. И даже учла возможность нерабочей шины! Проверила разные варианты, причем в автотестах:

  1. Настройка включена, параметры настроены — все работает.
  2. Настройка включена, параметры не настроены — в лог падает ошибка.
  3. Настройка выключена, параметры настроены — сообщения НЕ уходят, настройка то выключена.
  4. Настройка выключена, параметры не настроены — сообщения не уходят, проверки на корректность параметров нет (ошибки не валятся).
См также:
Применение класса «ноль-не ноль» при подключении к JMS — подробнее о том, почему именно такие тесты.

Все хорошо, все работает. А если настройка выключена или сам рэббит не работает — тоже все хорошо. Отдали Заказчику на тестирование. Они проверяют на своей стороне и приходят с вопросом:

четверг, 19 апреля 2018 г.

Типы границ на примере стиральной машинки

Это статья из серии «Теория в картинках»

В моей классификации есть всего три типа границ (мнемоника ЛТП):

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

(Откуда взялась моя классификация, я тоже напишу, но чуть позднее в другой статье. Скажу лишь, что автор типов — Алексей Баранцев, переиспользовать в книге / статьях разрешение давал)


Типы границ на примере стиральной машинки


(Пример любезно предоставлен Юлией Мироновой)

У вас есть стиральная машинка.

1. Логическая: нельзя засунуть меньше 0 киллограммов белья. Это логика.


суббота, 14 апреля 2018 г.

Не заставляйте меня думать. Стив Круг


Ссылка на OZON

Боже мой, где эта книга была раньше? Это же просто прекрасно! Книга о юзабилити, которая.. юзер-френдли! Тонкая, много картинок, большие отступы между абзацами, читается легко и быстро... Must read!

Как сам автор пишет, он хотел, чтобы его книгу можно было прочитать за время перелета или другого длительного ожидания, но одного. Это круто! Тоже хочу такую книгу. На самом деле я свою книгу для начинающих исходно планировала как второго Савина, тоже тоненькую. Мол, что там такого рассказывать то? Но что-то где-то пошло не так  Будет толстая, как серия «Head First O`Reilly». Ну и ладно! Зато у меня примеров реальных много, это полезно. Но потом! Потом хочу тоненькую книжку, вот как эта от Стива Круга )))

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

Автор сразу предупреждает, что при чтении его книги может возникать чувство «Я знал это». Но, «подобно большей части того, что относится к здравому смыслу, это не всегда является очевидным, пока кто-либо другой не укажет вам на это» ©.

Я при чтении не чувствовала какого-то раздражения из серии «здравствуй, кэп». Да, многое кажется очевидным, но при этом в духе «Да! Да! Именно так и надо», а не «Пффф, я и так это знал» 

Мысли, которые я себе выписала:

пятница, 13 апреля 2018 г.

Мнемоники: БЛОК, СЛОН и NOPE

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

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

Михаил: БЛОК




Вера: СЛОН



четверг, 12 апреля 2018 г.

Тест должен быть конкретным!

Прочитав тест, я должна понять:
  • Что мне сделать;
  • Как это сделать;
Допустим, мы тестируем навесной замок:


Как будем тестировать? "Ну, я его открою и закрою" или “проверить, что он открывается и закрывается” — это не тест.

четверг, 5 апреля 2018 г.

Классы эквивалентности для строки, которая обозначает дату

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

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

Однако на своих студентах я заметила, что это правило стало серебряной пулей. Если это нечисловое поле — по границам тестируем ТОЛЬКО на длину. Точка. Просишь протестировать дату, получаешь примерно такой ответ:
  • Нормальная дата (17.03.2018)
  • Дата «в прошлом» или «в будущем» (смотря что подходит под ваше ПО)
  • Пустое поле
  • Нафигачили туда 100500 символов
  • Ввели «0»

За сим границы и проверены. И даже ноль проверен, чем тренер недоволен? А тренер недоволен тем, что по границам вместо ДАТЫ тестируется СТРОКА. Поэтому я предлагаю написать проверки именно для даты. И прежде, чем читать дальше, отложите книгу в сторону и попробуйте сами набросать эти проверки.  А потом сравните, все ли вы нашли?




Четкий формат дд.мм.гггг


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

Додо книга


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

Отличная книга из серии success-story про развитие бренда, как книги про Starbucks, Zappos, Toyota и т.д. Тоненькая, читается легко и быстро, я за пару поездок в метро прочитала.

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

В Додо все, кто приходит в компанию, начинают с кухни. Делают пиццу, моют посуду, столы, месят тесто... Все, включая топ-менеджеров и региональных директоров. И сам основатель, Федор Овчинников, постоянно приходит поработать в свою пиццерию, чтобы лучше понять саму суть работы.

вторник, 3 апреля 2018 г.

Folks — open-source проект с API-тестами на Java



Знакомьтесь, это Folks! Проект с открытым исходным кодом, сделанный на основе реальной системы. И в этом его ценность — это не просто абстрактный тестовый проект, написанный под студентов, неприменимый в реале.

Ссылка на документацию — https://testbase.atlassian.net/wiki/spaces/FOLKS/overview (доступна без авторизации)

Что интересного есть в проекте:
  • Требования на поиск — можно проверить свои познания в тест-дизайне и тест-анализе.
  • Фреймворк автоматизации — самое важное, что дает система. Возможность пощупать реальный фреймворк автоматизации. Увидеть, что автотесты — это не обязательно чистый код, это могут быть просто... Эксельки. Да-да!
  • Код есть, GUI нет — тоже важное свойство. Если вы хотите проверить какую-то теорию, то только через автотесты. Для тестировщика важно уметь придумывать тесты ДО того, как их можно будет пощупать, но это тяжело. Осилите?))
  • SOAP и XSLT — добавили в систему недавно, чтобы поиск можно было дергать и по SOAP в том числе. Сделано под будущий курс интеграционного тестирования, но пользоваться можно уже сейчас!
Тут и свои навыки тест-дизайна можно проверить, и баги в коде найти, и поавтоматизировать попробовать... Welcome!

См также:
Автотесты на уровне API для Java-приложений — доклад с SQA Days, где я рассказываю принципы, заложенные в тестовый фреймворк автоматизации.


В дальнейшем на примере фолкс я планирую рассказать для своих студентов, что такое система контроля версий и все такое.

Также буду делать дополнительные обучающие видеоролики, чтобы еще проще было начать автоматизировать в фолкс. Буду показывать, как это все делается. Ждите Smile :)

Панбагон. Вам не хватает «минус 4 тыс» на балансе

Попробовала я тут на wildberries списать деньги с баланса. Благо что деньги есть 5000 (делали возврат), а у меня заказик на 700р.

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

«У вас не хватает -4 768 рублей»

Ошибка баланса

Вот так 

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

Кодеры за работой. Питер Сейбл


Ссылка на Литрес

Это оказалось немного не то, что я ожидала 

Судя по названию «кодеры», которое немного обидное, я думала это будет что-то типа «Софт отстой», весело и с юмором. Как потом оказалось, автору просто понравились серия «Писатели за работой» журнала «Paris Review» и книгой «Founders at work» (Учредители за работой) издательства Apress.

На самом деле книга — это интервью автора с 15-ю крутыми разработчиками, включая создателя Unix и даже Дональда Кнута. Вот вроде интересно, но... Есть минусы:
  1. Вечная стена текста — очень сложно читать, хоть бы абзацы выделяли, где вопрос автора и ответ разработчика. А перед следующим вопросом пустую строку. Книга меж тем — толстый талмудик. С одной стороны, улучшение читабельности через пустые строки еще больше ее раздует, но зато читать приятнее будет.
  2. Все разработчики — очень крутые, не спорю. Но все начинали с перфокарт :) Поэтому слушать их вроде как интересно, но... Не слишком актуально.

вторник, 27 марта 2018 г.

Поле добавили, а оно не заполняется

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

Поставлена задача — добавить новое поле в карточку. Это простая задача, ее даже тестровщики у нас умеют делать. Добавил в java-класс, в модель, указал правила... Есть отдельный чек-лист проверки: что вручную глянуть, что по коду, а что в автотест добавить. Все просто.

Но фишка в том, что поле не простое. Мы добавляем «ФИО руководителя», которое будет заполняться по данным из ЕГРЮЛ. Тут хитрая штука: чтобы обогатить карточку, нужно объединить ее с карточкой из егрюл. Но объединять можно только карточки одного типа (ЮЛ с ЮЛ, ЕГРЮЛ с ЕГРЮЛ итд). Поэтому по данным ЕГРЮЛ создается его зеркальная копия:
И вот это зеркало уже объединяется с нашей карточкой → профит, данные получили и свои, и «официальные».

суббота, 24 марта 2018 г.

Изучаем XML. Эрик Рэй


Ссылка на Литрес (стоит 190р)

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

Книга написана простым языком, ее поймут не только разработчики. Эрик Рэй рассказывает про XML с нуля:

  1. Что такое XML (eXtensible Markup Language) и зачем он нужен.
  2. Разметка XML.
  3. Ссылки внутри документа.
  4. Таблицы стилей.
  5. Моделирование: DTD. XML Schema.
  6. Трансформация: XSLT.
  7. Поддержка многоязычности.
  8. XML-программирование.

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

Стоимость исправления ошибки на разных этапах разработки ПО

Если мы заметили ошибку на этапе написания требований, то исправить ее — дело 1 минуты, просто скорректировали предложение в тексте, и все.

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


Но это еще реально. А вот если мы уже все построили (написали код), то некоторые изменения просто нельзя внести и приходится мириться с багом. А даже если можно, то стоить это будет сильно дороже:
— аналитику поправить ТЗ;
— архитектору придумать, как поправить минимальными усилиями;
— разработчикам внести правки.

пятница, 16 марта 2018 г.

Эволюция фильтра проектов в джире

У нас в JIRA есть основной проект (назовем его ALFA) и проекты под каждого Заказчика.
Но мы же не единственная команда, которая использует джиру, так что реально проектов еще больше. Свои надо фильтровать.

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

project = ALFA OR project = BETA OR project = GAMMA

Полный запрос:

(project = ALFA OR project = BETA OR project = GAMMA) AND fixVersion = Backlog AND resolution = Unresolved 

Потом количество проектов росло, а оптимизировать запрос было некогда, да и зачем? Новый проект подключается редко, настраивается за одну минуту: редактируешь запрос, копипастой вставляешь новое название и вуаля!

Но потом запрос стал выглядеть как-то так:

(project = ALFA OR project = BETA OR project = GAMMA OR project = Котики OR project = Почемучка OR project = "Что бы еще придумать" OR project = Уточки OR project = Инстинкт OR project = Первый OR project = "Ну и хватит") AND fixVersion = Backlog AND resolution = Unresolved 

среда, 14 марта 2018 г.

Как видеть только свои задачи в Джире

Инструкция подходит для тех случаев, когда у вас один аккаунт на несколько человек. Как видеть только свое? У нас в школе для начинающих в JIRA один аккаунт на всю группу, так что статья написана для них.

Но вы тоже можете поэкспериментировать на нашей тестовой площадке! Итак, наблюдаем за своими задачами:

1. При создании задачи промотать поле до поля Label (Метки) и внести там свое имя и фамилию без пробелов. В моем случае OlgaNazina:

Добавляем метку при создании задачи

Если такого поля нет, добавляем его: Настроить поля → Метки (ставим галку, поле появляется)

Если поля нет, настраиваем

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

Бесплатные тестовые площадки

На сайте Testbase появился новый раздел: «Test it — бесплатные тестовые площадки».

Тут в одном удобном месте собраны все тестовые площадки инструментов: можно зайти, потыкать, сравнить. Чтобы сделать выбор в пользу баг-трекера на работе, или поиграться перед собеседованием, а потом сказать, что инструменты знаете, видели.


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


Баг-трекеры

  1. JIRA — платная, но крутая;
  2. Redmine — основной конкурент, бесплатный;
  3. Youtrack — менее распространен, чем первые два, похож на JIRA;
  4. Bugzilla — она вообще не конкурент, но если не верите…

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


Первый опыт
Второй
Третий

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


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

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

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


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


В целом все хорошо! Основные цели выполнены:
  1. Продолжили бизнес-обеды, хоть и бывало такое, что пропускали, но все же. Один раз заменили на созвон, что тоже ок.
  2. Доделала главу 2 книги (74 стр) и даже сделала половину третьей!
  3. Запустили новый курс! Про логи.
  4. Сделала кучу всего по фолксам.
  5. Сделала задел на новый курс, начала готовиться.
  6. Прочитала 5 книг
  7. Сходили в котокафе! Давно уже в плане висит, но никак не дойдем
  8. А еще сходили на квест, тоже давно уже подзабили на это.
  9. Ну и фотосессии, конечно =)) Продолжаю радовать себя ^_^

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


суббота, 10 марта 2018 г.

Логи как инструмент тестировщика

Через неделю мы запускаем новый курс — Логи как инструмент тестировщика!


Хотя как новый... Это я начала перерабатывать «Техники и инструменты». В результатах «12 недель в году» я писала о том, почему он закрылся. Но если кратенько:
  1. Сначала курс начинался просто как поиск, локализация, оформление багов. А как вы знаете, оформление багов — это нуууууудно. Очень полезно, но скукота. Ребятам не нравилось, да и записывались мало народа, хотя на моем интенсиве все познали, как это тяжело: грамотно описывать баги.
  2. Я добавила в курс всяких разных инструментов и техник. Получилось круто, но много.
В курсе появилась куча крутых задач:

— Залезть на сервер linux, найти нужный лог, изучить стек-трейс.
— Перехватить сообщение в консоли разработчика.
— Прочитать ответ, пришедший с сервера.
— Найти баг кеширования на сервере.
— ...

И первые темы (логи и кеш) заходили на ура. Ребята впервые знакомились с новыми инструментами, это так прикольно: зайти и пощупать. ДЗ сдавались УХ, практически сразу! А потом начинались темы по оформлению багов и интерес постепенно спадал.

среда, 7 марта 2018 г.

Мнемоники Натальи: НАТО, ЛОТОС, за ВДВ итд

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

Посмотрите, сколько всяких классных мнемоник придумала Наталья!




НАТО  

Н – Недостаток найди
А – Анализ улучшения проведи – что предлагаем и зачем
Т – Требования и Тесты будущие продумай
О – Описание внятное напиши






ЛОТОС 

Л – Локализуй баг
О – Опиши шаги для воспроизведения
Т – Текущий результат всегда первым приводи
О – Ожидаемый результат следом пиши
С – Ссылки и Скриншоты прикрепи



Применение класса «ноль-не ноль» при подключении к JMS

Подключили обратный поток в RabbitMQ (JMS). Проверяли задачу вдвоем, так как протестировать надо было шустро:

  • Я смотрела на то, что «оно работает» — как только подняла билд, сразу настроила параметры отправки в JMS и стала пулять туда события.
  • Коллега (назовем ее Лена) — смотрела туром ленивой Ж: что с системой будет после обновления, но ДО настройки? Ведь не факт, что заказчик сразу все подключит, так что в регрессе сначала ленимся, потом настраиваем.
Так вот, я смотрю — у меня все здорово, все работает. Лена смотрит — жалуется. Она обновила стенд, ничего не настраивала, продолжает работать: ой! В логах ошибка

ERROR EventXmlPublisher - Error publishing JMS event to 'jmsEventSender.rabbitmq'
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is com.rabbitmq.jms.util.RMQJMSException: rabbitmq-host: Name or service not known

Да, ip нет такого → еще не настраивались параметры подключения. Но jms.events.rabbitmq.enabled = false же, почему система вообще проверяет хост и порт? Не должна.

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

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

Как подключение RabbitMQ сломало нам отображение версий

У нас есть обратный поток в JMS, но обычно мы отправляем сообщения в EMS (Tibco). Тут возникла задачка отправлять сообщения сразу в два потока: EMS и RabbitMQ.

Разработчик все настроил, я проверяю. Собрала сборку, подняла. Сообщения ходят, все хорошо. Но у нас есть функционал отображения номера ревизии прямо в интерфейсе, чтобы легко проверять, обновился ты или нет. Ну и разработчику по необходимости скинуть. И вот я вижу, что у меня вместо длинной mercurial-версии а-ля «6b10ea3a2646» отображается «LATEST(TIP)» о_О


Пишу разработчику:

— А это что за фигня такая? (скриншот)
— Да это ты небось под профилем каким-то левым собрала для MATS-ов. Забей, локальная проблема.

Хм, хм. Подозрительно, конечно. Да, MATS-тесты (так мы называем интеграционные тесты) я правда гоняла на этой сборке. Для прогона ты указываешь maven отдельный профиль. Но саму то сборку я собирала без извращений!

Но да ладно, в конце концов, локальные проблемы иногда случаются, поэтому решила поверить на слово. Проверила новый функционал, передала коллеге на регресс. Она накатывает обновление на dev-стенд — а там тоже проблема с версией. И туда сборка накатывается автоматом из TeamCity, так что все извращения исключены.

Пришлось таки разбираться с багом Smile :)
В итоге причина нашлась:

Проблема прилетела откуда не ждали. В rabbitmq.jar оказался файл version.properties, который путал нам все карты. Переименовал наш в version-customer.properties

А ведь, казалось бы... Вообще несвязанный функционал — подключение JMS и отображение версий. Но чего только не встретишь =)

Самое удобное здесь то, что сборки мы собираем часто, поэтому определить виновного довольно легко: вчера все было ок, сегодня уже не ок, а делал ты только вот эту и эту задачу. Так что или баг правда локальный и поможет пересборка проекта, или ищи зависимости в коде. Даже если эта задача на функционал влиять вроде как не должна ツ

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

Курс для тренеров от Ицхака Пинтосевича


Ссылка на курс — я проходила 3-7 декабря 2017 года. Да-да, а отзыв пишу только сейчас, сами слоупоки!

Мой отзыв в фб во время курса
Официальные фоточки

Как я попала на курс


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

Это как тестировщики ITSQB сдают, хотя работать планируют в России — веса сертификат особо не дает, его почти нигде не спрашивают, но душу то греет. Мне лично ITSQB ничего не греет, а вот тренерству подучиться хотелось.

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

Краткий отзыв


Классный курс! Первые два дня — курс для ораторов, так как тренер должен уметь выступать. И еще три дня уже чисто про тренинги.

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

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

Полный отзыв


пятница, 2 марта 2018 г.

Мнемоника Залии: КИБОРГ

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

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

Мнемоника - КИБОРГ

 
К - Кто
И - Ищет
Б - Баги
О - Обязательно
Р - Работает с
Г - Границами!

Солидарна, именно на границах баги и встречаются чаще всего, не забываем про них!

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

четверг, 1 марта 2018 г.

Панбагон. Письмо о скидке есть, самой скидки нету

Люблю Нияму, там очень вкусные суши и роллы. А еще есть классная бонусная программа:

  • Сделал заказ — в течение недели скидка 30%
  • В течение двух недель — 20%
  • Трех недель — 10%.

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

1 марта 2012 года я вышла на работу в ХФЛабс, где и тружусь до сих пор. Разумеется, это надо отметить! Так что заранее знала, что буду проставляться. И так хочется суши... Значит, будет Нияма. Но если заказывать много, хотелось бы скидочку... О, стойте, как раз неделей ранее будем отмечать 23 февраля, закажу на него пару сетов ребятам, тогда и к моей дате скидочка сохранится.

Панбагон. Отображение заказа дублируется

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


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

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

Но исправление бага не мешает нам потренироваться в оформлении ツ
Оформим по шаблону:

пятница, 23 февраля 2018 г.

Непрерывное развертывание ПО. Джез Хамбл, Дейвид Фарли


Ссылка на OZON

Внушительный труд. И по внешнему виду (420 страниц большого формата мелким почерком), и по содержанию. Читается интересно, но местами сложно. Так как авторы говорят о любых проектах, то их иногда заносит в такие абстракции, что мне сложно осознать, о чем именно они пишут, и это при наличии опыта =)

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

Мне книга понравилась. Заставляет задуматься. Где-то я осознала, что «вот это у нас тоже есть, и это же круто!». А то я когда пришла в проект, там уже много всего было, что воспринимается теперь как само собой разумеющееся. А на самом деле это классная фишка, о которой можно рассказать (есть у меня в планах на 12 недель «пост с работы раз в неделю», вполне подойдет). А где-то при чтении задумываешься «блин, а почему у нас такого нет? Ну ведь очень надо!».

Начинается книга с описания антишаблонов поставки релизов: это ручное тестирование, ручная сборка билда, ручная поставка. И обычно день релиза — это самый напряженный день у разработчиков и админов. На сутки работа останавливается, потому что надо следить за тем, развернется билд или нет. И очень важна сосредоточенность, чуть неправильно выполнишь инструкцию — А, КОШМАР, ВСЕ СЛОМАЛОСЬ!

четверг, 22 февраля 2018 г.

Тест-кейс проверяет, а не доверяет!

У меня есть два курса для начинающих тестировщиков: интенсив и школа. И если на интенсиве все тестируют один проект, который мы даем, то в школе студенты сами выбирают проект для тестирования и внесения в портфолио.

Типичные примеры выбранных приложений:
  • Форум;
  • Интернет-магазин;
  • Сайт авиакомпании;
  • ...

На какой функционал можно написать тест-кейсы? Например, на поиск! И вот я получаю примерно такой тест-кейс:

1. Поиск по названию темы

Шаги
    1. Зайти на форум https://www.example.com/ 
    2. Ввести в строку поиска слово «корова»

Ожидаемый результат

Видим статью со словом «корова» в названии

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


Или вот такой тест: