Чистые тесты рассказывают истории

“Поговорим о языках и чистых тестах. Мы постоянно используем языки. Я использую один из них прямо сейчас, и вы можете меня понять, потому что вы тоже знаете этот язык. Ладно, я знаю, что это кажется банальным, но в автоматизированных тестах мы используем другие языки. И я сейчас не говорю о языках программирования.

Пример

Это обычный веб-тест. Мы можем понять, что он делает, верно?

Потому что нас учили, что веб-тесты связаны с веб-элементами и их работой — кликами, установкой и снятием флажков, включением и выключением.

Этот тест читабельный и понятный, но рассказывает ли он историю приложения? Давайте посмотрим на приложение.

Установка флажка «Я прочитал все условия и согласен» включает кнопку «Зарегистрироваться», а установка флажка и снятие его — отключают кнопку.

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

Язык технологий

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

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

В нашем тесте это технические элементы «клик», «заполнить». Даже термины «включено» или «отключено» на самом деле — технические, просто мы привыкли к ним и понимаем их.

Я могу изменить название теста, чтобы объяснить его цель, например, так:

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

Но с более сложными тестами это, скорее всего, не сработает. Мне понадобится много комментариев, чтобы объяснить, что происходит.

Чистые тесты рассказывают истории

Я могу переписать этот тест следующим образом:

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

Наши тесты могут содержать несколько языков. Обычно мы в тестах смешиваем технический язык с языком домена. Хотя легко написать (или сгенерировать) что-то на техническом языке, использование более понятного языка домена снижает риск непонимания и ошибок. Не говоря уже об удобстве сопровождения.”

Gil Zilberfeld

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас