Тестировщик или разработчик что лучше
Программист или тестировщик: что лучше выбрать?
Многие люди, желающие сделать карьеру в ИТ, выбирают между этими профессиями. Мы решили их сравнить и объяснить, кому больше подойдет разработка, а кому – тестирование. И с чего начать в каждом случае. В статье собрано много полезной информации, обязательно прочитайте ее до конца.
Содержание статьи:
Кем проще стать, программистом или тестировщиком?
Чтобы ответить на вопрос, сравним обе профессии по основным критериям, которые могут повлиять на выбор:
Чем нужно заниматься
Писать код. Создавать программы, приложения, скрипты для сайтов.
Проверять работу программ, приложений, сайтов. Выявлять и описывать ошибки (баги).
Выше. Требуется решать нестандартные задачи.
Работа по четким инструкциям и алгоритмам.
У новичков на 20-30% выше, чем в тестировании. Быстро растет по мере накопления опыта.
Ниже, чем у программистов. Со временем разрыв по деньгам может увеличиваться.
Сколько времени требуется на обучение
От 1 года и больше.
От 6 месяцев, при этом можно найти курсы со стажировками.
Людям с логическим складом ума, усидчивым, способным придумывать новое, находить нестандартные решения.
Спокойным и размеренным людям, усидчивым, способным работать по инструкциям, не устающим от стандартных задач.
Что в итоге выбрать, профессию тестировщика или программиста?
По общему мнению, освоить профессию тестировщика можно быстрее и проще. Многие люди, которые хотят работать в ИТ, но не желают учиться программировать, идут в тестирование. Эта работа востребована. Получить необходимые знания и навыки можно за полгода.
Есть курсы, которые проводятся совместно с работодателями и лучших выпускников приглашают на собеседования. Например, такая программа сделана в Нетологии. Она идет совместно с Альфа-Банком, который приглашает выпускников к себе.
Стать востребованным разработчиком сложнее. На это может уйти и год, и два, и три. Требуется освоить больший объем знаний и навыков, а также иметь способности для занятия программированием.
Кому больше платят? Сравниваем зарплаты
Тестировщики обычно получают до 80 тыс. рублей в месяц. Исключение – QA Lead, то есть руководитель отдела тестирования. Его доход может превышать 200 тыс. рублей в месяц.
Хороший разработчик может зарабатывать от 100-120 до 150-200 тыс. рублей в месяц в зависимости от языков и технологий, которыми он владеет. Доходы мобильных разработчиков могут превышать 200 тыс. рублей в месяц.
Для примера приведем данные по зарплатам у разных специалистов. Первая цифра – это зарплата новичка, вторая – специалиста с большим опытом:
Средняя зарплата на рынке, руб.
Как видите, на старте зарплаты в тестировании и программировании могут отличаться несильно. По мере роста опыта и квалификации доходы разработчиков становятся больше. Но и требований к ним предъявляется тоже много.
В какой профессии легче найти работу?
Говоря о том, что выбрать – стать программистом или тестировщиком – нельзя обойти вопрос поиска работы. Легче его решить тестировщику. Многие идут в программирование, так как там меньше рутины и выше зарплаты. Поэтому в отделы тестирования, особенно в небольших компаниях, часто готовы брать новичков без опыта. Сами научат и покажут, что делать. Платят там обычно немного, зато помогают набраться опыта.
Другие компании сотрудничают с курсами, где учат тестировщиков, и лучших выпускников берут к себе. Например, такая программа есть в Нетологии. Она проводится совместно с Альфа-Банком, который заинтересован в новых сотрудниках.
Программистом стать сложнее, но и тут есть свои лайфхаки. Часто толковых тестировщиков, которые освоили языки программирования, переводят в разработчики. Не имя опыта, можно вначале устроиться в отдел тестирования, а затем перейти в разработку в рамках карьерного роста внутри одной компании.
Что выбрать: стать тестировщиком или программистом?
Ответ на этот вопрос зависит от ваших задач, интересов и желаний:
Кому лучше стать тестировщиком?
Кому лучше выбрать программирование?
С чего начать и где учиться?
Можно пройти онлайн-курсы, на которых освоить теорию, получить практику и подготовиться к поиску работы. В таблице собраны примеры программ, которые подходят новичкам:
Название курса и ссылка на него
Курс в Нетологии, выпускники которого могут получить приглашение на собеседование в Альфа-Банк. Обучение включает вебинары, лекции и практику. Выдают диплом о профессиональной переподготовке.
Подойдет людям, которые хотят заниматься разработкой сайтов и интернет-сервисов. Включает много практики, что является плюсом. Лучших выпускников приглашают на стажировку в Affinage.
Эта программа ведется совместно с Альфа-Банком. Лучшие выпускники могут получить работу. Программисты на Java востребованы и хорошо зарабатывают. На этом языке пишут приложения, сайты, игры и многое другое.
Курс в университете Skillbox. Подойдет людям, которые хотят заниматься разработкой мобильных приложений на Android и iOS. Для прохождения курса потребуется MacBook.
В области программирования есть и другие специализации. Выбрать подходящую профессию в ИТ можно в нашем каталоге. Там собрана подробная информация по каждому направлению, с чего начать тестировщику или программисту, советы для новичков.
На нашем сайте также есть другие полезные материалы:
Мы рассказали о профессиях программиста и тестировщика и что выбрать в зависимости от ваших желаний и задач. Сейчас ИТ на подъеме и специалисты востребованы. В одной сфере легче найти работу, в другой можно больше заработать.
В программисты или в тестировщики (идти)?
Приветствую всех! Может быть кому-то мои вопросы покажутся странными, но я и в самом деле озадачен. Ознакомился с требованиями к вакансии тестировщика ПО (QA), почитал про эту профессию и пришёл к выводу что:
— выучится на тестировщика гораздо проще;
— довольно часто на это место берут даже людей с улицы, достаточно знать лишь общие теоретические вопросы в сфере IT (как в том анекдоте про цвет учебника на экзамене), обучают прям на месте, а бывшего программиста вообще оторвут с руками;
— знание ООП, алгоритмов, синтаксиса ЯП является бонусом, но не всегда это обязательно;
— тестировщики постоянно востребованы, почти так же как и программисты;
Может быть я ошибаюсь, если это так, то с готовностью выслушаю критику.
И в связи с этим у меня возникло несколько вопросов:
— почему тогда все не идут в тестировщики, вместо программистов? Из-за любви к программированию? Или лишь потому что программистам платят немного больше?
— можно ли устроится тестировщиком после 34 лет (в вакансиях конечно требования к возрасту не пишут, по понятным причинам)? Слышал, что это в основном для молодёжи..
— правда ли то что тестировщики с опытом работы так же востребованы за рубежом как и программисты?
— если кандидат пройдёт онлайн курсы тестировщиков, это повысит его шансы при приёме на работу в IT компанию?
— и верно ли то что раньше (лет 10 тому назад) тестировщиком легче было устроится без опыта, «с улицы»? В России, по крайней мере.
Оценить 2 комментария
Да
Берут только по блату и за деньги
Если забашлять и иметь связи, то можно сразу ПМ стать
почему тогда все не идут в тестировщики, вместо программистов?
Действительно, в тестировщики более чем реально попасть не умея программировать. Некоторые, поработав какое-то время, учатся программировать и становятся программистами. В целом, это неплохой старт карьеры в IT без опыта.
Слышал, что это в основном для молодёжи..
К нам приходят тестировщики и за 40 (в основном по знакомствам). Вцелом, не вижу здесь какого-то возрастного барьера. Другое дело, хотите ли вы в 34 за небольшую зарплату целый день кликать и, в случае незамеченного бага получать по голове за то что плохо кликали. (: Но, так как я написал выше, сможете хорошо себя проявить и вырасти выше.
правда ли то что тестировщики с опытом работы так же востребованы за рубежом как и программисты
если кандидат пройдёт онлайн курсы тестировщиков, это повысит его шансы при приёме на работу в IT компанию?
и верно ли то что раньше (лет 10 тому назад) тестировщиком легче было устроится без опыта, «с улицы»?
В эпоху всеобъемлющего DevOps функции разработчиков админов и тестировщиков совмещаются. Так быстрее и эффективнее развивается софт.
А отдельные выделенные тестировщики присутствуют только на больших проектах.
Всё зависит от Ваших способностей погрузиться в глубины обработки информации: от банальной реакции приложения на экране до регистров процессора/ячеек памяти/отслеживания системных вызовов.
Разработка vs. Тестирование, или куда податься выпускнику ФВТ
Среди определенной части специалистов сферы IT бытует мнение, что разработку ПО и тестирование следует рассматривать как процессы-антагонисты. Действительно, написание исходного кода, разработка дизайна и т.д. – это созидательные процессы, в то время как тестирование – всегда носит деструктивный характер. На фоне специфики своей деятельности, между специалистами двух областей непрерывно возникают различные рабочие, а иногда и личностные, конфликты. Поэтому команды разработки и тестирования, зачастую, противостоят друг другу, а сотрудники делятся на «чужих» и «своих». К какому же лагерю примкнуть начинающему айтишнику? Попытаемся проанализировать оба направления и ответить на данный вопрос.
Считается, что разработка – более интеллектуальная, творческая, и как следствие, более оплачиваемая область, нежели тестирование. Это один из известных мифов, относительно профессии тестировщика и не более чем субъективное мнение отдельных индивидуумов. С объективной же точки зрения – каждый специалист выполняет свой, уникальный стек задач. Для программиста это написание кода, дизайн интерфейса, модульное тестирование, изучение и применение оптимальных конструкций и алгоритмов, а также соответствие шаблонам. Тестировщику же необходимо знание предметной области, аналогов реализуемой системы на рынке, знание типичных ошибок подобных систем, кроме того, для проектирования и выполнения тестов также требуется знание методик тест-дизайна, а в случае автоматизации – необходимым становится понимание современных инструментов автотестирования, их особенностей и ограничений.
Другим, не менее распространенным, является миф о том, что тестирование – более рутинная работа. На самом деле, все зависит от конкретного проекта и конкретной роли на нем. В процессе тестирования действительно возникает необходимость проводить регресс, который не славится своим разнообразием. В то же время, тестировщик может принимать участие в создании нового автоматизационного фреймворка, либо заниматься ручным тестированием нового функционала. Этот же принцип справедлив и для любого разработчика: в зависимости от выполняемой роли, специалист может заниматься поддержкой существующих компонент или же принимать участие в создании новых.
Многих интересует вопрос оплаты труда, а именно разница окладов разработчика и тестировщика. На этапе зарождения области QA, возможно, эта разница и была не в пользу последнего. В наши дни, дельта практически нивелировалась, а в некоторых случаях и превосходит стоимость услуг программиста – все зависит от проекта, опыта человека, его навыков и значимости этих навыков для команды.
Ну и наконец, благодаря описанным выше мифам и мнениям, многие молодые специалисты, которые не имеют опыта в разработке, но, тем не менее, считают эту область «имбовой» пытаются всеми правдами и неправдами попасть на должность junior или regular software developer. В том числе, используя позицию тестировщика как некий трамплин для дальнейшего перехода. Самое занятное в данном случае, что большинство таких претендентов в дальнейшем принимают решение связать свою жизнь с QA.
Итак, подведем итог: большинство стереотипов касательно профессии тестировщика не имеют под собой объективного основания. В настоящий момент оба направления равны. Творческий, амбициозный человек способен проявить себя и в той, и в другой области. Нельзя однозначно сказать, что активности в одной из них явно интереснее, чем в другой, как и нельзя утверждать обратное. Перед принятием решения необходимо детально ознакомиться с конкретными обязанностями, а лучше поработать какое-то время и в качестве тестировщика, и в качестве разработчика. Только тогда человек сможет с уверенностью определить какой путь ему ближе. Более того, это позволит избежать распространения известных заблуждений и повысит общий профессионализм сотрудника – понимание задач обоих отделов снизит вероятность конфликтов и непонимания в коллективе.
В заключение хотелось бы отметить, что, безусловно, тестирование и разработка – это две неотъемлемые части одного процесса. Без одной, так или иначе, не будет другой. Поэтому на какой бы позиции, роли вы не находились – всегда с уважением относитесь к работе коллег.
Программист vs тестировщик: «Некоторые думают, что главное — найти в программе как можно больше ошибок»
Программист vs тестировщик: кто смотрит на программу шире, а кто — глубже? Как сделать карьеру в отделе тестирования? Является ли эта профессия творческой? На эти и другие вопросы отвечают специалисты компании «Топ Софт» (белорусский офис корпорации «Галактика»).
В беседе участвуют: начальник отдела интегрального тестирования Наталья Горавская, руководитель экспертной группы ОИТ Александр Ализарчик, начальник отдела тестирования Xafari Владимир Курганович и начальник отдела тестирования департамента «Управление персоналом» Дмитрий Яковцев.
Говорят, основной продукт тестировщика — ошибка (точнее, описание найденных ошибок, которое передается программистам). Согласны?
Наталья Горавская: Понятно, что любая программа содержит ошибки и возможности улучшения, и тестирование — бесконечный процесс. Система «Галактика ERP» развивается и сопровождается уже 23 года — и все это время тестировщики постоянно в этом участвуют. Однако наша работа только к поиску ошибок не сводится.
Один из основоположников современного тестирования ПО Борис Бейзер описал пять стадий становления тестировщика. Нулевую, низшую стадию он определял так: цель тестирования — помощь в поиске и исправлении ошибок.
Мы тоже поначалу считали, что цель тестирования — поиск и исправление ошибок. Но, по мере того, как менялись требования к ПО, запросы наших заказчиков — эволюционировали и наши взгляды. Мы стали рассматривать тестирование как один из ключевых элементов обеспечения качества ПО.
Ещё говорят, что программисты относятся к тестировщикам снисходительно, считая их младшим обслуживающим персоналом.
Наталья Горавская: Многие коллеги из других служб признают, что тестировщики лучше знают функционал системы в целом. Конечно, тот же программист глубже знает конкретные процессы, над автоматизацией которых работает. Зато тестировщик — знает процессы шире. Ведь мы находимся в постоянном цикле «разработка — проверка» для разных модулей, продуктов и заказных проектов. Мы отслеживаем изменения программных продуктов на протяжении многих лет. Мы лучше видим взаимосвязи между программными компонентами и пользовательскими функциями.
Например, начинающий программист может не знать, что данная информация в данном модуле будет использоваться еще в четырех или пяти модулях. А опытный тестировщик — знает. И обязательно проверит все эти взаимосвязи. Поэтому представители всех служб, в т. ч. разработчики, часто обращаются к нам за консультациями.
Добавлю, что, если у сотрудника достаточный уровень знаний в предметной области и общих вопросах, если человек умеет находить решения сложных проблем, делать оценки, прогнозировать поведение системы, искать потенциально узкие места в работе программы — на него в «Топ Софте» вряд ли кто-то посмотрит свысока.
Ещё одно распространенное мнение: тестировщики и программисты часто конфликтуют.
Наталья Горавская: Может быть, в первые годы существования отдела тестирования, когда мы были молоды, бескомпромиссны и стремились настоять на своем — искры конфликтов и мелькали. Но сейчас авторитет тестировщика в компании вырос. Программисты сами заинтересованы поскорее передать продукт, чтобы мы его посмотрели. Они охотно используют наши знания и свежий взгляд со стороны.
Это не значит, что споров, дискуссий совсем не бывает. Никто не любит признавать свои ошибки — и это характерно не только для IT-среды. Иногда разработчикам трудно понять, каково приходится пользователям, осваивающим сложный продукт.
И тогда задача тестировщика — убедить разработчика, что, если предлагаемые изменения не будут внедрены — неизбежен конфликт нашей компании с заказчиком. Программу пишет не тестировщик, но ответ за ее работу приходится держать и нам. Наш отдел — выпускающая служба, которая отвечает за качество конечного решения.
Технологии
Какие требования к качеству бизнес-приложений предъявляют сегодня белорусские пользователи?
Наталья Горавская: В первую очередь, их интересует функциональная полнота программных продуктов. Заказчик хочет, чтобы ему помогли автоматизировать востребованные у него бизнес-процессы и сделали это сегодня. Но при этом важно, чтобы в первую очередь решались наиболее актуальные задачи. А задача тестировщиков — проверить полноту и корректность реализации требований на разработку.
Для многих предприятий критически важна скорость обработки больших объемов данных. Контроль быстродействия системы — постоянная работа подразделений тестирования. Также для пользователей важна своевременная поддержка изменений в законодательстве, функциональная преемственность информационной системы в ходе сопровождения, эргономичность, совместимость с новыми операционными системами и версиями СУБД. Контроль соответствия программных продуктов по всем перечисленным параметрам — и есть наша главная задача.
Какие технологии вы для этого используете?
Александр Ализарчик: Хорошее познается в сравнении. Поэтому позволю себе начать издалека. В середине 1990-х к тестированию новых релизов Галактики ERP приходилось привлекать сотрудников других служб «Топ Софта», вплоть до отдела продаж. Но все равно весь процесс занимал, как минимум, 2–3 месяца. Пользователи подолгу ждали исправления ошибок, появления запрошенных функций, поддержки изменений законодательства и т. д.
По мере развития функциональности системы рос и объем необходимых работ по тестированию. Все отчетливее вырисовывалась проблема обеспечения устойчивости системы, сохранения функциональной преемственности, которая решается только регрессионным тестированием.
В конце 90-х годов нашей корпорацией была разработана и силами отделов тестирования Москвы и Минска внедрена система автоматизированного тестирования AQA.
Известно, что каждое изменение программного продукта имеет определенную вероятность внести ошибку. Самые трудноуловимые ошибки — те, что появляются в уже многократно проверенных компонентах. Только автоматизированное тестирование после модификации кода однозначно позволяет обнаружить эти ошибки там, где тестировщик с большой вероятностью мог бы их пропустить.
Эта возможность особенно важна при выпуске релизов, а затем — и обновлений. Сжатые сроки требуют специальной методики обеспечения надежности. Никакая команда тестировщиков не может вручную за несколько дней пройти хотя бы типовые бизнес-процессы и гарантировать полное сохранение работоспособности, поэтому основной объем проверки функциональности стал возлагаться на автоматизированную систему. Новые и модифицированные функции могут быть проверены только вручную, однако при этом производится запись сценариев для их автоматизированного тестирования в дальнейшем.
— Не проще ли было приобрести аналогичный продукт у одной из компаний, которые специализируются на их разработке?
Александр Ализарчик. Увы, ни одна из присутствующих на рынке систем тестирования не учитывала специфику нашего ПО. Например, ERP-системы работают с базами данных — но ни в одной системе не было возможности начинать каждый тест с восстановления исходной базы данных.
С помощью AQA мы воспроизводим условия эксплуатации системы на крупных предприятиях и в распараллеленном режиме проводим глубокое тестирование ее функциональности, функциональной преемственности, производительности, масштабируемости, устойчивости системы под нагрузкой и др.
Сильно ускоряет процесс использование ранее созданных библиотек тестов. Тестировщик может в одиночку, не отвлекая коллег, провести большой комплекс работ. И обращается к автору библиотеки только в случае ошибок, которые не может сам диагностировать.
Дмитрий Яковцев: Самое ценное в AQA — простота использования. Кроме того, когда для тестирования новых задач нам нужны доработки самой системы AQA — мы довольно быстро их получаем. Мы сами формулируем новые требования к ее функционалу и предлагаем решения. Со сторонними системами это было бы невозможно.
AQA встроена в систему «Галактика ERP», имеет тот же интерфейс, хорошо документирована, так что любой заказчик может ее легко освоить и использовать, как для обеспечения эксплуатации развернутой у него конфигурации, так и для тестирования собственных разработок.
Наталья Горавская: Немаловажно, что сторонние системы тестирования — недешевы, особенно в пересчете на количество рабочих мест. Если бы мы ими пользовались, корпорации «Галактика» пришлось бы существенно повысить стоимость своих программных продуктов.
Владимир Курганович. AQA используется для автоматизации тестирования «Галактики ERP» и других продуктов, созданных корпорацией «Галактика» на собственной платформе разработки «Атлантис». А такие решения, как система управления производственными процессами предприятия «Галактика AMM», система управления активами предприятия «Галактика EAM» и другие, разрабатываются на нашей новой бизнес-платформе Xafari — которая, в свою очередь, развивает возможности Open Source платформы XAF компании DevExpress. Специалисты нашего отдела изучили возможности множества инструментов — и в итоге выбрали для автоматизации тестирования решений на Xafari систему EasyTest той же DevExpress. Ее плюс — платформонезависимость и простота использования EasyTest. А также, что немаловажно, возможность самостоятельной (силами собственных разработчиков) доработки, развития функционала этого инструмента под свои нужды.
— Наталья Васильевна, вы отмечали, что процесс совершенствования системы должен быть нацелен прежде всего на наиболее актуальные для заказчиков задачи. Как это удаётся?
Наталья Горавская: В этом помогает корпоративная система «Проблемы и решения». Мы и наши коллеги — программисты, внедренцы, специалисты техподдержки и других служб — фиксируем в ней все виды проблем, возникающих в ходе разработки и эксплуатации программных продуктов, предложения по их развитию, заявки на доработку и др.
ПИР помогает координировать работу служб, вовремя решать проблемы заказчиков. Информация из ПИРа подсказывает разработчикам, в каких новых функциях действительно нуждаются пользователи. А тестировщику — помогает писать тесты, позволяющие в сжатый срок проверить функциональность программы по заданным бизнес-процессам.
— Роль хороших инструментов нельзя переоценить. А каков вклад самого тестировщика, его опыта, профессионализма в решение проблем пользователей?
Наталья Горавская: Разумеется, роль интеллектуального труда тестировщика — основная. Ведь автоматизировать можно только то, в чем хорошо разобрался. Поэтому процесс тестирования начинается с анализа проектной документации. К слову, ключевые сотрудники отдела тестирования, учитывая их опыт и знания, часто привлекаются к согласованию технических заданий, технических проектов и аналитических записок, вносят свои предложения по разработке, развитию продуктов и т. д.
— Как бы вы оценили вклад службы тестирования в создание конечного программного продукта?
Владимир Курганович: Нужно учесть, что функционал разных решений различается степенью сложности, востребованности, проблемности. Соответственно, отличается и вклад тестировщика.
Наталья Горавская: Можно, оценивать, например, по соотношения ресурсных затрат, но это не всегда отражает общую картину. Для нас, во-первых, важно, что разработчики всегда стараются как можно быстрее передать нам на тестирование свои продукты. А во-вторых, мы подписываем «путевку в жизнь» каждой новой функциональности, каждому новому продукту.
— А если ошибка просочилась в программу?
Дмитрий Яковцев: Проводим анализ: почему ошибку допустили разработчики и пропустили тестировщики — и стараемся избегать подобных ситуаций в будущем. Регламент предусматривает, что по критичным — т. е. важным для пользователя — ошибкам обязательно пишутся тесты.
— Какие качества нужны тестировщику для успешной карьеры?
Владимир Курганович: Аналитический склад ума, знание предметной области, уравновешенность, стрессоустойчивость, внимательность, скрупулезность, ответственность, коммуникативность, умение аргументированно настоять на своем.
— Нужно ли быть программистом?
Наталья Горавская: Не обязательно. К нам приходят и люди без программистского образования — и через некоторое время успешно осваивают AQA и справляются со своими обязанностями.
Александр Ализарчик: Я заметил, что некоторые, кто приходил к нам, например, из бухгалтерской профессии — склонны ограничиваться констатацией найденных ошибок. Люди, прежде связанные с программированием и другими техническими специальностями, чаще стараются разобраться в причинах ошибки.
Дмитрий Яковцев: Но мы в каждом стремимся разбудить желание разобраться в причинах.
Наталья Горавская: Недавно в вузах появилась новая специальность — «Тестирование ПО». Но с выпускниками пока побеседовать не довелось. Как правило, к нам приходят те, кто окончил двухмесячные курсы тестирования программного обеспечения. Их слушателей обычно обучают на примере тестирования калькулятора. Многие выносят из этого опыта мнение: мол, главное — найти в программе как можно больше ошибок. И видят в этом суть будущей профессии. Приходится их переучивать.
Александр Ализарчик: Я всегда стараюсь максимально «запугать» кандидата на собеседовании, чтобы к нам не попадали случайные люди, которые уйдут уже через полгода.
— Сколько времени обычно занимает подъем на очередную ступень карьеры?
Наталья Горавская: Перейти с должности эксперта второй категории на первую — 2 года. Стать ведущим экспертом — 2–3 года, руководителем группы — 3–4 года. Если вы хорошо знаете предметную область — сразу идете на позицию эксперта первой категории. Ведущие специалисты получают право проводить обучение молодых сотрудников, разрабатывать планы отдела.
— Как распределяются обязанности в отделах?
Наталья Горавская: Согласно ресурсной схеме. В ОИТ за каждым тестировщиком закреплено несколько модулей продукта «Галактика ERP» по направлениям. Например: бухгалтерский контур, логистика, производство.
Также при распределении обязанностей стараемся учитывать способности, склонности специалистов. Кто-то преуспевает в умении скрупулезно проанализировать бизнес-процесс клиента, кто-то — в «быстром» тестировании новых решений (и находит при этом большое количество ошибок) и т. д.
— Регламентирован ли ваш рабочий день?
Наталья Горавская: В целом — да, потому что постоянно идет поток программных обновлений. Каждый тестировщик начинает день с мониторинга входящего потока в системе «Проблемы и решения». Идет подпитка знаний, анализ: какие ошибки возникли, по чьей вине, насколько они критичны, какие проблемы ставят пользователи, к каким обновлениям нужно готовиться и т. д.
В течение дня тестировщиков могут привлекать к совещаниям, связанным с развитием того или иного продукта, к анализу отчетов руководителей проектов разработки, к консультациям специалистов техподдержки и службы внедрения.
Дмитрий Яковцев: А наши повседневные задачи — это тестирование обновлений, написание и прогон тестов, выполнение различных регламентных работ и т. д.
— Вы можете назвать свою профессию творческой?
Наталья Горавская: Конечно. Например, бывает непросто подобрать правильную конфигурацию для тестов — программные компоненты, которые на реальном предприятии могут взаимодействовать с тестируемым компонентом. Или ответить на вопрос: почему на вашем компьютере система работает, а на компьютере пользователя — нет? Таких вопросов в течение дня может возникнуть немало.
— Вы можете назвать свою профессию творческой?
Дмитрий Яковцев: Довольно интересным и творческим получился проект по расчету заработной платы на 2 миллиона сотрудников, в котором мы участвовали с Александром Ализарчиком. Основной целью нагрузочного тестирования была оценка перспектив использования технологии распараллеливания процессов для обеспечения масштабируемости системы «Галактика ERP». Разработку технологии распараллеливания проводили в Департаменте разработки «Управление персоналом», поэтому для ее апробации был выбран один из самых ресурсоемких и затратных процессов в контуре «Управление персоналом» — расчет заработной платы. Результат расчета в системе «Галактика ERP на стенде компании Intel 2 миллионов лицевых счетов составил 8 часов 8 минут. Расчет на 1 миллион счетов прошел за 4 часа 1 минуту, на 100 тысяч — за 26 минут, на 10 тысяч — за 6 минут. В ходе проекта мы применили целый ряд нестандартных решений. Например, придумали и реализовали подход, когда для распараллеливания расчетов могут быть задействованы простаивающие мощности рабочих станций заказчика (в случае отсутствия или дефицита в это время достаточного объема вычислительных мощностей). При создании тестовых баз на 1 и 2 миллиона сотрудников также были придуманы и использованы оригинальные решения.
Александр Ализарчик: У нас любой проект — творческий. Например, мы нашли множество нетривиальных решений, когда создавали собственное средство обработки результатов тестов. Важно было получить наглядную картину уже протестированного функционала. Ведь у нас в службе работает около 30 человек, и нужен был инструмент координации командной работы.
Другой пример. По требованию одного заказчика я проводил тесты, имитирующие работу большого количества пользователей с использованием системы нагрузочного тестирования компании HP. Пришлось осваивать ее с нуля. Но основная проблема заключалась в том, что система HP больше ориентирована на тестирование веб-приложений. Писал специальные скрипты, подбирал режим работы системы для совместимости с desktop-приложениями, выезжал в командировку, настраивал оборудование и проводил измерения.
В итоге мы успешно продемонстрировали заказчику, что наше решение по нагрузочному тестированию показывает достоверные результаты. Что заказчика вполне устроило.
Текст: Юрий Смирнов
Фото: Андрей Давыдчик
Эта публикация подготовлена в партнёрстве с «Топ Софт»
Унитарное предприятие «Топ Софт» УНП 100314702