Недавно услышала такое мнение: тестировщики не айтишники. Ну, потому что они же просто проверяют, например, добавился ли товар в корзину на сайте. А ведь и не поспоришь, потому что такие проверки тоже входят в обязанности тестировщика.
Однако давайте разбираться, можно ли назвать тестировщика айтишником и чем он в целом занимается. Для начала дадим определение термину "айтишник".
Айтишник - человек, который занимается проектированием, разработкой, тестированием, внедрением и поддержкой в сфере информационных систем и технологий.
То есть тестировщик туда входит.
Но все же люди часто под термином "айтишник" подразумевают разработчика, потому что он умеет программировать, и это кажется чуть ли не единственным критерием для присвоения такого статуса.
Но очевидно, что до написания кода и с момента написания до готового приложения есть еще какие-то шаги, требующие сложных технических знаний и навыков. И все эти люди, работающие с задачами, начиная от постановки требований и заканчивая поддержкой работающего приложения, называются айтишниками.
Вернемся к тестировщику. Что же такого специфичного он умеет, чего не могут делать остальные? Ну, явно не проверку добавления товара в корзину. Это может сделать кто угодно.
Во-первых, тестировщик умеет тестировать структурировано, а не хаотично. Знания теории тестирования и навыки тест-дизайна позволяют ему проектировать тесты, которые покрывают множество разнообразных сценариев, как прописанных в требованиях, так и тех, которые не предусмотрены были изначально. Тестировщик умеет работать с данными, то есть на минимальном количестве тестов проверить разные варианты валидных и невалидных данных.
Во-вторых, что касается самого тестирования, даже тестировщик с минимальным доступом к продукту, который проводит только энд-ту-энд тесты (как пользователь), проверяет не только интерфейсную составляющую.
Если говорить о веб-приложениях (сайтах), то, как минимум, тестировщик смотрит в devtools - инструменты разработчика, которые встроены во все браузеры. К слову, любой человек может туда залезть и посмотреть, что происходит с сайтом, когда вы с ним взаимодействуете.
Например, в Сrome на Windows это shift+shift+j, либо пкм по странице сайта - просмотр кода элемента.
Но сможет ли человек без специфичных знаний разобраться в этой панели? Тестировщик может и активно пользуется этой панелью для нахождения и локализации багов.
В третьих, как правило, тестировщик имеет гораздо больше доступов, чем просто пользователь, а значит ему доступно тестирование отдельных частей приложения, у которых вообще может не быть никаких интерфейсов: базы данных, API, различные другие сервисы.
Соответственно, тестировщику нужно понимать, как они работают, уметь с ними взаимодействовать и уметь тестировать. Если речь идет о базах данных, нужно знать SQL и особенности тестирования баз данных. Если нужно тестировать Api , нужно знать, из чего состоит запрос, какие бывают запросы, какие бывают ответы, какие типы данных там используются, уметь отправлять запросы (то есть тут предполагается знание каких-то инструментов типа Postman) и понимать особенность их тестирования. А если речь идет о каком-то сервисе, у которого нет интерфейса, неплохо бы уметь работать в командной строке.
В четвертых, тестировщик умеет читать и анализировать логи.
Кроме того, тестировщик, помимо функционального тестирования, может проводить нагрузочное тестирование и тестирование безопасности. Такие виды тестирования требуют более глубоких знаний архитектуры ПО и каких-либо языков программирования для написания скриптов.
Тестирование сайтов - это лишь вершина айсберга. Тестировщик тестирует любое ПО. Это и сайты, и мобильные приложения, и прочие другие приложения для различных девайсов: телевизоры, часы, навигаторы, умные колонки, ПО на различную бытовую технику и ПО на все виды промышленного и медицинского оборудования. Все это может тестировать тестировщик, хотя в этом случае его, конечно, уже будут называть инженером.
Грамотный и опытный тестировщик может знать намного больше, чем рядовой программист, который пишет всю жизнь на одном языке и одном фреймворке. И это речь идет о мануальных тестировщиках. Надеюсь теперь ни у кого не остается сомнений, что тестировщик - это полноценный айтишник.