Разделы портала

Онлайн-тренинги

.
Что должен знать и уметь тестировщик
23.06.2021 00:00

Автор: Виталий Котов, https://www.learnqa.ru/

Здравствуйте, коллеги!

Возможно, вы только начинаете свой путь в профессии. Или собираетесь повысить квалификацию. В любом случае все мы при обучении в IT сталкиваемся с огромным объемом информации. Понять что нужно для старта, а что нет - довольно сложно. К тому же разным компаниям нужны разные навыки, а необходимый уровень владения каждым конкретным может отличаться: где-то на позиции Junior тестировщика будет достаточно умения запускать простейшие sql-запросы, а где-то вас попросят написать что-то более сложное с использованием JOIN и подзапросов.

Поэтому нельзя однозначно сказать: пройдите вот эти курсы, выучите вот эту книжку — и вас точно возьмут на работу.

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

Условно можно разделить весь спектр знаний на 6 сегментов:

  • Компьютерная грамотность
  • Теория тестирования
  • Инструменты тестировщика
  • Автоматизация тестирования
  • Навыки трудоустройства
  • Soft-skills

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

Компьютерная грамотность


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

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

В этой статье мы не будем останавливаться на освещении этих базовых навыков — для этого мы создали отдельный мини-курс Азбука IT , где вы можете познакомиться со всеми базовыми знаниями.

Теория тестирования

 


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

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

Если же вас интересует более объемный курс для начинающих тестировщиков - обратите внимание на курсы ПОИНТ или ШНАТ.

Инструменты


Помимо теории тестирования важно знать и уметь использовать различные инструменты и подходы, специфичные для отрасли тестирования. Так, для работы с веб-приложениями пригодится понимание отладочных утилит Chrome DevTools, а для работы с мобильными — знание Android Studio и Xcode.

Уметь работать с API нужно в любом случае — с его помощью с сервером общаются и веб-приложения, и мобильные приложения.

Существуют и общие инструменты, которые пригодятся практически на любой работе: знание языка SQL, знание Docker, умение работать с консольной оболочкой Bashдоставать информацию из логов или пользоваться системой контроля версий Git. Работа со всеми этими инструментами требует, в первую очередь, практики. Мы создали несколько практических курсов, чтобы вы могли попробовать себя в деле и смело добавить знание этих инструментов в свое резюме.

Автоматизация


Автоматизация — очень популярный тренд на современном рынке тестирования, но рассматривать ее стоит именно как навык тестировщика, а не как отдельную профессию. Даже если вы устроитесь на вакансию Automation QA, это не значит, что не придется искать локаторы и работать с ADB. Ну и конечно ошибку надо сначала найти и локализовать, а потом уже писать на нее автотесты. Поэтому здесь мы рассмотрим основные навыки начинающего автоматизатора, которые важны не больше и не меньше, чем весь остальной список.

Естественно, в первую очередь нужно будет освоить язык программирования. В сети часто встречается вопрос — какой из языков лучше выбрать для автоматизации? Ведь автоматизация бывает на Python, Java, C#, Kotlin, Ruby, PHP, NodeJS и много чем еще. В отличие от программирования, в QA конкретный язык не так важен: дело в том, что автотесты используют одни и те же конструкции из фреймворков, а для их вызова подходит любой язык. Хотя, конечно, выбор языка может зависеть от платформы, которую вы тестируете. Тем не менее стоит понимать, что если бы у одного языка было бы неоспоримое преимущество перед другим для работы с автоматизацией, все компании использовали бы только его.

Самый популярный инструмент для автоматизации веб — это Selenium. Не путайте с Selenoid и Selenide. Selenium — это набор инструментов, который позволяет написанному нами коду превращаться в команды. А их в свою очередь понимает и исполняет браузер.

Для мобильной автоматизации используется похожий подход, только вместо Selenium Server используется Appium.

Но помимо Appium, который подходит для работы с любыми языками на Android и iOS, существуют еще и свои инструменты для каждой из платформ: Espresso для Android и XCUITest для iOS. И тут уже отличия от Selenium гораздо заметнее. Основной плюс такого подхода против Appium — тесты будут работать быстрее. Плюс, в драйверах раньше Appium появляются все самые новые функции.

Минус же в том, что писать тесты напрямую на драйверах сложнее: к тому же реализовать все на одном и том же языке не выйдет, для Android нужно будет освоить Java/Kotlin, а для iOS — Swift. Построить кроссплатформенные тесты в этом случае также не получится.

Трудоустройство

 

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

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

Soft-skills


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

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

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

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

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

Если видите, что не получается выполнить задание самостоятельно — нужно сразу сообщить об этом и попросить помощи. Ну а если знаете, что справитесь — не ждите отмашки, делайте.

Софт-скиллам очень трудно научить, им можно только научиться. Поэтому старайтесь проявлять эти качества уже сейчас, чтобы в дальнейшем с ними не возникло проблем.

Итого

Мы постарались описать самые главные навыки, которые должны быть у тестировщика. Надеюсь, этот разбор помог вам немного определиться с фронтом работы. А если вам потребуется помощь в изучении любого из них - приходите на наши курсы. Мы научим всему и поможем найти работу мечты. :)

Спасибо за внимание!

Обсудить в форуме