June 13, 2020

Репорты на Test IO и как их писать?

Многие, кто впервые заходит на Test IO и сталкивается с их академией (особенно после uTest) или же на первых парах в платных заданиях, невольно натыкается на реквесты, т.к. их репорты недостаточно информативны или были сделаны ошибки. В этой статье мы разберем хороший и плохой репорт и объясним, почему они таковыми являются.

Хороший репорт

Для примера возьмем репорт бага с сайта академии ИО. Начнем по порядку.

  • Feature: POP

Для того, чтобы определить область бага, необходимо тщательно прочитать описание области данной внизу страницы в разделе "Test this features", если вы вдруг не смогли найти ту или иную область, то в большинстве случаев она не нужна заказчику и баг нерелевантен для него. На всякий случай перепроверяйте себя с помощью переводчика.

  • Type: Functional

Чтобы определить тип бага, можно воспользоваться таблицей Bug Assessment Sheet, либо же воспользоваться описаниями разных типов багов в академии платформы. В 95% случаев вы найдете ответ на свой вопрос.

  • Severity: Low

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

  • URL: https://www.carrera-toys.com/en/products/carrera-new-arrivals?page=1&col=default&dir=1&route=products&category=carrera-new-arrivals
  • Title: The price filter slider is not responding to user actions when he/she tries to pull it to the right side of a bar

Тайтл можно назвать синопсисом* к багу.
Он должен быть максимально подробным и информативным и при этом - максимально коротким, насколько есть возможность. По сравнению с ютестом, на тест ио нет лимита по символам в тайтле, поэтому не брезгуйте это использовать. Например, если в вашем баге какая-то кнопка перезагружает страницу - мы НЕ пишем "Button "Button" doesn't work" т.к. это будет неинформативно и не будет переносить смысла бага в полной мере, мы пишем "Button "Name" at the "Name" page brings page to reload". Во втором случае мы говорим какая кнопка, на какой странице и что именно она делает вместо того, что должна делать.
Еще раз, максимально четко и ясно, при этом коротко. Не забывая детали.

*Синопсис - изложение в одном общем обзоре, в сжатой форме, без подробной аргументации и без детальных теоретических рассуждений

  • Expected: User would be able to use a slider to apply a price filter on product overview page

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

  • Actual: User cannot pull slider to the right side of a bar, because it is not responding to user actions. Also if you try to change value by typing any value in the price fields - whole products are disappearing from page.

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

  • Steps:
    1. Go to https://www.carrera-toys.com/en
    2. Hover over "Carrera Shop"
    3. Click on "New Arrivals"
    4. Scroll down to filter menu
    5. Pull the price slider to right

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

Плохой репорт

  • Feature: Header

    Как я уже говорил, всегда тщательно проверяйте описание каждой из областей. В 99% случаев они описаны максимально конкретно и понятно, не надо подгонять что-то под рамки другой области. Повторюсь, если вы вдруг не смогли найти ту или иную область - значит она не нужна заказчику.
    В данном случае человек выбрал область Header, но он неправ. Это не является главным меню навигации, которое в основном находится в самом верху страницы.
    Подобные меню, как и хэдер, относятся к пользовательскому интерфейсу (UI или User Inteface), поэтому если в цикле заказчик дает вам возможность проверить весь интерфейс - тогда его область будет User Interface/Explore(название может отличаться в зависимости от циклов).
  • Type: Content

    В данном случае, при нажатии на кнопку, вместо перехода на необходимую страницу - она обновляется и никакого более действия, кроме обновления, не происходит. Это будет являться функциональным багом, но никак не контентным.
  • Severity: -

    Критичность указывается только для функциональных багов, т.к. оригинальный тестировщик указал контент баг - её тут нет. Если бы критичность присутствовала - она была бы Low (см. Bug Severity)
  • URL: https://quiksilver.com/surf/team/
  • Title: When the user clicks on the Burger menu in the upper left corner of a page, he again gets to this page

    Всегда будьте точны в том, что вы пишите в своем репорте. В данном случае, тестировщик указал, что выпадающее меню - это бургер-меню, что является ошибкой, т.к. эти два элемента интерфейса абсолютно разные. Так же вместо того, чтобы написать "страница перезагружается и пользователь остается на той же самой странице", тестировщик написал "пользователь опять попадает на ту же страницу". Это не совсем верная формулировка, т.к. переход и обновление страницы - это две разных функции.
    Верным тайтлом в данном случае будет:
    "Any labeled button at the top left corner of "Riders" page below Quiksilver logo image doesn't trigger any chosen drop-down menu and brings page to reload"
  • Expected result: When you click on the menu in the upper left corner of the page user expected to be able to read page content: HIGHLIGHTS MENS SURF SHOP KIDS SURF SHOP COMMUNITY Как я уже говорил ранее, когда мы описываем что-то общее, один крупный элемент, мы можем говорить в общих чертах. Нет нужды перечислять каждую кнопку по-отдельности в ожидаемом результате, достаточно указать только пример одной из кнопок.
    Например:
    "User would be able to see any information behind drop-down menu at the "Riders" page by clicking any button at this menu (e.g. Highlights)"
  • Actual result: When a user navigates to pages in the upper left corner of the page, he returns to Athletes page

    Как я уже говорил, переход и обновление страницы - это две разных функции. Пользователь не переходит по страницам и возвращается, а страница просто перезагружается, оставляя пользователя на том же месте. Необходимо точно описывать каждый из результатов, выражаться верными терминами и понимать суть проблемы.
    Таким образом, верным решением здесь будет написать:
    "After clicking on any labeled button (e.g. Highlights) page starts to refresh and leave user on the same page. No error message is provided to a customer."
  • Steps: 1. Go to https://quiksilver.com/ 2. In the main navigation menu, go to the "Surf" section 3. In the Surf section, select the Athletes page 4. On the Athletes page, try using the Burger menu in the top left corner of a page

    Шаги должны быть подстать скринкасту, и так же как и в репортах - нести верную информацию. Так как тестировщик ошибся в названии элемента, то и его шаги будут ошибочными. Так же необходимо избегать абстрактных шагов вроде "попытайтесь использовать меню" и т.п., так как ТЛу и заказчику будет непонятно, что вы от них хотите.
    В пункте 4, вместо "On the Athletes page, try using the Burger menu in the top left corner of a page" необходимо написать "Click on any labeled button (e.g. Mens Surf Shop) at the drop-down menu in the top left corner of a page."

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

Записывайте короткие, но четкие скринкасты, исходя из правил академии, чтобы ТЛ сразу понял в чем суть проблемы.
Если дело дошло до реквеста, старайтесь быстро и вежливо отвечать на реквесты, чтобы у ТЛа складывалось приятное ощущение от работы с вами.
Если вам сложно описать проблему из-за нехватки знания языка – формулируйте свои мысли на русском языке и переводите через переводчик, главное в баг-репорте передать суть проблемы.