Тестировщик или разработчик что лучше
Война миров: программисты vs. тестировщики!
Эти вечные сомнительные доводы «это не баг, это фича» или «если это и баг, то незначительный, пусть остается».
Да как же остается, если система колом встает!?
То им это не нравится, то тут не работает! Да нафига было вообще в этом окне контекстное меню вызывать и вставлять нечитабельные символы!? Как они вообще до этого додумались!? Бред же, в боевом режиме так ни один пользователь не сделает!
Не буду править, пусть остается!
В общем, классика – вражда программистов и тестировщиков.
А потом я стал менеджером. И понял, что вражда эта губительна для общего дела. К счастью, я хорошо помнил себя и программистом и тестировщиком, что и помогло мне осознать истинную суть проблемы и изменить ситуацию.
Процесс
В те времена у нас был очень простой и понятный процесс разработки:
Но ведь у этого процесса есть вполне конкретная конечная цель – выпускать качественное ПО с нужным функционалом в срок.
Собственно, в этот момент и начинаются проблемы.
Проблемы
Однажды приходит менеджер и начинает напоминать о конечной цели.
Менеджер приходит к программистам и спрашивает «когда?», а они отвечают «не знаем, мы все сделали, спроси у тестировщиков».
Менеджер идет к тестировщикам с тем же вопросом «когда?», а они ему отвечают «разработка только утром выдала сборку, мы только приступили к тестированию, и точно будет возврат – тут багов уже много вылезло, поэтому мы не знаем когда будет выпуск – спроси у программистов».
И менеджер начинает ходить по кругу туда-сюда, а релиза все нет и нет.
В итоге, терпение менеджера кончается, он собирает программистов и тестировщиков вместе и пытается как-то решить вопрос. Собственно, все решения сводятся к выработке правил взаимодействия между программистами и тестировщиками. И все дальнейшие усилия менеджера направлены на контроль за соблюдением этих правил.
Например, как только менеджер расслаблялся – почти сразу все договоренности между программистами и тестировщиками забывались, и все возвращалось к исходному состоянию.
Более того, взаимоотношения между программистами и тестировщиками не улучшались – как была вражда, так она и осталась.
Осознание
Прошло ещё немало дней и ночей, когда я много думал о причинах происходящего, о поведении людей, об их эмоциях, потребностях и мотивах.
А потом вдруг всё стало ясно!
Да ведь сама структура такого подхода, когда «одни программируют – другие тестируют» порождает конфликт между программистами и тестировщиками.
И вся суть этого конфликта в том, что У НИХ РАЗНЫЕ ЦЕЛИ!
У тестировщиков цель «протестировать».
У разработчиков цель «разработать», т.е. «передать в тестирование».
А цель «выпустить релиз» только у менеджера. И только пока он прикладывает к этому усилия – она достигается.
А когда у людей разные цели – им не по пути, они не интересны друг другу. Как их не притягивай, они все равно будут идти своей дорогой, в разные стороны.
Решение
Собственно, решение проблемы и заключается в том, чтобы поставить и перед программистами и перед тестировщиками одну общую цель.
Причем цель очевидную – выпуск качественного релиза в срок.
Ведь не достигая эту цель, локальные цели «разработать» и «протестировать» теряют всякий смысл.
Это как то знаменитое высказывание, что для кого-то деньги – это цель, а для кого-то средство.
Т.е. программирование и тестирование – это средства, пусть и приятные – это даже хорошо, но все же средства. А цель – это релиз.
Ясно, что изменить цели оказалось делом не простым. Но поскольку я полностью проникся логикой своих мыслей – то был готов сломить любое сопротивление изменениям!
Разработка vs. Тестирование, или куда податься выпускнику ФВТ
Среди определенной части специалистов сферы IT бытует мнение, что разработку ПО и тестирование следует рассматривать как процессы-антагонисты. Действительно, написание исходного кода, разработка дизайна и т.д. – это созидательные процессы, в то время как тестирование – всегда носит деструктивный характер. На фоне специфики своей деятельности, между специалистами двух областей непрерывно возникают различные рабочие, а иногда и личностные, конфликты. Поэтому команды разработки и тестирования, зачастую, противостоят друг другу, а сотрудники делятся на «чужих» и «своих». К какому же лагерю примкнуть начинающему айтишнику? Попытаемся проанализировать оба направления и ответить на данный вопрос.
Считается, что разработка – более интеллектуальная, творческая, и как следствие, более оплачиваемая область, нежели тестирование. Это один из известных мифов, относительно профессии тестировщика и не более чем субъективное мнение отдельных индивидуумов. С объективной же точки зрения – каждый специалист выполняет свой, уникальный стек задач. Для программиста это написание кода, дизайн интерфейса, модульное тестирование, изучение и применение оптимальных конструкций и алгоритмов, а также соответствие шаблонам. Тестировщику же необходимо знание предметной области, аналогов реализуемой системы на рынке, знание типичных ошибок подобных систем, кроме того, для проектирования и выполнения тестов также требуется знание методик тест-дизайна, а в случае автоматизации – необходимым становится понимание современных инструментов автотестирования, их особенностей и ограничений.
Другим, не менее распространенным, является миф о том, что тестирование – более рутинная работа. На самом деле, все зависит от конкретного проекта и конкретной роли на нем. В процессе тестирования действительно возникает необходимость проводить регресс, который не славится своим разнообразием. В то же время, тестировщик может принимать участие в создании нового автоматизационного фреймворка, либо заниматься ручным тестированием нового функционала. Этот же принцип справедлив и для любого разработчика: в зависимости от выполняемой роли, специалист может заниматься поддержкой существующих компонент или же принимать участие в создании новых.
Многих интересует вопрос оплаты труда, а именно разница окладов разработчика и тестировщика. На этапе зарождения области QA, возможно, эта разница и была не в пользу последнего. В наши дни, дельта практически нивелировалась, а в некоторых случаях и превосходит стоимость услуг программиста – все зависит от проекта, опыта человека, его навыков и значимости этих навыков для команды.
Ну и наконец, благодаря описанным выше мифам и мнениям, многие молодые специалисты, которые не имеют опыта в разработке, но, тем не менее, считают эту область «имбовой» пытаются всеми правдами и неправдами попасть на должность junior или regular software developer. В том числе, используя позицию тестировщика как некий трамплин для дальнейшего перехода. Самое занятное в данном случае, что большинство таких претендентов в дальнейшем принимают решение связать свою жизнь с QA.
Итак, подведем итог: большинство стереотипов касательно профессии тестировщика не имеют под собой объективного основания. В настоящий момент оба направления равны. Творческий, амбициозный человек способен проявить себя и в той, и в другой области. Нельзя однозначно сказать, что активности в одной из них явно интереснее, чем в другой, как и нельзя утверждать обратное. Перед принятием решения необходимо детально ознакомиться с конкретными обязанностями, а лучше поработать какое-то время и в качестве тестировщика, и в качестве разработчика. Только тогда человек сможет с уверенностью определить какой путь ему ближе. Более того, это позволит избежать распространения известных заблуждений и повысит общий профессионализм сотрудника – понимание задач обоих отделов снизит вероятность конфликтов и непонимания в коллективе.
В заключение хотелось бы отметить, что, безусловно, тестирование и разработка – это две неотъемлемые части одного процесса. Без одной, так или иначе, не будет другой. Поэтому на какой бы позиции, роли вы не находились – всегда с уважением относитесь к работе коллег.
Программист или тестировщик: что лучше выбрать?
Многие люди, желающие сделать карьеру в ИТ, выбирают между этими профессиями. Мы решили их сравнить и объяснить, кому больше подойдет разработка, а кому – тестирование. И с чего начать в каждом случае. В статье собрано много полезной информации, обязательно прочитайте ее до конца.
Содержание статьи:
Кем проще стать, программистом или тестировщиком?
Чтобы ответить на вопрос, сравним обе профессии по основным критериям, которые могут повлиять на выбор:
Чем нужно заниматься
Писать код. Создавать программы, приложения, скрипты для сайтов.
Проверять работу программ, приложений, сайтов. Выявлять и описывать ошибки (баги).
Выше. Требуется решать нестандартные задачи.
Работа по четким инструкциям и алгоритмам.
У новичков на 20-30% выше, чем в тестировании. Быстро растет по мере накопления опыта.
Ниже, чем у программистов. Со временем разрыв по деньгам может увеличиваться.
Сколько времени требуется на обучение
От 1 года и больше.
От 6 месяцев, при этом можно найти курсы со стажировками.
Людям с логическим складом ума, усидчивым, способным придумывать новое, находить нестандартные решения.
Спокойным и размеренным людям, усидчивым, способным работать по инструкциям, не устающим от стандартных задач.
Что в итоге выбрать, профессию тестировщика или программиста?
По общему мнению, освоить профессию тестировщика можно быстрее и проще. Многие люди, которые хотят работать в ИТ, но не желают учиться программировать, идут в тестирование. Эта работа востребована. Получить необходимые знания и навыки можно за полгода.
Есть курсы, которые проводятся совместно с работодателями и лучших выпускников приглашают на собеседования. Например, такая программа сделана в Нетологии. Она идет совместно с Альфа-Банком, который приглашает выпускников к себе.
Стать востребованным разработчиком сложнее. На это может уйти и год, и два, и три. Требуется освоить больший объем знаний и навыков, а также иметь способности для занятия программированием.
Кому больше платят? Сравниваем зарплаты
Тестировщики обычно получают до 80 тыс. рублей в месяц. Исключение – QA Lead, то есть руководитель отдела тестирования. Его доход может превышать 200 тыс. рублей в месяц.
Хороший разработчик может зарабатывать от 100-120 до 150-200 тыс. рублей в месяц в зависимости от языков и технологий, которыми он владеет. Доходы мобильных разработчиков могут превышать 200 тыс. рублей в месяц.
Для примера приведем данные по зарплатам у разных специалистов. Первая цифра – это зарплата новичка, вторая – специалиста с большим опытом:
Средняя зарплата на рынке, руб.
Как видите, на старте зарплаты в тестировании и программировании могут отличаться несильно. По мере роста опыта и квалификации доходы разработчиков становятся больше. Но и требований к ним предъявляется тоже много.
В какой профессии легче найти работу?
Говоря о том, что выбрать – стать программистом или тестировщиком – нельзя обойти вопрос поиска работы. Легче его решить тестировщику. Многие идут в программирование, так как там меньше рутины и выше зарплаты. Поэтому в отделы тестирования, особенно в небольших компаниях, часто готовы брать новичков без опыта. Сами научат и покажут, что делать. Платят там обычно немного, зато помогают набраться опыта.
Другие компании сотрудничают с курсами, где учат тестировщиков, и лучших выпускников берут к себе. Например, такая программа есть в Нетологии. Она проводится совместно с Альфа-Банком, который заинтересован в новых сотрудниках.
Программистом стать сложнее, но и тут есть свои лайфхаки. Часто толковых тестировщиков, которые освоили языки программирования, переводят в разработчики. Не имя опыта, можно вначале устроиться в отдел тестирования, а затем перейти в разработку в рамках карьерного роста внутри одной компании.
Что выбрать: стать тестировщиком или программистом?
Ответ на этот вопрос зависит от ваших задач, интересов и желаний:
Кому лучше стать тестировщиком?
Кому лучше выбрать программирование?
С чего начать и где учиться?
Можно пройти онлайн-курсы, на которых освоить теорию, получить практику и подготовиться к поиску работы. В таблице собраны примеры программ, которые подходят новичкам:
Название курса и ссылка на него
Курс в Нетологии, выпускники которого могут получить приглашение на собеседование в Альфа-Банк. Обучение включает вебинары, лекции и практику. Выдают диплом о профессиональной переподготовке.
Подойдет людям, которые хотят заниматься разработкой сайтов и интернет-сервисов. Включает много практики, что является плюсом. Лучших выпускников приглашают на стажировку в Affinage.
Эта программа ведется совместно с Альфа-Банком. Лучшие выпускники могут получить работу. Программисты на Java востребованы и хорошо зарабатывают. На этом языке пишут приложения, сайты, игры и многое другое.
Курс в университете Skillbox. Подойдет людям, которые хотят заниматься разработкой мобильных приложений на Android и iOS. Для прохождения курса потребуется MacBook.
В области программирования есть и другие специализации. Выбрать подходящую профессию в ИТ можно в нашем каталоге. Там собрана подробная информация по каждому направлению, с чего начать тестировщику или программисту, советы для новичков.
На нашем сайте также есть другие полезные материалы:
Мы рассказали о профессиях программиста и тестировщика и что выбрать в зависимости от ваших желаний и задач. Сейчас ИТ на подъеме и специалисты востребованы. В одной сфере легче найти работу, в другой можно больше заработать.
Тестировщик vs разработчик
Сегодня я бы хотел затронуть тему процесса разработки программного обеспечения. Если точнее, эта статья о том «Как не превратить офис в поле битвы тестировщиков и разработчиков».
Полгода назад я погрузился в тестирование ПО, мне было интересно и я понял, что это действительно моё. Часами залипал на форумах тестировщиков, читал литературу и изучал процесс разработки ПО. На форумах, в группах и беседах я частенько замечал приколы про взаимодействие тестировщиков и разработчиков, но я не понимал этих шуток и не обращал на это внимание. По крайней мере, пока не попал на стажировку в одну компанию по разработке ПО.
Через пару месяцев я начал догонять смысл этих приколов и активных обсуждений «Tester vs Developer». Так как я был первым тестировщиком в этой компании, освоиться было сложно. Задачам с пустым описанием, но с названиями «протестируй и отпишись», «проверь сайт», «не работает приложение» не было конца, а разработчики и проджект менеджер вообще не знали понятие QA. Всем знакома эта фраза «Без ТЗ – результат ХЗ», так вот там было тоже самое. Плюс ко всему этому, никого не волновало то, что продукт мягко говоря «кривоват». В большинство случаев было так: ты получаешь задание «протестируй» — тестируешь, делаешь отчет о найденных дефектах и передаешь их разработчику, ну а у разработчика эта задача могла висеть месяцами. В итоге шеф посчитал, что тестировщик в штате лишний и для меня этот кошмар закончился, ну а продукт так и остался «кривым».
Бывают разные споры, разногласия, но мне кажется, что уже давно пора придумать какой-нибудь простой подход, чтобы избежать подобных случаев.
Скриншот из беседы тестировщиков ПО:
Найти дефект — задокументировать — передать разработчику для исправления. Но опять-таки, вроде бы всё просто, если бы не реакция разработчика на свои ошибки. Наверное он просто забыл о том, что задача тестировщика это поиск ошибок и сбоев в функционировании объекта. В итоге мы как дружное сообщество начали давать разные советы бедной даме. Многие предлагали решать вопрос через тимлида, а некоторые даже предлагали набить лицо за такое отношение. Ну а я предложил свой вариант, но многим он показался странным.
Через некоторое время я попал на один интересный проект, в котором проджект менеджер был мостом между тестировщиком и разработчиками. Я не знаю, насколько эта концепция эффективна, но мы за всё время ни разу не поругались. Как баг трекинговую систему мы использовали Trello. Эта система удобна тем, что она вся построена на основе доски и все, что в ней есть, находится на одном экране: и задачи, и история изменений, и любые комментарии. Но это же и главный минус программы. Она слишком простая и не предназначена для больших команд.
От проджект менеджера прилетала задача, во время тестирования каждый баг оформлялся в отдельную карточку и прикреплялся в блок «Баги» с меткой «Недочёт» и с подробным описанием. Затем проджект менеджер задавал приоритет карточке и закидывал одному из разработчиков. Иногда такое бывает, что сроки горят и до встречи с заказчиком нужно проверить самые важные моменты. В таком случае проджект менеджер задавал высокий приоритет багам связанных с бизнес логикой, а баги связанные с UI откладывались на потом. У многих возникнет вопрос » Кто тогда будет отвечать за упущенные баги в прод? «, к сожалению мы сам не в курсе.
Самое важное в таком процессе, это то, что тестировщик не взаимодействует с командой разработчиков, следовательно, нет криков, ссор и споров:
Если в вашей команде адекватный project manager или product owner, попробуйте протестировать такой подход. Я думаю, что многим понравится.
Конечно же, есть компании, в которых отношение разработчиков и тестировщиков идеальное. Например, в которых за упущенные баги в продакшн и жалобы пользователей отвечает разработчик. В таком случае разработчик сам будет заинтересован в хороших отношениях с тестировщиком. Но опять-таки возникает вопрос » А сколько компании работают по по такому принципу? «
В программисты или в тестировщики (идти)?
Приветствую всех! Может быть кому-то мои вопросы покажутся странными, но я и в самом деле озадачен. Ознакомился с требованиями к вакансии тестировщика ПО (QA), почитал про эту профессию и пришёл к выводу что:
— выучится на тестировщика гораздо проще;
— довольно часто на это место берут даже людей с улицы, достаточно знать лишь общие теоретические вопросы в сфере IT (как в том анекдоте про цвет учебника на экзамене), обучают прям на месте, а бывшего программиста вообще оторвут с руками;
— знание ООП, алгоритмов, синтаксиса ЯП является бонусом, но не всегда это обязательно;
— тестировщики постоянно востребованы, почти так же как и программисты;
Может быть я ошибаюсь, если это так, то с готовностью выслушаю критику.
И в связи с этим у меня возникло несколько вопросов:
— почему тогда все не идут в тестировщики, вместо программистов? Из-за любви к программированию? Или лишь потому что программистам платят немного больше?
— можно ли устроится тестировщиком после 34 лет (в вакансиях конечно требования к возрасту не пишут, по понятным причинам)? Слышал, что это в основном для молодёжи..
— правда ли то что тестировщики с опытом работы так же востребованы за рубежом как и программисты?
— если кандидат пройдёт онлайн курсы тестировщиков, это повысит его шансы при приёме на работу в IT компанию?
— и верно ли то что раньше (лет 10 тому назад) тестировщиком легче было устроится без опыта, «с улицы»? В России, по крайней мере.
Оценить 2 комментария
Да
Берут только по блату и за деньги
Если забашлять и иметь связи, то можно сразу ПМ стать
почему тогда все не идут в тестировщики, вместо программистов?
Действительно, в тестировщики более чем реально попасть не умея программировать. Некоторые, поработав какое-то время, учатся программировать и становятся программистами. В целом, это неплохой старт карьеры в IT без опыта.
Слышал, что это в основном для молодёжи..
К нам приходят тестировщики и за 40 (в основном по знакомствам). Вцелом, не вижу здесь какого-то возрастного барьера. Другое дело, хотите ли вы в 34 за небольшую зарплату целый день кликать и, в случае незамеченного бага получать по голове за то что плохо кликали. (: Но, так как я написал выше, сможете хорошо себя проявить и вырасти выше.
правда ли то что тестировщики с опытом работы так же востребованы за рубежом как и программисты
если кандидат пройдёт онлайн курсы тестировщиков, это повысит его шансы при приёме на работу в IT компанию?
и верно ли то что раньше (лет 10 тому назад) тестировщиком легче было устроится без опыта, «с улицы»?
В эпоху всеобъемлющего DevOps функции разработчиков админов и тестировщиков совмещаются. Так быстрее и эффективнее развивается софт.
А отдельные выделенные тестировщики присутствуют только на больших проектах.
Всё зависит от Ваших способностей погрузиться в глубины обработки информации: от банальной реакции приложения на экране до регистров процессора/ячеек памяти/отслеживания системных вызовов.