Специальность тестировщика многим освоить проще, чем программирование, при этом профессия весьма востребована. Работать можно из офиса, в удаленном формате или фрилансером — частным специалистом, которого привлекают на аутсорс под определенные проекты.
Эти специалисты проверяют корректность работы IT-продуктов и их компонентов. Существует два вида тестирования ПО — ручное и автоматизированное, с помощью специальных программ. Тестирование вручную — самый простой способ изучить качество приложений. Но у него не очень высокая производительность, да и точность оставляет желать лучшего. Неавтоматизированную проверку еще называют поведенческой, или «методом черного ящика». По сути, специалист имитирует действия пользователя приложения и убеждается, что IT-продукт работает в точности так, как было запланировано.
Автоматизированная проверка подразумевает специальное ПО. Такой способ требует меньше времени, позволяет отслеживать сбои в режиме 24/7 и уменьшает количество ошибок.
Нет насмотренности. Тестировщик ежедневно имеет дело с большим количеством приложений и уже знает те места, где чаще всего возникают ошибки. Также без взгляда со стороны этого специалиста нельзя объективно оценить, насколько хорошо IT-продукт удовлетворяет запросы клиентов.
Нужна независимость. Взгляд программистов «замыливается», особенно если приложение пишется в сжатые сроки или, наоборот, над ним работают слишком долго. Тестировщик дает независимую оценку и свежую точку зрения на продукт.
Не всегда есть системное продуктовое видение. Программист не является конечным пользователем, поэтому ему сложно определить, отвечает ли программа или приложение требованиям заказчика. Тестировщик лучше понимает, что нужно людям, поэтому может дать профессиональную оценку и рекомендации по улучшению сервиса.
Soft vs Hard. Для специалистов по тестированию очень важны софт-скилы. Они могут более продуктивно взаимодействовать с разными исполнителями на проекте, составлять грамотные отчеты, где подробно описывают имеющиеся недостатки и их последствия.
Общая компьютерная грамотность. Нужно разбираться в особенностях разных ОС, также важны навыки работы с файловыми системами, консолями администраторов и понимание устройства сетей.
Знание одного или нескольких языков программирования. Так будет проще проверять готовность продуктов, коммуницировать с разработчиками.
Понимание работы API. Это универсальный протокол, по которому работает большинство приложений и сервисов.
Навыки применения конкретных инструментов. Например, при работе с мобильными сервисами потребуются знания Android Studio или Xcode. Запуск веб-приложений предполагает использование Chrome DevTools. Также специалист по тестированию постоянно сталкивается с универсальными инструментами разработчиков: например, консольной оболочкой Bash и системой контроля версий Git.
В российских учебных заведениях нет проверенных направлений по подготовке инженеров-тестировщиков. Поэтому многие отечественные IT-компании сами берутся за подготовку тестировщиков с дальнейшими стажировкой и трудоустройством. А еще можно пройти курсы подготовки, связанные с информатикой и программированием. Они помогут быстрее освоить специальность.