Эволюция требований к тестировщикам: что было 5 лет назад и что ждать в будущем?

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

f020b6448c5d03af5135369dc5997c93.png

Ностальгия по тестировщикам: когда ручное тестирование было главным

Пять лет назад, когда я только начинала свою карьеру в IT, количество курсов тестирования можно было подсчитать по пальцам одной руки. Сами курсы имели простую тематику: тестовая документация, SQL для тестировщиков, API-тестирование, тест-анализ, тест-менеджмент.

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

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

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

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

Обновленные стандарты: какие требования сейчас предъявляются к тестировщикам?

На сегодняшний день требования к тестировщикам повысились. И требования не только к мидл, но и к джунам.

С чем это связано? В Интернете появилось множество обучающих площадок. Обучение стало более доступным (реклама сыграла свою роль:»получи профессию с зарплатой от 100 000 рублей за 1 месяц» утрировано).

929e21209b2edd40cd2d17d84a51869d.png

Требования к кандидатам выросли. Если в прошлом от джуна требовалась лишь «легкая» теория о тестировании, то в нынешнее время необходимость в хард скиллах значительно повысились до уровня мидл 5-летней давности. Навыки для мидл тестировщиков не стояли на месте, если достаточно было знать SQL, то сейчас нужно знать не только автоматизацию, но и CI/CD, Web UI, работа с логами и инструментами логирования (Kafka, ELK, Zabbix, PuTTY, WinSCP и так далее), работа с очередями и инструменты (RabbinMQ, Apache и прочее), работа с трафиком (различные снифферы: Charles, Fiddler, Proxyman и другие), не всегда, но всё же: тестирование производительности, инструменты управления версиями (GitHub, GitLab), знание гибких методологий управления проектов (Kibana, Scrum). Этот примерно базовый ряд требований к кандидату Middle Test-Engineer.

Стандарты будущего: какие требования ожидают тестировщиков?

Это стоит обсудить. Уже сейчас тестировщиков стали делить понемногу по двум направлениям: front-тестировщик и back-тестировщик. Возможно такое разделение продолжится, например, появятся отдельные тестеры, проверяющие базу данных более глубже, чем select (правильно ли выстроены ключи: FK и PK, все ли атрибуты указаны, верно ли разработчик связал таблицы, как указывалось в требованиях и/или архитектуре и так далее).

4f053c80682e39c9d94375b34da9b53b.png

А с появлением Искусственного Интеллекта не стоит исключать, что и в этом направлении не будет требований. Конечно, для программ, которые используют ИИ — тестеру нейросеть знать обязательно. Здесь речь идёт больше о тестировании с применением Искусственного Интеллекта, а это:

  • обучить нейросеть, как тестировать ту, или иную программу (особенно актуально для комбинаторных тестов);

  • находить опечатки в тексте ПО;

  • находить ошибки в верстках;

  • находить сами баги в программе, изучив требования.

Можно придумать кучу вариантов, что протестирует ИИ. А может вовсе Искусственный Интеллект самостоятельно подберет проверки, опишет сценарии тестирования и еще разработает авто-тесты, дав AI лишь на анализ техническое задание?

Вопрос о будущих навыках открыт.

© Habrahabr.ru