11 лет Work.ua Скрыть баннер

Тестировщик программного обеспечения: в поисках ошибок

Тестировщик программного обеспечения: в поисках ошибок

На форумах тестировщики ПО называют себя невоспетыми героями. Сравнение точное: все заслуги за создание программы приписываются разработчику, в то время как тестировщик – специалист, который доводит сырой продукт до ума, остается в тени.

Профессия тестировщика появилась не так давно: найти сейчас человека, допустим с 10-тилетним стажем работы, практически невозможно. Считается, что первыми тестерами были специалисты по качеству – сотрудники, которые проверяли программное обеспечение (ПО) на соответствие ГОСТам. Однако обязанности современного тестировщика не ограничиваются простой сверкой определенных показателей: тестирование сегодня – сложная, многоступенчатая работа, которая сопровождает процесс создания программного продукта с начала и до конца.

Что послужило толчком для появления новой профессии – тестировщик ПО? Все просто: постепенно в компаниях-разработчиках осознали, что ключевой составляющей успеха любого программного продукта является, в первую очередь, его качество. В результате, если еще несколько лет назад эта профессия считалась редкой и не очень востребованной, то сегодня спрос на тестировщиков на порядок превышает предложение (по некоторым оценкам, на одного соискателя приходится около 20 предложений от работодателей).

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

По следам программиста

Цели и задачи тестировщика умещаются в простую формулу – сделать программу лучше. Отлично передает смысл этой работы профессиональная шутка тестеров:

– Зачем нужны тестировщики?

– Чтобы программисту, гордо сказавшему «Это сделал я!», было от кого услышать: «Ну и посмотри, какую ерунду ты сделал!».

Работа тестировщика напоминает работу следователя или детектива: он идет по «горячим следам» программиста и выискивает ошибки (на профессиональном языке – баги). В ход идут различные дедуктивные методы и скрытые приемы. Чтобы отыскать спрятавшуюся в глубине программы ошибку, нужно быть изобретательным: задавать нужные вопросы, знать психологию программиста и уметь предвидеть, где именно может скрываться увертливый баг. Профессионал никогда не ограничится выполнением шаблонных заданий тест-плана, он придумает собственные способы тестирования, попробует разные пути и комбинации.

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

Найти и обезвредить

Общая проблема тестировщиков (да и программистов тоже) – отсутствие внятных требований со стороны заказчика. Довольно сложно угодить клиенту, который сам не знает, чего хочет. Взаимодействовать непосредственно с заказчиком тестировщику не приходится – эти функции возложены на аналитиков. Они общаются с клиентами, выясняют их пожелания и готовят техническое задание (спецификацию). Техзадание и есть тот самый эталон, на который равняются разработчики и тестировщики ПО.

Получив задание, программист начинает работу. Тестировщик (в идеальном варианте) следует «по пятам» за разработчиком: выявляет и анализирует дефекты, составляет отчеты о ходе тестирования. В сущности, чем раньше будет найдена та или иная ошибка, тем лучше будет конечный результат. На разных стадиях разработки программа может меняться, обрастая новыми свойствами, функциями и возможностями (которые изначально и не были прописаны в техзадании, но появились по рекомендации отдела тестирования).

Мастер на все руки

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

В идеале каждый тестер должен заниматься конкретным делом и специализироваться на определенном виде тестирования (так, по крайней мере, обстоит дело в крупных тестировочных компаниях). С другой стороны, мультифункциональность – прекрасная основа для профессионального и карьерного роста.

Кстати, одной и той же группе тестирования часто приходится обслуживать сразу несколько проектов. Такая работа – еще один отличный способ быстрого накопления полезных навыков и знаний.

Профессионал должен знать:

  • ОС Windows (при необходимости – Mac OS);
  • язык программирования, на котором написано тестируемое приложение (базовые знания);
  • основные системы автоматизации тестирования (SilkTest, Rational Robot и т. д.);
  • системы регистрации ошибок (Rational ClearQuest, TrackStudio и т. д.)
  • различные виды приложений (Web, Windows);
  • основные методологии тестирования (CMM, RUP, MSF);
  • технический английский.

Учеба на тестеров

В вузах пока нет отдельной специальности для тестировщиков. В компаниях, занимающихся тестированием ПО и пытающихся найти опытных специалистов, такой ситуацией, конечно, недовольны. Однако у представителей вузов – свой взгляд на эту проблему.

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

  • «Автоматизированные системы обработки информации и управления»
  • «Вычислительные машины, комплексы, системы и сети»
  • «Информатика и вычислительная техника»
  • «Информационные системы и технологии».

Работаем дома

Несомненный плюс профессии тестировщика – возможность удаленной работы. Особенно распространено удаленное тестирование в работе с веб-приложениями. Бета-тестирование (специальный вид тестирования на самом последнем этапе создания ПО) всегда проходит вне офиса. Бета-тестировщики – это, как правило, будущие пользователи продукта, они как никто другой заинтересованы в том, чтобы программа была максимально удобной. В частности, всегда подвергаются бета-тестированию компьютерные игры, а в качестве тестировщиков выступают геймеры, для которых лучшую работу и выдумать сложно: они проходят новую игрушку и получают за это деньги.

Карьерный рост

Устроиться на позицию стажера в IT-компанию несложно, тем более многие фирмы предпочитают самостоятельно растить кадры: принимают на работу людей без опыта и обучают их на специализированных курсах (собственных или внешних) или непосредственно в «боевых условиях». Стандартная схема карьерного роста: тестировщик-стажер – специалист по тестированию – ведущий специалист по тестированию – руководитель группы тестирования – руководитель отдела контроля качества.

Сколько платят

Тестировщики получают неплохие деньги. Как правило, уровень дохода тестера составляет около 80% от заработка программиста. Рост заработной платы составляет от 5 до 20% в год.

Сфера развивающаяся, профессионалов мало, поэтому при удачном стечении обстоятельств подняться до уровня руководителя можно за год-полтора. Хотя основная прелесть этой профессии заключается даже не в стремительном карьерном росте, а в возможности шагнуть «в сторону» – стать профессионалом в какой-нибудь смежной области. По ходу дела тестерам приходится вникать в суть работы многих своих коллег – программистов, инженеров технической поддержки, специалистов по внедрению и др. Поэтому часто тестировщики, поднабравшись опыта, переходят на «соседние» позиции. Например, руководители отделов тестирования нередко становятся системными аналитиками, руководителями проектов, руководителями IT-подразделений и т. д.

Если вертикальный рост вам в принципе неинтересен, можно строить карьеру в «горизонтальной плоскости»: осваивать новые методики и технологии тестирования ПО, расширять круг обязанностей и участвовать в разных проектах.

Источник: nsk.erabota.ru

Другие статьи в категории: Информационные технологии
Оставить комментарий
При заполнении формы была допущена ошибка
Неверно заполненные поля отмечены красным.
Пожалуйста, проверьте форму еще раз.
Полезность публикации
Выберите мышкой число звезд, на которые вы оцениваете полезность материала и кликните, чтобы зафиксировать результат.
Имя*:
Комментарий*:
не более 1000 символов (введено: 0)
 или Отменить
Обратная связь