— Hardware Engineer — тестирование самых разных, обычно узкоспециализированных физических устройств (программное обеспечение для станков, автопилоты и т. д.). Встречается не часто. Рост требований к инженерам здесь скорее обусловлен ростом физических технологий (архитектуры процессоров, памяти и т. д.).
2.5. Разделение по направлениям тестирования
Эта классификация относится к тому, какие проверки создают инженеры, и как эти проверки выполняются.
Состоит из:
— Manual Engineer — инженер, создающий и выполняющий тесты вручную.
— Automation Engineer — инженер, создающий и выполняющий автоматизированные тесты.
2.6. Градация инженеров на практике
Важно заметить, что разделение по грейдам сильно отличается в разных компаниях или даже проектах. В одном месте вы Junior, в другом — Senior. Эта и другие странности вызваны разными факторами, осознанными и неосознанными.
К осознанным можно отнести:
— Занижение грейда и заработной платы для снижения расходов на сотрудников. Вполне оправданный шаг, условно выгодный для всех сторон, когда речь о начале карьеры и активном стремлении расти. То есть, для резюме вы быстро станете Senior, хотя объективно окажетесь недостаточно квалифицированным для этого грейда. А компании, которые потом будут вам платить как Senior, не часто, но существуют.
— Попытка поручить задачи двух инженеров одному специалисту. Такое происходит, когда грейд внутри компании оценивают исходя из того, какое количество работы может сделать инженер, а не из того, насколько сложна эта работа. Таким образом, засидевшийся на проекте сотрудник имеет грейд заметно выше, чем есть на самом деле, и это быстро становится заметным при выходе на рынок.
К неосознанным можно отнести:
— Отсутствие компетенции для объективной оценки сотрудников. Ситуации, когда человек уровня Middle годами занимает позицию QA Lead, не редки в мире. Возможно, в компании нет QA Lead в принципе и сотрудников оценивает, к примеру, Project Manager, не имеющий для этого компетенций в QA. На практике это могут быть компании даже с количеством QA инженеров в десятки человек.
— Сильно устаревшее понимание количества навыков, необходимых для определенного грейда. Если уровень тестирования на проекте не повышали 10 лет, то было бы странно переписать название должностей существующих сотрудников, понизив их в грейдах. Отсюда и появляются Senior++, Super Principal и другие непонятные грейды навыки которых заметно превышают требования и представления о грейдах на проекте и которых непонятно как оценить в данных условиях.
3. КЛАССИФИКАЦИЯ ТЕСТИРОВАНИЯ
Тестирование — очень обширная и глубокая дисциплина, и в этом можно убедиться, глядя на его классификацию. Здесь представлены только наиболее общие классификации, с которыми сталкивается большинство QA инженеров.
3.1. Классификация по типу приложения
Классификация по типу приложений отражает разделение, основанное на принципе работы большинства приложений и сопутствующих особенностях при тестировании:
— Web — отличаются тем, что взаимодействуют с конечным пользователем через любой браузер, при этом почти вся работа таких приложений проходит на стороне сервера (backend), а конечный пользователь работает только на “легком” клиенте (frontend). Основной задачей при тестировании Web приложений будет проверка frontend в различных браузерах, правильность работы логики на сервере и проверка качества при обмене сообщениями между frontend и backend.
— Desktop — отличаются тем, что работают на компьютерах с любой операционной системой и требуют установки. Основная задача при тестировании — проверка работы приложений на различных операционных системах. При этом приложение может быть с “легким” клиентом как Web, и тогда также необходимо проверить логику сервера и обмена сообщениями. Или же приложение может не требовать отдельной серверной части, и тогда работу логики тестируют на том устройстве, куда оно установлено.
— Mobile — сюда относятся все приложения мобильных платформ для смартфонов и планшетов. Они отличаются тем, что работают на таких мобильных устройствах и требуют установки на них. Тестирование наиболее похоже на Desktop и приложения тоже могут устанавливать на устройство полностью или только с “легким” клиентом.
— Backend — приложения, которые не имеют интерфейса и работают через различные API. Основной задачей при тестировании будет проверка логики приложения, корректность исходящих сообщений и правильная реакция на входящие.