Как стать автором
Поиск
Написать публикацию
Обновить

Нужны ли тесты именно вашему проекту?

Время на прочтение3 мин
Количество просмотров4K

Нужны ли тесты именно вашему проекту?


Всем привет! Меня зовут АйТи Синяк!


Изображение приветствующего персонажа с синей кожей

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


Начну, пожалуй, с воспоминаний.


Стою я как-то перед Лидом, совсем зеленый еще, и спрашиваю его:


Изображение молодого синяка разговаривающего с Лидом

A зачем нам нужны тесты?


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


а я не унимаюсь с вопросами:


А у нас то сайт по аренде квартир, пользователей очень мало, нам то зачем?


Лид понял, что покодить он не сможет и решил объяснить как обстоят дела:


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


Иллюстрация процесса CI

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


Пример сравнения поиска

Точно! — воскликнул молодой Синяк. — Я помню, как ребята команды тестирования радовались этому, я тогда не понимал всей важности момента… И-и-и … Последнее что я не могу понять, это зачем для тестирования понадобился StoryBook, как это вообще связано?
Тут все просто, у нас есть календарь для выбора дат, он бывает разным, для выбора просто даты или даты и времени или выбора промежутка дат. Точно такой же набор календарей с другим дизайном используется в админке. Если сюда еще добавить темную тему, то у нас уже почти 10 видов одного календаря.


Разные виды выбора календаря, для светлой и темной темы

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

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


StoryBook со вставленными в него вариантами выбора дат

Звучит как нанотехнология, сравнивать две картинки, пойду скорей смотреть как это работает! — восторженно пропищал молодой Синяк.




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


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

Теги:
Хабы:
Всего голосов 21: ↑4 и ↓17-11
Комментарии23

Публикации

Ближайшие события