How to QA Testing или притча о том, как на 1,800$+ в месяц выйти
Привет, дружочек-пирожочек. Думаю, не надо ничего объяснять насчёт ситуации на рынке крипты. Грубо говоря, не очень дела идут у всех. Будет это временно, или это реально закат крипты - тут уж вопрос не к нам, а к дядям в пиджаках.
Мы не можем поменять ход событий крипты, мы лишь можем дать вам альтернативу. И альтернативу очень сильную. У особо шустрых получится лутать по 1800-2500$ в месяц. И мы говорим про QA-тестирование.
- Зачем вообще идти в айти?
- Что такое QA простыми словами?
- Что делает тестировщик?
- Существует 2 основных вида QA
- Нужно ли уметь кодить?
- Виды Manual QA
- Сколько платят?
- За что столько платят?
- Примеры приложений, которые были плохо протестированы
- Web2 QA vs Web3 QA
- Что должен знать тестировщик?
- Как найти работу?
- QA — не «темка на один раз»
- Почему криптанам легче вкатываться в QA?
Зачем вообще идти в айти?
IT - это не завод, где за тобой следят и требуют, чтобы ты 8 часов был на рабочем месте. В большинстве компаний, если правильно выстроить процессы, придется работать в среднем по 3-4ч в день
На этом плюшки не заканчиваются:
Что такое QA простыми словами?
QA (Quality Assurance) Engineer - это инженер по качеству программного обеспечения или проще - тестировщик. Его основная задача заключается в том, чтобы находить баги, которые нашкодил программист чтобы сайт или приложение работали так, как это было задумано.
Что делает тестировщик?
Если говорить коротко, то проверяет, что ожидаемый результат совпадает с фактическим. Например, он проверяет, что кнопка должна быть определенного цвета и должна находиться в определенном месте.
Существует 2 основных вида QA:
- Manual QA (ручной тестировщик) - проверяет всё вручную, не используя код. Например, разработчик перекрасил логотип фирмы на сайте в красивый красный цвет (rgb(239,0,55)). Задачей ручного тестировщика будет зайти на этот сайт и убедиться, что логотип перекрасился в нужный цвет
- Automation QA (автоматизатор тестирования) - проверяет при помощи кода и автотестов. Например, при той же задаче с логотипом, автоматизатор напишет скрипт (например, на Python + Selenium), который:
- Открывает нужную страницу
- Находит элемент логотипа
- Получает его CSS-свойство
color
илиbackground-color
- Сравнивает с ожидаемым значением
rgb(239,0,55)
Благодаря этому, теперь не придется вручную заходить на сайт и проверять цвет логотипа. Достаточно будет лишь запустить этот скрипт и мы увидим “Test Passed” (тест прошел) или “Test Failed” (тест не прошел)
В этой статье мы более подробно поговорим про Manual QA
Нужно ли уметь кодить?
Как я и говорил выше, для ручного тестировщика уметь кодить не нужно. Ему лишь необходимо понимать, как устроены приложения (клиент + бекенд + база данных) и научиться работать с простейшими инструментами (о них поговорим ниже)
Безусловно, базовые знания языков программирования будут большим плюсом, поскольку они позволят вам автоматизировать часть своей работы, лучше находить баги и быть с разработчиками на одной волне
Для AQA кодить нужно обязательно, зато и зарплаты выше. В большинстве компаний используются Python + Selenium + Playwright или Java + Selenium
Виды Manual QA
Ручные тестировщики подразделяются на 3 вида:
- Frontend QA - тестирует интерфейс сайтов. Ему скидывают дизайн и в основном он проверяет, что:
- Элементы расположены на своих местах
- Характеристики элементов (шрифт, размер, цвет и т.д.) совпадают с теми, что в дизайне
- На мониторах разных размеров приложение выглядит корректно - Backend QA - тестирует ту часть сайта, которую не видит обычный пользователь:
- Различные взаимодействия с базой данных
- Различные взаимодействия с бэкэндом (сервером) приложения. Например, что при создании пользователя сервер возвращает ответ 201 Created - Mobile QA - тестирует мобильные приложения:
- Проверяет, что Android-приложение работает корректно
- Проверяет, что iOS-приложение работает корректно
Сколько платят?
Разберём, сколько может зарабатывать ручной тестировщик в СНГ (на валютных удалёнках зарплаты, очевидно, будут гораздо выше)
За что столько платят?
QA экономит компании кучу денег. Если на проекте нет QA, то высока вероятность, что:
- Пользователь перестанет использовать приложения из-за багов и неудобств. Например, если кнопка "Оформить заказ" не работает - клиент просто уходит.
- Могут возникнуть критические уязвимости в бизнес-логике, позволяющие, например, покупать товары по заниженной цене, оформлять заказы без оплаты или получать доступ к чужим данным - а это прямые финансовые потери и риски для безопасности. Примеры будут ниже
Примеры приложений, которые были плохо протестированы
- В 2023 году житель Волгограда покупал вещи из ЦУМа за 150 рублей вместо 150 000 рублей. Суд встал на его сторону, и ему не пришлось ничего возвращать. Подробнее тык
- В 2023 году был баг в WildBerries, который позволял бесплатно забирать вещи из пункта выдачи заказов. Тут уже суд встал на сторону WB. Подробнее тык
- В 2022 году в Тинькофф банке был баг, связанный с обменом валюты. Благодаря нему можно было кругами крутить rub <—> usd и получать профит. Один из клиентов заработал 68,8 тыс. евро. Банк попытался вернуть средства, но судебные решения были неоднозначными: некоторые клиенты выиграли дела, другие — проиграли. Подробнее тык
Web2 QA vs Web3 QA:
Из-за низкой конкуренции вам будут больше платить. Ведь очень мало тестировщиков, которые хотя бы примерно понимают, как работает крипта. Зарплату вы будете получать в USDT + бонусы в токенах проекта Но большинство таких компаний требуют знаний английского языка и количество вакансий напрямую зависит от ситуации на рынке крипты
Что должен знать тестировщик?
Ниже я перечислю, что должен знать Junior+ или Middle тестировщик:
- Клиент серверная архитектура
- Из чего состоит Клиент-Серверная архитектура?
- Что такое frontend/backend? Как они взаимодействуют между друг другом? Где там база данных?
- Что такое SQL?
- Структура HTTP-запроса и HTTP-ответа
- Архитектурный стиль REST и формат JSON
- Что такое API. Монолит и микросервисы?
- Cache, cookie, local storage, session storage
- Инструменты для тестирования фронтенда и бекенда
- DevTools. Основные вкладки - Elements, Console, Network, Application.
- Figma + Pixel Perfect
- Swagger (Pet Store) - там хранится документация к API. Как ею пользоваться?
- Postman - как создавать запросы? Как их отправлять? Rак создавать коллекции?Какие методы бывают (GET POST и т.д.)
- ELK Kibana (Grafana)
- Kafka / RabbitMQ, если хочешь ЗП 200к+
Как найти работу?
Создаем резюме и идем откликаться. В поиске нужно вбивать “QA Engineer” или “Тестировщик”
Вам необходимо создать такое резюме, которое будет обходить различные автофильтры (по возрасту, опыту, полу, ключевым словам)
- hh.ru - для поиска работы на web2
- career.habr.com- для поиска работы на web2
- Также, можно искать вакансии в различных ТГ каналах и напрямую писать рекрутерам
- web3.career - для поиска работы на web3
❌ QA — не «темка на один раз»
Это стабильная профессия, которая позволяет строить карьеру на годы вперёд и жить на уровне выше среднего — мало работаешь, много получаешь.
- Из QA перейти в AQA
- Найти работу на валютной удалёнке (платят в полтора-два раза больше)
- Из QA перейти в WEB3 QA
- Из QA перейти в WEB3 AQA
Почему криптанам легче вкатываться в QA?
Думаю, уж точно не мне обьяснять, что крипта - эта та ещё кладезь багов. То сайт ляжет во время сейла, то контракт дырявый окажется, то ошибка в коде критически повлияет на проект. В общем, криптан, как и QA-тестировщик всегда пытается найти какую-то дырку. QA в свою очередь пытается её залатать, а криптан же наоборот какой-то с неё профит заиметь. Как это было, допустим, с проектом Stars Arena, где можно было из-за ошибки продавать 0 акций (по сути ничего) и получать профит. Подробнее.
По сути и криптана уже есть готовый майндсет по QA, вот табличка для примера:
А если ты захочешь уйти в Web3 QA, то твои знания крипты уж дадут невероятно сильный буст. А зарплаты там достигают 600,000р (±8,000$)
В общем, крипта - тот ещё дикий запад. И это огромный плюс для QA.
Что дальше то?
Заходи в наш канал - https://t.me/how_to_code_web3, в нём будут выходить полезные материалы по QA - что изучать, как собеситься и т.д.