Как тестировать без требований? Или как убедить разраба и себя, что это баг

Сгенерированно с помощью Кандинского

Сгенерированно с помощью Кандинского

Всем привет, это моя первая статья по тестированию. До этого я писал от лица Scrum-мастера, а теперь уже и от лица QA. В тестировании я уже более 2-х лет. Работал на двух проектах одновременно, и было супер весело менять проект на протяжении дня: утром ты тестируешь веб-сервис, а вечером со студентами делаешь тест-план по мобильному приложению. Не жизнь, а сказка!

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

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

Не будем петь серенады, как это сложно, и приступим к делу.

Вас посвящают в суть проекта, и главный шаг — уточнить у аналитика или того героя, кто выполняет эту роль, «Есть какая-нить дока?» (далее — спецификация).

Какая может быть спецификация на проекте? Будьте внимательны, я не использую термин документация, потому-что дока — это текстовый формат, а в виде спецификации может выступать:

1) документация; обновленная в последний раз в 90-х

2) макеты; вообще не похожи на прод

3) тикеты в Jira; обычно там один заголовок, но верим в чудо

4) user-story;

5) тест-кейсы, чек-листы; если был тестировщик до

6) звонок с владельцем продукта; Product owner

7) блокнот разраба, утопленный в слезах;

8) презентация для заказчика; тут самый сок, все красиво, и глаз радуется

9) корректировки заказчика, пользователя;

10) вышеуказанные косвенные требования;

11) статьи на Хабре по удобству использования сервисов;

12) статьи с правилами UI UX дизайна. (ого, а так можно было?)

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

Теперь у нас есть список, откуда мы будем доставать спецификации. Вот же веселуха, нам бы протестить наш продукт, а тут еще и искать надо. Ну, а как иначе бесценный опыт получать? Важный момент, который определит ваш успех — документировать, складывать все то, что вы нашли, в один формат. Далее это нужно преобразовать в интеллект-карту, требования, обновленные ТК и ЧЛ.

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

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

В книге Gula Artur — Bug reporting. Submit issues like a pro — 2022.
«What do you feel when someone points out that you are wrong? It may be anger, offense, irritation. It’s a similar mechanism when you report an issue in someone else’s code. Your bug reports say: 'you made a mistake, men.' Of course, you can’t change that. But the form of the issue may affect that feeling in both directions.»

«Что вы чувствуете, когда кто-то указывает вам на ваши ошибки? Это может быть гнев, обида, раздражение. То же самое происходит, когда вы сообщаете о проблеме в чужом коде. В ваших сообщениях об ошибках говорится: 'Вы допустили ошибку, ребята'. Конечно, вы не можете этого изменить. Но форма проблемы может повлиять на это ощущение в обоих направлениях.»

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

На середине прочтения этой статьи хочу в дополнение посоветовать недавний материал про то, как тестировать без требований. Ставлю лайк.

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

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

Матрица трассировки — предоставит информацию по покрытию тестами и покажет пустые зоны без тестирования. По диагонали в нашем случае это старые ТК и ЧЛ, по вертикали используем один из форматов: интеллект-карта, старые требования, макеты.

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

Еще один навык, который приобретается с опытом — это техника тест-дизайна Предугадывание ошибок. Я бы сказал, навык нарабатывается, когда ошибка попала в пром и положила всё, такие моменты остаются в памяти навсегда.

Выше указанная Интеллект-карта прояснит структуру продукта, это не тест-дизайн, но оставлю это здесь.

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

Мой тг для связи @evanovnew

Сгенерированно с помощью Кандинского

Сгенерированно с помощью Кандинского

© Habrahabr.ru