Мы обсудим, насколько востребована в 2022 году профессия тестировщика. Зачем вообще нужны тестировщики? Затронем тему заработных плат, а также вопрос ручного и автоматизированного тестирования.
Примерно в 1945 году в Гарварде произошел интересный случай. Был найден впервые жук, который залетел в один из компьютеров и повредил систему. Этот жук был успешно туда пойман уже мертвым, и приклеен в журнал учета и указана, как первый жук, который вызвал в системе проблему. С тех пор все возможные неполадки всевозможные проблемы в софте, программах называют жуками. Собственно говоря, тот, кто ищет жуков, называется тестировщик программного обеспечения. Или как их называют в Америке — quality assurance.
То есть это не только просто тестирование, это несколько другая ступенька, когда к вопросу о тестировании уже подходят с точки зрения знаний, какого-то опыта и стратегии.
Настолько ли велика потребность в тестировщике?
Куда ни глянь сейчас все завязано на софте, программах. Ваши телефоны, компьютеры, телевизоры – все, что вас вокруг окружает – все наполнено всевозможными программами. Эти программы, соответственно, нужно кому-то проверять, тестировать перед тем, как они попадут конечному пользователю.
Потому что если выпустить на сегодняшний день программу, которая не будет протестирована, она выйдет на рынок, люди скачают или купят. И потом поймут, что в ней есть какие-то нюансы, которые их раздражают. Это может быть даже очень серьезная вещь, когда нажимаешь просто на кнопку и вся программа выключается. Таким образом, на рынке сейчас существует большой, на самом деле, спрос и огромное предложение. Тем не менее нужно всегда идти в ногу со временем. Если вы допускаете в своих программах ошибки, пользователь найдет приложение такого же рода, такого же формата, но от другого производителя, которые ошибок не допускают или, который убрал эти ошибки из своего приложения.
Стоит упомянуть о том, что программист, когда сам пишет код, он конечно же его тестирует. Прогоняет его от начала до конца, для того чтобы понять что код вообще рабочий. Если приложение достаточно простое, то программисты сами же его тестируют. Есть такие маленькие приложения, которые не нуждаются в тестировании в определенными людьми.
Но, если приложение достаточно серьезное, а сейчас, как правило, даже самое простое приложение на телефон может быть писаться целой командой разработчиков, то несомненно нужны люди которые будут тестировать. Так как, во-первых, время программиста дороже, чем время для тестировщика. Поэтому занимать время программиста на тестирование программы – это не рентабельно. Во-вторых, хороший программист – не значит хороший испытатель и тестировщик. Для этого есть люди, которые с холодным взглядом пробегутся, посмотрят и всё это дело протестируют.
Виды тестирования
Так только начинается карьера junior QA, как правило, в большинстве случаев, это мануальное, ручное тестирование. Что это такое? Это когда перед нами есть готовая страничка в интернете. И вы должны ее тестировать. Тестировать можно разными способами. Есть абсолютно разный уровень тестирования.
Можно просто нажимать на кнопки и смотреть, что происходит. У вас есть текст кейсы, которые рассказывают вам, что вы должны сделать, и результат, который должен выйти в конце, проделав эти действия. Если вы получили другой результат, не тот который ожидался – это уже считается ошибкой, и нужно с этим вопросом работать.
Есть более глубокое тестирование, когда вы нажимаете на кнопку здесь, а где-то там происходят какие-то процессы, идет отправление данных на сервер от клиента, идет обработка этих данных. Это уже несколько другой, но все еще это все еще ручное тестирование.
Следующий шаг – это уже автоматизация. Когда человек-тестировщик уже понимает, как работает FrontEnd и BackEnd, понимает как это все устроено. Он в принципе знает, что можно написать такого робота, такую программу, которая сама будет нажимать на кнопочки, сама будет отправлять запрос и получать ответы, и в итоге давать отчет по поводу полученного результата. Это уже QA Automation, и за это платят прилично больше.
Является ли тестировщик программистом?
Первое, что нужно понимать работе QA Automation — это то, что в первую очередь это все-таки тестировщик. Многие считают, что если они пойдут в Automation тестирование, то станут настоящим программистом. К сожалению, это не так. Это будет настоящий тестировщик, с умением делать это автоматически.
В первую очередь, основные знания и основные умения тестировщика требуется просто сама теория тестирования. Понимание того, что надо тестировать, что не надо тестировать. Каким образом заводить баги или какие-то свои комментарии. И, в общем то, каким образом их сопровождать. Как перетестировать, что нужно перетестировать, какие виды тестирования существуют и прочие вещи. Само по себе программирование в QA Automation достаточно небольшая область.
Люди сначала проходили какой-то сценарий тестирования. То есть сначала проходили тестирование руками. Может быть даже много раз, а потом этот процесс автоматизировали. Общий смысл состоит в том, что в некоторых случаях надо производить большое количество повторных действий. И конечно же, лучше вложить эти действия на компьютер. Пусть лучше сервер сам себя протестирует, и нам даст отчет, что из этого работает, а что нет.
Иногда бывают случаи, когда тестировщики со временем могут переходить в разработчиков, иногда это должности manager. Но для этого нужно набираться знаний отдельно. Так как базы в тестировании вам не хватит, к сожалению.
Что нужно знать и уметь начинающему тестировщику?
Что же нужно знать по тестированию? То есть тестировщик должен знать определенную теорию и владеть определенной практикой по тестированию.
Теория – это различные виды тестирования, методы, уровни, принципы. Это то, что могут спросить любого junior тестировщика на собеседовании. Также это знание различных тестовых артефактов, таких как тест кейсы, чек-листы, в чем приоритет тест кейса? Иногда даже бывает спрашивают про тест-план. Это умение тестировать сам программный продукт, когда вы находите определенные дефекты, уметь их регистрировать баг трекинговой системе. И в целом умение делать и решать поставленные задачи, которые могут поступать.
Умение и наличие хоть какого-то опыта тестирования реального программного продукта сейчас очень важно, потому что трудоустроиться без опыта практически невозможно.
А какие программы должен знать инженер? Если говорить, например, о технологиях, которые нужно знать сейчас junior тестировщику, то первое это конечно же SQL, то есть язык структурированных запросов в базу данных. Это умение работать с базой данных. Там где информация может храниться.
Второе это HTML и CSS. Это основа верстки. То, что должен знать любой front-end разработчик на крутом уровне. Но тестировщику нужно знать определенный базис, потому что если вы работаете над веб проектом, то вы регулярно будете залазить в инструменты разработчика так называемый Dev Tools.
Умение работать с командной строкой любой операционной системы, в частности конечно же unix. Это нужно для того чтобы, если вдруг складывается такая ситуация, что тебе нужно зайти на сервер, скачать какой-то определенный файл твоего продукта, и отдать программисту, чтобы он начал его изучать, потому что там могут быть какие-то записи, которые могут помочь программисту исправить дефект. Ты должен уметь это делать. Не разбираться в записях, потому что эта задача программиста, а найти этот файл, скачать его и отдать программисту. Очень часто бывают так, что на северах, где установлено ваше программное обеспечение, которое вы тестируете, нет графической части и вам нужно туда заходить через командную строку, и какими-то командами делать все эти элементарные операции.
Тестирования веб-сервисов, API. Это то, что должен знать абсолютно любой тестировщик, начиная с уровня junior, и даже если вы просто trainee. Потому что теория, связанная с этим и практика может быть у вас, что на собеседовании, что на проекте.
Все популярнее становятся знания тестирования мобильных приложений. Опять же это нужно, если вдруг на проекте у вас есть такая активность. То есть не везде это нужно, но даже уже на уровень джуниора требуются знания умения тестировать именно мобильное приложение. Профессия тестировщика может захватывать и этот сегмент деятельности.
Также от вас могут потребовать написание тест кейсов для описания процессов тестирования. Что вы также должны уметь делать.
Сколько получают тестировщики?
Примеры заработных плат тестировщиков можно увидеть открыв различные сайты по поиску работы, к примеру, HH.ru.
По статистике в первом полугодии 2022 года средняя заработная плата тестировщика выросла на 7 процента по сравнению со вторым полугодием 2021. А количество вакансий выросло аж на 18 процентов.
Конечно, есть несколько критериев, от которых зависит размер ЗП. Это стаж, навыки, знание английского, а также местоположение работы. Так начинающий тестировщик может получать от 25 до 60 тысяч рублей. С набором опыта и стажа от 5 лет, его ставка может вырасти до 150 000. Но для этого нужны действительно углубленные знания.