При выборе профессии, многие стали отдавать предпочтение вакансиям сферы IT-технологий. Это не удивительно, поскольку только она показала себя достаточно стабильно в нынешних условиях.
По данным аналитики, в сфере IT показатель сокращений и закрытия проектов не превысил 20%, и среди общей массы сотрудников сокращению подлежали в большей степени интерны, только принятые на работу. К маю 2022 года ситуация на рынке стабилизировалась, и те, кто закончил к тому времени обучение, не затратили много времени на поиски своего первого места работы.
Наиболее привлекательная ниша сегодня - тестирование. Еще в 2018-2019 году на одно вакантное место было по 4-5 претендентов. На сегодня ситуация в корне изменилась. Для одного претендента на выбор есть до пяти вакансий. Рынок тестировщиков в дефиците хороших специалистов. Поэтому, правильным выбором будет рассмотреть именно эту область для дальнейшей занятости.
Также, тестирование ассоциируется с самым легко усваиваемым и быстрым обучением.
Курсы тестирования не превышают по длительности трех месяцев, а также весьма доступны к изучению всей структуры и специфики работы. Еще есть уникумы, которые изучают профессию самостоятельно, но как показала практика, затрачивают на это больше куда времени и сил. По этому все работодатели рекомендуют проходить курсы, где информация предоставляется структурировано, в правильной последовательности, поскольку это очень важно в правильном построении базы знаний будущих сотрудников. Некоторые компании самостоятельно обучают свой персонал, хотя такое образование считается весьма узкопрофильным.
Многие люди интересуются, что нужно знать тестировщику ПО. Если говорить о навыках, которые необходимы будут тестировщику в работе, то выделяют ряд важных
hard skills и
soft skills. Начнем со вторых, поскольку ими овладеть сложнее, и желательно иметь предрасположенность к ним.
Тестировщику необходимо уметь:
- брать ответственность за свою работу (поскольку недоработки или ошибки ПО могут понести не только денежные затраты для компании, но и повлечь за собой более серьезные последствия, такие как опасность для человеческой жизни или смерть, если это касается ПО для жизнедеятельности организма в медицинском оборудовании);
- коммуницировать (тестировщик связан тесным общением практически со всеми отделами на проекте, поэтому необходимо уметь находить общий язык со всеми сотрудниками, даже теми, кто обладает тяжелым характером);
- концентрироваться на задачах и обладать критическим мышлением (необходимо в каждом фрагменте разрабатываемого ПО поддаваться сомнениям, если есть вероятность, что тот или иной функционал может сработать некорректно при определенных обстоятельствах и концентрироваться на поиске ошибок до тех пор пока не будет доказано ее наличие или отсутствие);
- расставлять приоритеты и анализировать важность (ошибки ПО бывают разными, если они незначительны и можно их не устранять сразу, не стоит настаивать на их исправлении, лучше потратить время на поиск более глобальных, которые могут повлечь за собой большие затраты на доработку продукта);
- планировать (в самом начале проекта у тестировщика меньше всего работы, но перед релизом он загружен 24/7, необходимо учитывать этот фактор и ставить задачи так, чтоб правильно распределять время, всегда есть вероятность, что можно частично тестировать продукт на этапе разработки).
Чтоб наработать
hard skills желательно для начала быть уверенным пользователем ПК: разбираться в самом оборудовании компьютера, знать что такое IP-адрес, работу Wi-fi, уметь устанавливать и удалять программы, настраивать операционную систему.
После важно изучить такие hard skills: - Самые простые теоретические знания (процесс тестирования; теория обеспечения качества; виды и уровни тестирования, их применение в определенной ситуации; тестовые артефакты; использование метрик; техники тест-дизайна; SDLC, STLC, зоны ответственности других сотрудников на проекте);
- Английский не ниже уровня B2 (терминология, составление тестовой документации, коммуникация с заказчиками производится на английском языке);
- Написание тестовой документации (bug-reports, тестовая стратегия, тест-план, анализ тестирования, юзер-стори, чек-лист, тест-кейсы);
- Управление тестовой документацией (Bug Tracking системы: Redmine и Jira - наиболее используемые; системы по управлению тест-кейсами (TestRail, TestLink);
- Тестирование веб-приложений и API (все, что касается HTTP-протокола: запросы, ответы, методы; клиент-серверная архитектура, работа с сетями (модели, протоколы); коды статусов ответов; кэш, куки, веб-сокет; основы HTML, CSS, JS; особенности REST/SOAP протоколов, правила синтаксиса для XML, анализаторы и перехватчики трафика Charles/Fiddler; панели инструментов веб-разработчиков Web Developer tools; работа с Postman; виды авторизации, отличия идентификации, аутентификации;
- Базы данных (виды баз данных, требования и хранение, отличие систем управления баз данных (СУБД), язык структурированных запросов SQL (запросы SELECT, JOIN, агрегатные функции, вложенные подзапросы, HAVING, UNION), NoSQL);
- Тестирование мобильных приложений (типы приложений (нативные, гибридные, веб), типы устройств; тестовая лаборатория; работа с симуляторами, эмуляторами; особенности тестирования мобильных приложений; специализированная документация - гайдлайны Apple и Google; мобильные жесты и элементы);
- CI/CD - непрерывная интеграция и непрерывная доставка (понятие, роль тестировщика в нем; DevOps, TestOps; системы контроля версий, работа в Git; виды окружений и системы работы на каждом из них).
Инструменты для работы приведенные выше больше касаются приложений мобильных и для десктопа. Поскольку наиболее распространенные сейчас разрабатываемые приложения - это веб и мобайл. Для тестирования игр будут дополнительно подключаться специфические проверки, связанные с другой механикой и бизнес-логикой.
Есть ряд дополнительных навыков, которые работодатели не часто указывают в вакансиях, но могут задавать вопросы касательно них на собеседовании:
- умение работать с командной строкой Windows и unix-подобных системах;
- инструменты нагрузочного тестирования (JMeter);
- тестирование десктопных приложений и игр;
- тестирование железа.
Развивается также и направление автоматизации тестирования (Automation QA). Для этой профессии есть ряд дополнительных знаний:
- один или несколько языков программирования (Java, Python, JS или другие) для написания скриптов;
- инструмент для автоматизации действий веб-браузера, например, Selenium Webdriver;
- тестовые фреймворки, например, jUnit или TestNG;
- особенности тестирования для разных приложений (веб, мобильные, API и др.);
- работа с виртуальными машинами.
Чтобы не пугал такой большой объем знаний необходимых тестировщику, следует учитывать, что большинство понятий, прописанных выше, изучаются на курсах поверхностно. Их могут уточнять работодатели тех или иных компаний, в зависимости от направления деятельности и специфики производимых услуг или продуктов. То есть нет необходимости вникать в глубинные понятия каждого из них, достаточно иметь представление о данных инструментах и их область применения. Если составить все необходимые навыки в майнд-карту и разложить все по пунктам, то наглядно будет видно, что объем необходимых знаний в целом не такой и большой.
На
курсах тестирования QA и
Automation QA вы получите необходимые знания, сможете применить их сразу на реальном проекте заказчика. Очень важно, что в нашей школе обучают практикующие преподаватели, поскольку они создают то самое информационное поле, где знания по рабочим инструментам актуальны на момент обучения.
Мы помогаем с трудоустройством учеников, поскольку уверены в знаниях, которые им предоставляем. Сотрудничаем со многими IT-компаниями и даем рекомендации касательно лучших учеников на потоке. В этой статье мы лишь поверхностно рассказали о том, что нужно знать тестировщику ПО. Если вы так же уверены в своих силах - записывайтесь на курсы тестировщика с нуля.