Тестировщик программного обеспечения: в поисках ошибок
Категорія: Інформаційні технології
Зберегти
На форумах тестировщики ПО называют себя невоспетыми героями. Сравнение точное: все заслуги за создание программы приписываются разработчику, в то время как тестировщик – специалист, который доводит сырой продукт до ума, остается в тени.
Профессия тестировщика появилась не так давно: найти сейчас человека, допустим с 10-тилетним стажем работы, практически невозможно. Считается, что первыми тестерами были специалисты по качеству – сотрудники, которые проверяли программное обеспечение (ПО) на соответствие ГОСТам. Однако обязанности современного тестировщика не ограничиваются простой сверкой определенных показателей: тестирование сегодня – сложная, многоступенчатая работа, которая сопровождает процесс создания программного продукта с начала и до конца.
Что послужило толчком для появления новой профессии – тестировщик ПО? Все просто: постепенно в компаниях-разработчиках осознали, что ключевой составляющей успеха любого программного продукта является, в первую очередь, его качество. В результате, если еще несколько лет назад эта профессия считалась редкой и не очень востребованной, то сегодня спрос на тестировщиков на порядок превышает предложение (по некоторым оценкам, на одного соискателя приходится около 20 предложений от работодателей).
Тестировщик ПО может работать в IT-компаниях, разрабатывающих программное обеспечение и интернет-сайты, в составе независимых групп тестирования или в компаниях, занимающихся исключительно тестированием ПО: в любых организациях, внедряющих собственные системы автоматизации (например, многие банки имеют свои отделы разработки и тестирования ПО).
По следам программиста
Цели и задачи тестировщика умещаются в простую формулу – сделать программу лучше. Отлично передает смысл этой работы профессиональная шутка тестеров:
– Зачем нужны тестировщики?
– Чтобы программисту, гордо сказавшему «Это сделал я!», было от кого услышать: «Ну и посмотри, какую ерунду ты сделал!».
Работа тестировщика напоминает работу следователя или детектива: он идет по «горячим следам» программиста и выискивает ошибки (на профессиональном языке – баги). В ход идут различные дедуктивные методы и скрытые приемы. Чтобы отыскать спрятавшуюся в глубине программы ошибку, нужно быть изобретательным: задавать нужные вопросы, знать психологию программиста и уметь предвидеть, где именно может скрываться увертливый баг. Профессионал никогда не ограничится выполнением шаблонных заданий тест-плана, он придумает собственные способы тестирования, попробует разные пути и комбинации.
Мало просто проверить программу на ошибки, сверхзадача тестирования – сделать программу такой, какой ее хотел бы видеть заказчик. Здесь есть свои сложности: часто тестированию подвергают практически готовое ПО, а в этом случае кардинально изменить какие-то параметры в программе уже невозможно. Правильный подход – проводить промежуточные тестирования на каждом этапе создания ПО, только тогда у заказчика есть реальный шанс получить желаемый продукт.
Найти и обезвредить
Общая проблема тестировщиков (да и программистов тоже) – отсутствие внятных требований со стороны заказчика. Довольно сложно угодить клиенту, который сам не знает, чего хочет. Взаимодействовать непосредственно с заказчиком тестировщику не приходится – эти функции возложены на аналитиков. Они общаются с клиентами, выясняют их пожелания и готовят техническое задание (спецификацию). Техзадание и есть тот самый эталон, на который равняются разработчики и тестировщики ПО.
Получив задание, программист начинает работу. Тестировщик (в идеальном варианте) следует «по пятам» за разработчиком: выявляет и анализирует дефекты, составляет отчеты о ходе тестирования. В сущности, чем раньше будет найдена та или иная ошибка, тем лучше будет конечный результат. На разных стадиях разработки программа может меняться, обрастая новыми свойствами, функциями и возможностями (которые изначально и не были прописаны в техзадании, но появились по рекомендации отдела тестирования).
Мастер на все руки
В большинстве компаний тестировщик – универсал, мастер на все руки: он владеет всеми видами тестирования, а их около десятка (функциональное, пользовательского интерфейса, локализации, безопасности, совместимости, позитивное и негативное, ручное и автоматизированное и т. д.). Он же совмещает в себе функции тест-дизайнера, разработчика тестов и администратора тестовой системы.
В идеале каждый тестер должен заниматься конкретным делом и специализироваться на определенном виде тестирования (так, по крайней мере, обстоит дело в крупных тестировочных компаниях). С другой стороны, мультифункциональность – прекрасная основа для профессионального и карьерного роста.
Кстати, одной и той же группе тестирования часто приходится обслуживать сразу несколько проектов. Такая работа – еще один отличный способ быстрого накопления полезных навыков и знаний.
Профессионал должен знать:
- ОС Windows (при необходимости – Mac OS);
- язык программирования, на котором написано тестируемое приложение (базовые знания);
- основные системы автоматизации тестирования (SilkTest, Rational Robot и т. д.);
- системы регистрации ошибок (Rational ClearQuest, TrackStudio и т. д.)
- различные виды приложений (Web, Windows);
- основные методологии тестирования (CMM, RUP, MSF);
- технический английский.
Учеба на тестеров
В вузах пока нет отдельной специальности для тестировщиков. В компаниях, занимающихся тестированием ПО и пытающихся найти опытных специалистов, такой ситуацией, конечно, недовольны. Однако у представителей вузов – свой взгляд на эту проблему.
Получается, если вы планируете работать тестировщиком, выбирать следует любую специальность, связанную с программированием и разработкой программного обеспечения:
- «Автоматизированные системы обработки информации и управления»
- «Вычислительные машины, комплексы, системы и сети»
- «Информатика и вычислительная техника»
- «Информационные системы и технологии».
Работаем дома
Несомненный плюс профессии тестировщика – возможность удаленной работы. Особенно распространено удаленное тестирование в работе с веб-приложениями. Бета-тестирование (специальный вид тестирования на самом последнем этапе создания ПО) всегда проходит вне офиса. Бета-тестировщики – это, как правило, будущие пользователи продукта, они как никто другой заинтересованы в том, чтобы программа была максимально удобной. В частности, всегда подвергаются бета-тестированию компьютерные игры, а в качестве тестировщиков выступают геймеры, для которых лучшую работу и выдумать сложно: они проходят новую игрушку и получают за это деньги.
Карьерный рост
Устроиться на позицию стажера в IT-компанию несложно, тем более многие фирмы предпочитают самостоятельно растить кадры: принимают на работу людей без опыта и обучают их на специализированных курсах (собственных или внешних) или непосредственно в «боевых условиях». Стандартная схема карьерного роста: тестировщик-стажер – специалист по тестированию – ведущий специалист по тестированию – руководитель группы тестирования – руководитель отдела контроля качества.
Сколько платят
Тестировщики получают неплохие деньги. Как правило, уровень дохода тестера составляет около 80% от заработка программиста. Рост заработной платы составляет от 5 до 20% в год.
Сфера развивающаяся, профессионалов мало, поэтому при удачном стечении обстоятельств подняться до уровня руководителя можно за год-полтора. Хотя основная прелесть этой профессии заключается даже не в стремительном карьерном росте, а в возможности шагнуть «в сторону» – стать профессионалом в какой-нибудь смежной области. По ходу дела тестерам приходится вникать в суть работы многих своих коллег – программистов, инженеров технической поддержки, специалистов по внедрению и др. Поэтому часто тестировщики, поднабравшись опыта, переходят на «соседние» позиции. Например, руководители отделов тестирования нередко становятся системными аналитиками, руководителями проектов, руководителями IT-подразделений и т. д.
Если вертикальный рост вам в принципе неинтересен, можно строить карьеру в «горизонтальной плоскости»: осваивать новые методики и технологии тестирования ПО, расширять круг обязанностей и участвовать в разных проектах.
- Усі статті247
- Новини45
- Освіта за кордоном29
- Поради абітурієнтам70
- Бухгалтерія, аудит4
- Готельно-ресторанний бізнес, туризм4
- Дизайн, творчість6
- Інформаційні технології13
- Логістика, склад, ЗЕД3
- Маркетинг, реклама, PR5
- Медицина, фармацевтика8
- Нерухомість4
- Освіта, наука102
- Охорона, безпека1
- Робота для студентів, початок кар'єри8
- Робота і кар'єра, ділова етика, психологія12
- Робота вдома4
- Секретаріат, діловодство6
- Мережевий маркетинг і MLM3
- ЗМІ, видавництво, поліграфія4
- Страхування4
- Будівництво, архітектура4
- Сфера обслуговування5
- Топ-менеджмент, керівництво вищої ланки4
- Торгівля, продаж4
- Транспорт, автобізнес4
- Управління персоналом4
- Управління проектами1
- Фінанси, банк4
- Юриспруденція4
Коментарі
0Невірно заповнені поля відзначені червоним.
Будь ласка, перевірте форму ще раз.
Ваш коментар відправлений і буде доступний на сайті після перевірки адміністратором.
Інші статті в категорії Інформаційні технології