Рубрика:
Карьера/Образование /
Вакансия
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Вакансия: Тестировщик ПО
9 сентября в России и других странах мира отмечается День тестировщика. Этот праздник возник после того, как 9 сентября 1947 года ученые Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, который застрял между контактами электромеханического реле. В регистрационном журнале исследователи сделали запись об устранении насекомого, и сбой в работе после того случая всё чаще стали называть «багом». А само название популярной ИТ-специальности возникло от английского слова test, т. е. испытание. Мы попросили представителей разных компаний рассказать, каких кандидатов-тестировщиков они охотно берут на работу.
1. Какими знаниями и навыками должен обладать тестировщик ПО? 2. Каков инструментарий тестировщика ПО? 3. Каковы требования компании к уровню образования потенциальных сотрудников? 4. Какие требования предъявляются к опыту работы? 5. Есть ли особые требования, которые обусловлены спецификой деятельности вашей компании?
Павел Галкин, специалист в области тестирования Luxoft Training, Lead Automation Engineer в Luxoft
«Я скорее отдам предпочтение кандидату с длительными периодами работы в небольшом количестве компаний, чем тому, кто часто меняет место работы»
1. В современной индустрии высок спрос на специалистов-универсалов. Хороший кандидат должен понимать жизненный цикл ПО, место и роль тестирования в нем. Знать, как устроены различные типы приложений, основы сетевых протоколов: HTTP, REST/SOAP. Уметь работать с базами данных и немного разбираться в настройках операционных систем. Кроме того, необходимы специальные знания: как составить тест-кейсы и подобрать данные для тестирования, какое тестирование бывает и в каких случаях проводится, как оформить баг-репорт, как оценить свои трудозатраты. Также очень пригодится умение выразить свои мысли в виде кода, т. е. навыки программирования и знание трех-пяти популярных фреймворков и инструментов.
2. В первую очередь, мозг и руки. А вообще единого набора нет – всё зависит от проекта, над которым работает команда. Как пример, инструментарий для веб-приложения с микросервисной архитектурой: • 2-3 браузера • текстовый редактор с подсветкой синтаксиса (например, Sublime) • Postman • СУБД (например, DBeaver) • Jira/Confluence/Office • IntellijIDEA • множество java-библиотеки плагинов (например, Selenide, Cucumber, Junit, Lombok, RestAssured и проч.) • Git-клиент.
3. Формальных требований нет: наличие/отсутствие диплома не является конкурентным фактором. Важно, чтобы кандидат мог ясно выражать свои мысли, адекватно общаться, умел логически мыслить. Связная и грамотная речь – несомненный плюс, потому что решение о найме принимается именно в ходе беседы.
4. Как интервьюер, я скорее отдам предпочтение кандидату с длительными периодами работы в небольшом количестве компаний, чем тому, кто часто меняет место работы. Многое зависит от позиции, на которую претендует кандидат. Если на позицию джуниора могут взять и студента, то на вакансию сеньора без 2–3 лет опыта, конечно, претендовать не стоит.
5. Безусловно, есть. Например, знание английского просто необходимо. Тот факт, что команды сейчас в большинстве своем распределенные и работают в основном из дома, предполагает необходимость быть самоорганизованным и подстраивать активности под различные часовые пояса.
Алена Матвеева, руководитель отдела тестирования, компания «ФОРС – Центр разработки» (ГК ФОРС)
«Релевантный опыт работы с государственными заказчиками будет большим плюсом для кандидата»
1. В нашей компании существует скор-карта, которая включает перечень требований к знаниям и навыкам и значимость наличия этих компетенций для разных вакансий, начиная от младшего тестировщика и заканчивая руководителем отдела. Среди знаний и навыков, которые мы оцениваем в ходе подбора, можно выделить такие: знание теории тестирования, опыт работы с различными инструментами тестировщика, опыт проведения различных видов и уровней тестирования (функциональное, регрессионное, интеграционное, нагрузочное, инсталляционное и т. д.), умение составлять тестовую документацию, понимание методологий управления проектами, умение локализовать и описать дефекты, способность работать в команде и многое другое.
2. Инструментарий тестировщика достаточно обширный, всё варьируется в зависимости от выполняемых задач. Среди основных инструментов можно выделить такие:
- Баг-трекинговую систему (Jira, Redmine, YoutTrack и т. п.) для ведения жизненного цикла задач и дефектов.
- Систему управления тестированием ПО (TestRail, Zephyr и т. п.) для создания тест-кейсов, выполнения тестовых прогонов, генерации отчетов по результатам тестирования.
- Инструменты администрирования БД (pgAdmin, Navicat и т. п.) для выполнения скриптов, поиска и создания тестовых данных, проведения функциональных проверок.
Также в зависимости от уровня и вида тестирования используется различный инструментарий: для тестирования API – Postman, Swagger; для интеграционного тестирования – SoapUI, AltovaXMLSpy; для эмуляции различных процессов – AndroidStudio, MQExplorer; для нагрузочного тестирования – Jmeter, HPLoadRunner; для автоматизации тестирования – Selenium, Cucumber.
3. Предпочтительно высшее образование по ИТ-направлению. Пандемия вносит свои коррективы во всё, многие меняют сферу деятельности, к нам поступает большое количество резюме кандидатов без профильного образования, которые хотят освоить профессию тестировщика. В таком случае, т. е. при отсутствии профильного образования и релевантного опыта, желательно наличие сертификатов о прохождении курсов по тематике тестирования.
4. Требования к опыту зависят от конкретной вакансии. Если говорить о позиции лида, то ожидаемый релевантный опыт должен составлять не менее 3 лет, также кандидат должен обладать рядом профессиональных навыков и личностных качеств. Это – опыт работы с инструментами тестирования, владение всеми видами тестирования, организация процессов тестирования, управление командой, управление рисками, оценка трудозатрат, многозадачность, выстраивание эффективных коммуникаций и т. д. Позиция младшего тестировщика подразумевает минимальные требования – например, знание теории тестирования, умение работать с тестовой документацией, понимание жизненного цикла разработки ПО.
5. Возможно, здесь стоит отметить специфику работы с государственными заказчиками, особенно, если речь идет о крупных проектах. Она состоит в том, что приходится обрабатывать очень большое количество информации и решать очень большое количество разных задач. В первую очередь это задачи по тестированию интеграционных сервисов. При выполнении миграционных проектов главными становятся задачи по проведению нагрузочного тестирования на разных СУБД. Кроме того, часто приходится осваивать нормативную базу, готовить релизную документацию с учетом требований ГОСТ. Поэтому релевантный опыт работы с государственными заказчиками будет большим плюсом для кандидата, но назвать это обязательным или особым требованием, наверное, было бы не совсем верно.
Вячеслав Савлюк, генеральный директор ООО «ИТ-Экспертиза»
«В профессии тестировщика важна способность к самообучению и поддержанию своих знаний в актуальном состоянии»
Профессиональный тестировщик – востребованная профессия. В первую очередь человек должен хорошо разбираться в процессах создания программного обеспечения, жизненном цикле ПО и языках (средах разработки), на которых создаются решения, которые он должен тестировать. В профессии тестировщика важна способность к самообучению и поддержанию своих знаний в актуальном состоянии.
Кроме того, человек должен быть внимательным и ответственным – ведь от результата его работы зависит, насколько сырым (или наоборот) приложение попадет к пользователям.
Немаловажным фактом будет и умение работать в команде. Надо понимать, что современный тестировщик чаще уже QA-инженер (QA-специалист), а значит, проверяет не только сам программный продукт, но и весь процесс его создания, т. е. осуществляет контроль над качеством на всех этапах производства, зачастую предотвращая возникновение ошибок.
В целом в круг обязанностей QA-специалиста входит следующее: • контроль требований к программному продукту • контроль времени, требуемого для создания приложения, либо исправления обнаруженной ошибки • разработка сценариев тестирования, доработка существующих • выполнение тестирования • анализ результатов тестирования • поддержка в актуальном состоянии трекинговой системы • обсуждение плана исправлений с командой разработки • отслеживание процесса исправлений • ведение документации по тестам • умение читать и фиксировать логи.
Назвать всё используемое программное обеспечение на современном рынке в одной статье не представляется возможным. Обычно разработка ведется в определенном «стеке» – наборе ПО, используемом конкретной командой для решения определенных задач. В этом же стеке выполняется и тестирование, плюс, собственно, программы для создания и выполнения тестовых сценариев. Для стека платформы 1С, например, это может быть сама платформа 1С:Предприятия 8 + Vanessa Automation. Для других – к примеру, популярные сейчас: • Jira, Redmine – баг-трекинговые системы • Confluence, Wiki – системы управления знаниями • TestRail, Zephyr, TestLink – системы управления тест-кейсами • Основы СУБД SQL – MySQL, PostgreSQL, MS SQL • Базовый HTTP/HTTPS – запросы GET, POST, OPTIONS. Основы CSS • Основы клиент-серверного взаимодействия – REST, SOAP, JSON, XML • Инструменты мониторинга HTTP/HTTPS-трафика – Charles, Fiddler, Wireshark • Тестовые фреймворки – xUnit, nose, unittest, pytest, TestNG, Cucumber • Обработка результатов тестирования – Allure • Системы контроля версий – Git, SVN, Mercurial, TFS • Инструменты непрерывной интеграции – Jenkins, TeamCity, Bamboo • Не стоит забывать и про Docker.
Повторимся – многое из требований зависит от специфики разрабатываемого программного обеспечения и инфраструктуры, для него предназначенной. Например, для мобильного приложения будет один стек, для web – другой.
Элиса Данильсон, консультант практики IT&Telecoms международной рекрутинговой компании Hays
«Знание английского языка остается одним из musthave для любого тестировщика»
1. Прежде всего навыки и знания зависят от функционала и задач, которые будет решать тестировщик. Ручное функциональное тестирование, автоматизированное, тестирование производительности, тестирование мобильных приложений – все эти задачи требуют определенных знаний и навыков, а главное – понимания специфики ПО.
Если говорить о ключевых навыках для данной профессии, то стоит отметить: • Знание теории тестирования и тест-дизайн – тестировщик должен знать и понимать, какие виды и типы тестирования бывают, как и когда их применять. Он должен владеть техниками тест-дизайна, знать и уметь составлять тест-кейсы, чек-листы, знать, что такое User Story/UseCases. • Владение английским языком на уровне чтения и технической переписки. • Тестировщик должен обладать аналитическим и критическим мышлением, внимательностью, хорошими коммуникационными навыками. Важно уметь отстоять свою точку зрения, но при этом не забывать о гибкости и быть командным игроком. • К базовым техническим навыкам можно отнести знание и продвинутый опыт работы с одной или нескольким ОС (Windows, Linux, MacOS, iOS/Android), понимание работы веб-сервисов, клиент-серверной архитектуры, понимание работы базы данных и умение читать ее логи.
2. Инструментарий тестировщика также зависит от задач, которые он решает. Ниже приведены примеры основных инструментов и технологий, которые активно применяются в ручном тестировании и при автоматизации. Тестировщик ежедневно сталкивается с рутинными задачами, изучает продукты, продумывает сценарии тестирования, поэтому ему важно использовать инструменты, которые помогают организовать процесс управления тестированием и коммуникацию, – JIRA, TestRail, TestLink, Redmine. При работе с большим потоком данных важна наглядность, поэтому текстовые, XML-редакторы и файловые менеджеры, инструменты для работы со снимками экранов помогают собирать данные и визуализировать их.
Также тестировщик использует в работе следующие инструменты: • Генераторы данных • Консоль операционной системы (Linux/MacOS) • Эмуляторы (например, Browserstack, Test Object) • Консоль разработчика в браузере • Инструменты для тестирования API (Postman) SQL для обращения к базе данных и написания простых запросов.
Для автоматизации тестирования специалисту необходимо знать один или несколько языков программирования, самые распространенные сейчас – это Java, Python, JS. Часто в работе применяются фреймворки, на базе которых происходит развитие решений для автоматизации тестирования (Selenium, Cucumber, Pytest, TestNG, Junit). Для автоматического запуска автотестов используются инструменты непрерывной интеграции, такие как Jenkins, TeamCity, Bamboo, GitlabCI.
Кроме того, очень важно автоматизировать отчетность о прохождении тестов, например с помощью Allure. Популярным инструментом является Docker – решение для создания и организации изолированного пространства для тестирования. Долгое время Docker был популярен только в DevOps, но в последние годы он активно используется в тестировании.
3. Как известно, специальное образование в области ИТ сейчас не всегда является главным, в первую очередь компании обращают внимание на экспертизу, уровень и знания кандидатов. Для молодых специалистов наличие технического образования будет преимуществом. Крупные компании часто открывают корпоративные университеты или курсы для студентов и выпускников технических вузов, организовывают программы стажировок. Для специалистов, которые хотят прийти в тестирование, но имеют опыт в другой сфере, сейчас есть большие возможности как для самостоятельного обучения, так и для профессионального (курсы, сертификации).
4. Требования, как и навыки и знания, всегда зависят от задач, функционала и общей технической культуры в компании. Несколько лет назад входной порог в профессию тестировщика был очень низок, найти работу можно было практически без знаний и опыта, многие компании были готовы обучать профессии с нуля. Сейчас требования к профессиональным навыкам стали намного выше: базовые инженерные знания, знание теории тестирования, методик тест-дизайна и базовых принципов работы веб-приложений можно назвать musthave’ом для начинающих специалистов. Помимо базовых требований от опытных инженеров ожидают умение планировать тестовые активности, проводить тесты без готовой документации по проекту, работать с документацией, а также работать с основными инструментами, принятыми на проекте.
Если говорить про вакансии в сфере автоматизации тестирования, то основным требованием является уверенное знания языка программирования, фреймворков и инструментов для создания и поддержки инфраструктуры вокруг автотестов. Знание английского языка также остается одним из musthave для любого тестировщика.
Александр Сердюк, технический директор ГК «Эдит Про»
«Системное мышление, практически обязательное для тестировщика, может сформироваться со временем, а может – нет»
1. Главным образом тестировщику нужно знать свою предметную область и разбираться в инструментах тестирования. Не будет лишним ориентироваться в тех процессах, с которыми связан объект тестирования, а также иметь навыки системного администрирования. Английским желательно владеть на уровне pre-Intermediate и в первую очередь – хорошо писать и переводить технические тексты, тогда работа с инструментами тестирования, инструкциями, обучающими материалами, которые его используют, не вызовет сложностей. Однако всё это нарабатывается, тогда как системное мышление, практически обязательное для тестировщика, может сформироваться со временем, а может – нет. Именно такое мышление позволяет специалисту смотреть на продукт глазами пользователя, видеть, как продукт встраивается в инфраструктуру заказчика, как взаимодействует с другими решениями.
2. Основной набор инструментов тестировщика: Vanessa-Automation и Vanessa-ADD. Также специалисты активно прибегают к решениям для проверки соответствия кода стандартам 1С. Наиболее популярные из них – SonarQube и «1С:Автоматизированная проверка конфигураций».
3. Наличие высшего образования, в частности технического, для тестировщика не строго обязательно. Однако оно будет преимуществом, так как нередко именно обучение в вузе вырабатывает у специалиста системное мышление. Но именно преимуществом, а не условием, – очень распространены случаи, когда люди, не имеющие диплома, становятся успешными тестировщиками. Правда, только в России. За рубежом наличие высшего технического образования строго обязательно для всех ИТ-специалистов.
4. Для младшей позиции опыт работы тестировщиком необязателен. Главное – инициативность и базовые знания в ИТ. Средняя позиция требует от кандидата как минимум одного-полутора лет опыта работы.
5. Личные качества, способствующие развитию в ИТ и работе в команде, будут плюсом – инициативность там, где имеются компетенции, стрессоустойчивость, эмоциональная стабильность. Приобретение технических знаний и навыков – вопрос времени.
Максим Захаренко, CEO Облакотека
«Конкретные требования к опыту мы не предъявляем. Но будет “плюсом”, если специалист работал до этого с облачными технологиями»
1. При найме тестировщика ПО мы не только изучаем опыт, которым обладает кандидат, но и оцениваем личные качества. Например, нам важно, чтобы специалист был грамотным, скрупулезным, внимательным. От этого зависит, сможет ли тестировщик выполнять свою главную задачу – проверять, все ли функции работают так, как ожидается. Не менее важно, чтобы знал основную терминологию и английский язык на уровне Intermediate. Всему остальному мы готовы обучить.
2. Инструментарий должен быть удобен в использовании тестировщиками. В нашем случае – это баг-лист в Trello.
3. Наш HR-менеджер изучает опыт работы, а не уровень образования специалиста. Например, в нашем штате есть тестировщик с экономическим образованием, но его релевантный опыт работы более 5 лет.
4. Конкретные требования к опыту мы не предъявляем. Но будет «плюсом», если специалист работал до этого с облачными технологиями. Если нет, то в период онбординга мы рассказываем про особенности нашей компании.
Анна Чернышева, Quality Architect в Epam Systems
«Кандидат должен хорошо разбираться в различных типах и уровнях тестирования, знать, когда какие нужно применять»
1. Потенциальный кандидат должен знать техники тест-дизайна и уметь их реализовывать на практике. Обычно про знание тест-дизайна спрашивают сразу во время собеседования. Необходимы также опыт создания основных артефактов тестирования: тест-планов, чек-листов, тест-кейсов, дефектов, отчетов о результатах тестирования. Кандидат должен хорошо разбираться в различных типах и уровнях тестирования, знать, когда какие нужно применять. Дополнительным плюсом считается опыт определения и сбора метрик качества ПО и базовое знание какого-нибудь языка программирования. Кандидат должен быть коммуникабельным человеком, уметь прийти к соглашению, которое устраивает несколько сторон, должен уметь продать идею и задавать критические вопросы.
2. Инструментарий часто зависит от конкретного проекта, но основные инструменты, с которыми требуется иметь опыт работы, – это Jira и TestRails. Важно также знать, какие инструменты позволяют удобно работать со скриншотами, записывать видео, генерировать тестовые данные (например, generatedata, mockaroo, testspicer), что использовать для генерации одноразовых email-адресов и телефонов. Для более технически продвинутых кандидатов требуется опыт работы с Postman, Jenkins, Report Portal, GenRocket и понимание основ автоматизации тестирования (Java/Python).
3. Уровень образования зачастую не имеет большого значения. Образование по ИТ-специальности всегда будет плюсом, так как дает более широкий кругозор, но не является обязательным пунктом при принятии на работу.
4. Для начинающих специалистов (junior) желателен опыт работы хотя бы от пары месяцев. Таких специалистов в большинстве случаев всё равно еще будут обучать на проекте или возьмут на стажировку. Для специалистов среднего уровня (middle) требуется опыт работы от 2 лет. Предполагается, что они могу выполнять большинство задач уже самостоятельно. Для специалистов продвинутого уровня (senior) требуется опыт работы от 4 лет. Такие специалисты уже полностью самостоятельны и могут быть наставниками у новичков.
5. Все зависит от конкретного проекта. Если проект разрабатывает мобильные приложения, а таких сейчас много, тестировщик должен знать, как такие приложения работают и какова их архитектура, чтобы грамотно подойти к стратегии тестирования. Помимо этого, для выполнения тестов требуется знание дополнительных инструментов, например, BrowserStack, AWS device farm, HeadSpin, Saucelabs. Для api-тестирования будет обязательным знание Postman. Если на проекте необходимо делать еще и нагрузочное тестирование, то потребуются знания Meter/pagespeed/lighthouse.
Елена Коваленко, менеджер по персоналу компании Доктор Веб.
«Мы никогда не возьмем сотрудника, каким-либо образом связанного с киберпреступностью»
1. Несмотря на возросший спрос на рынке труда, наша компания руководствуется принципом «лучше меньше, но лучше». Мы тщательно отбираем будущих сотрудников, оцениваем профессиональные качества, учитывая предыдущий опыт. Основополагающий момент – это желание специалиста заниматься тестированием и развиваться в этом направлении. Инженеру по тестированию в нашей компании нужно обладать пытливым умом, уметь анализировать полученную информацию. Кроме того, с учетом специфики продуктов, желательно иметь достаточно глубокие знания операционных систем на уровне администратора или продвинутого пользователя. Умение программировать или писать скрипты тоже может пригодиться в работе.
2. В своей повседневной работе инженеры по тестированию используют багтрекинговые системы, системы управления проектами и задачами, системы для ведения тестовой документации. В зависимости от выполняемых задач программное обеспечение может быть различное.
3. Наличие фундаментального высшего или среднего технического образования повышает шансы трудоустроиться за счет базы, на которую лучше ложатся новые знания, в том числе и по тестированию. При этом мы берем на работу и студентов, способных достаточное количество времени посвящать работе, без ущерба для учебы.
4. Требования к опыту работы предъявляются в зависимости от задач, которые нужно будет решать сотруднику. Если вакансия подразумевает начальные навыки, с возможностью дальнейшего обучения, то требования к опыту работы могут не предъявляться.
5. Можно сказать, что особым требованием для нашей компании является отсутствие опыта вирусописательства или подобного рода деятельности. Мы никогда не возьмем сотрудника, каким-либо образом связанного с киберпреступностью.
Ксения Бычкова, руководитель отдела тестирования хостинг-провайдера и регистратора доменов REG.RU
«В REG.RU гордятся своей теплой атмосферой и демократичной корпоративной культурой, поэтому для нас очень важно, чтобы будущие коллеги разделяли ценности компании»
1. Тестировщик должен обладать знаниями по теории тестирования, разбираться в видах тестирования, техниках тест-дизайна. Понимать, зачем необходимо тестирование, когда оно должно проводиться. Понимать и анализировать техническую документацию. Составлять кейсы и сценарии проверки, оставлять баг-репорты, использовать тайм-менеджмент. Собирать и анализировать метрики тестирования. Писать новые автотесты и анализировать результаты прогонов, дорабатывать тестовые сценарии и вести документацию по тестам. Также тестировщик должен разбираться, как работают веб-приложения и мобильные приложения. Обладать такими качествами, как внимательность, усидчивость, коммуникабельность, ведь ему постоянно необходимо разбираться в большом количестве информации (документация, макеты, код и т. д.) и выявлять нестыковки.
2. Каков инструментарий тестировщика ПО? Инструментарий в каждой компании будет свой. Мы в REG.RU используем консоль разработчика в браузере, ПО для ведения тестовой документации (TestLink, TestRail, Qase и др.), баг-трекинговую систему (Jira, Kaiten и др.), ПО для нагрузочного тестирования (JMeter, Tsung и др.), ПО для тестирования API (Postman), системы контроля версий (GitLab, GitHub, Bitbucket). Важны также языки программирования (Java, Python, JS и др.), фреймворки для автоматизации тестирования (Selenium, Appium и др.). Плагины в браузере, скриншотеры.
3. Высшее образование – всегда плюс, так как это системные знания, но для нас оно не на первом месте. Прежде всего, смотрим на скиллы.
4. В зависимости от потребностей бизнеса. Если мы в поисках младшего сотрудника, то достаточно знания теории и базовых представлений об ИТ, т. е., например, иметь опыт работы в техподдержке, пройти курсы, иметь профильное образование, можно еще незавершенное. В REG.RU на позицию младшего сотрудника в тестировании проводятся внутренние конкурсы, и мы с удовольствием рассматриваем наших ребят, например, из клиентских служб, ведь у них уже есть базовые знания в ИТ. Более того, если они решили развиваться в тестировании, то, как правило, начинают изучать основы еще до конкурса. Мы прописываем для ребят план развития и обсуждаем их дальнейшую работу.
Сотрудникам на позицию middle необходимо уметь применять техники тест-дизайна, уметь составить план тестирования, понимать отчеты по автоматизации, писать автотесты, оценивать критичность/серьезность/приоритет дефекта. Обычно такие скиллы появляются после года работы. Но бывает, что ребята прокачиваются раньше или немного позже.
На позицию senior нужен опыт работы от 3 лет. Специалист должен уметь составлять стратегию по тестированию продукта, оценивать сроки выполнения и риски, читать логи и локализовывать дефекты. Уметь развернуть автоматизацию на проекте, понимать и оптимизировать архитектуру автотестов, проводить нефункциональное тестирование. Чем выше грейд, тем важнее и soft skills, в первую очередь понадобится навык строить продуктивные и экологичные коммуникации.
5. Нужно иметь представления о таких сущностях, как домены, хостинг и серверы, конструкторы сайтов, SSL-сертификаты, облачные сервисы. Понимать, как работают веб-приложения, какие бывают протоколы передачи данных. В REG.RU гордятся своей теплой атмосферой и демократичной корпоративной культурой, поэтому для нас очень важно, чтобы будущие коллеги разделяли ценности компании: экспертность, смелость, целеустремленность, гибкость, экологичные коммуникации.
Александр Бочкин, генеральный директор Инфомаксимум
1. Если брать идеальный вариант, то тестировщик мечты должен знать, уметь и понимать: как пошагово происходит разработка программного продукта; из чего состоит жизненный цикл ПО; методики тестирования; как минимум базовое знание языков программирования и фреймворков, задействованных в создании проекта; правила ведения технической документации и фиксации ошибок; английский язык, как минимум, на среднем уровне для чтения документации.
Это, скорее, общий вариант. Много тонкостей и нюансов будут зависеть от направления тестирования – ручного или автоматического. Из этого вытекает ряд специфических soft skills, крайне полезных (и желательных) в профессии: навык работы с большим объемом информации; постоянное изучение новых технологий и повышению своих скиллов; тайм-менеджмент; аналитическое мышление. Такой специалист внимателен, даже скрупулезен, критически настроен и не терпит суеты. Не верит на слово, предпочитая проверять и перепроверять данные. Одинаково хорошо понимает, как правильно общаться с разработчиками и проектными менеджерами. Всегда стремится к совершенству, потому что знает, что именно его работа влияет на качество итогового продукта.
3. Тестирование часто считается самым простым вариантом для входа в ИТ. Поэтому не все компании и не всегда смотрят на то, какое образование у кандидата. У нас, например, всё определяют опыт, навыки, решенные кейсы и интерес к этой сфере. Хотя, несомненно, техническое образование будет плюсом и позволит быстрее разобраться в нюансах сферы.
4. В идеале кандидат будет подходить нам, если у него профильный опыт работы от года. Первоначальная сфера как такового значения не имеет. Многие из ребят пришли из game dev, где отработали более трех лет, быстро и успешно переняв иные методики и алгоритмы тестирования.
Анна Попова, руководитель группы HR, ДКИС ALP Group
«Мы сделали тестирование одним из ключевых элементов разработки и реализации своих проприетарных решений»
1. Тестировщик – одна из ключевых ролей для любого предприятия, занятого в профессиональной разработке комплексных софтверных проектов. В базовом наполнении квалификация тестировщика a priori предполагает дотошное знание технологий, анализ которых ведет к конкретным рекомендациям и предложениям по работе над ошибками для разработчиков и проектировщиков. Естественно, сюда входят и навыки тестирования приложений, и знание систем ведения документации и многое другое.
2. Технологически – мощная инфраструктурная база. Предметно – тест-планы, тест-кейсы, чек-листы, баг-трекеры.
3. Помимо базовых (обязательное системное ИТ- и техническое образование), практический опыт, владение широким спектром технологий, аналитические способности, умение работать с технической документацией.
4. В идеале – от двух лет. Хотя, здесь бывает по-разному. В нашей практике были случаи, когда к нам приходили люди почти без опыта, но буквально на глазах они становились лучшими среди своих коллег благодаря своим особым навыкам – усидчивости, внимательности, умению увидеть то, что другие не замечали, буквально «влезть в голову» будущему пользователю. Т. е. главное – понять суть проблемы и дать механизм для корректировки.
5. В нашей компании – есть. Мы работаем на стыке авторских методик и разработок и создания комплексных автоматизированных систем, в том числе имеем дело с унаследованным ПО. Соответственно, традиционного, даже самого квалифицированного, тестинга здесь недостаточно. Именно поэтому мы сделали тестирование одним из ключевых элементов разработки и реализации своих проприетарных решений.
На практике в ALP это выглядит так. Базовый уровень тестинга ложится на программистов. Далее следует верификация на уровне подразделений, а затем переходит в руки консультанта, который на высоком уровне дублирует тестировщика, рассматривая созданный продукт с точки зрения механизмов его внедрения в ИС предприятия (глаза разработчика) и, одновременно, через призму задач и специфики клиента (глаза заказчика). Наконец, на некоторых проектах вводится еще один уровень дополнительного тестинга, когда тестировщиками выступают не занятые в реализации данного проекта специалисты – они максимально объективны и смотрят на проект, опираясь прежде всего на проектную документацию. Такой эшелонированный контроль минимизирует возможность ошибки. Кроме того, для еще более комплексного и полного преодоления возможных сложностей в нашей группе компаний уже несколько лет работает Лаборатория – своего рода тестовый центр, где любая инновация апробируется в условиях, максимально приближенных к реальным.
Анастасия Аулова, руководитель отдела функционального тестирования компании «Т1 Интеграция»
«Мы берем в команду кандидатов, готовых изучать тестируемую систему целиком, а вместе с ней и сопутствующие технологии»
1. Во-первых, тестировщик должен обладать базовыми знаниями в области ИТ. Необходимо понимание архитектуры ИТ-систем: состава, протоколов взаимодействия, ключевых принципов обмена данными. Также нужно базовое представление об инфраструктуре и ПО: серверах, сетях, ОС, дополнительном ПО и т.д. Во-вторых, тестировщику необходимо иметь представление о жизненном цикле ПО, понимать цели, задачи, а также ключевые роли специалистов для каждого из этапов цикла. В-третьих, тестировщику требуется обладать структурированными знаниями по теории тестирования.
2. Инструментарий очень сильно зависит от проекта и конкретных задач, но в любом случае пригодятся знания SQL, инструментов для работы с API, а также инструментов для ведения тест-кейсов и баг-трекинга.
3. Как показывает опыт, людям с профильным образованием намного проще войти в команду и взять на себя конкретный объем задач, поскольку у них есть ряд необходимых базовых знаний. Кандидатам с непрофильным образованием сложнее, так как нужно не только получить базовые знания, но и структурировать их. Многие, к сожалению, пренебрегают этой задачей, сосредоточившись на освоении инструментария. И они, как правило, часто меняют работу, поскольку не могут объективно оценить свой уровень знаний и направление развития.
4. У нас много позиций в проектах, требования к опыту разные. Наши сотрудники занимаются функциональным, нагрузочным и автоматизированным тестированием. Специфика каждого из направлений определяет требования к знаниям и опыту. Кроме того, периодически мы проводим обучающие курсы по всем направлениям, и по результатам самые способные слушатели попадают к нам в команду стажерами. При этом проверку на наличие базовых знаний проходят даже кандидаты, не имеющие опыта работы.
5. Мы берем в команду кандидатов, которым действительно интересно в ИТ, готовых изучать тестируемую систему целиком, а вместе с ней и сопутствующие технологии. Также очень важны инициативность, ответственность и самостоятельность. Компания всячески поддерживает развитие сотрудников, проявляющих эти качества, так как именно они лежат в основе профессионального подхода к работе.
Михаил Кирпичев, инженер по качеству digital-интегратора DD Planet
«Профессия представляет собой, скорее, уникальный набор неуникальных для сферы ИТ-требований»
1. Минимум необходимых навыков – умение находить дефекты и грамотно их описывать. Помимо очевидных знаний (составления плана работы, тест-планов, чек-листов) важно понимать в общих чертах процесс разработки приложения, в том числе методологий разработки, уметь работать с техническим заданием – извлекать из него требования в процессе подготовки к тестированию и указывать на неописанные потенциальные требования в процессе его написания. Также нужно знать специфику платформ, для которых разрабатывается приложение, уметь диагностировать приблизительную причину возникновения дефекта, иметь понимание об удобстве использования приложения людьми с разным образом поведения и уровнем владения устройствами.
2. Базовыми инструментами тестировщика с самого начала его карьеры становятся багтрекер/тасктрекер и приложение для снятия скриншотов. Можно обходиться, конечно, Google Таблицами и встроенным в операционную систему сервисом снятия скриншотов, но специальные приложения значительно облегчают тестировщику и другим участникам проекта работу и жизнь.
Для перехвата и модификации запросов приложения к серверу и ответов на них используются прокси для дебаггинга сервера (Fiddler, Charles Proxy). Еще один полезный инструмент для работы с запросами к серверу – Postman – позволяет отправлять запросы самостоятельно вместо редактирования перехваченных.
Часть инструментария зависит от платформы, для которой разрабатывается приложение. Например, для веб-приложений самым, пожалуй, полезным инструментом является консоль разработчика. Она очень помогает в диагностике дефектов. Для веб-приложений также оказываются полезными многочисленные плагины для браузеров – от меняющих размер окна на заданный до детально оценивающих скорость загрузки и быстродействие веб-страницы. Для сбора логов с устройств на Android применяется Logcat, входящий в состав Android Studio.
3. Требования к образованию варьируются в зависимости от компании. Вообще высшее техническое образование ценится, как и в сфере ИТ в целом, но обязательным обычно не является. Даже отсутствие какого-либо законченного образования помимо школьного – не всегда проблема для старта в профессии. Работа тестировщика не чисто техническая, и опыт гуманитарных наук может оказаться полезным, особенно если освоение технических моментов не вызывает значительных сложностей.
4. Требования к опыту работы зависят от потребностей и возможностей компании на текущий момент. Как и в случае с другими специалистами в сфере ИТ, тестировщиков с большим опытом работы найти труднее, что добавляет сложности (в дополнение к финансовым соображениям) к задаче заполнения штата компании знающими специалистами.
Если мы ищем тестировщика выше уровня junior, т. е. требования к опыту работы с технологиями:
- опыт проведения нагрузочного тестирования (jMeter);
- опыт работы с Fiddler/Charles Proxy и Postman;
- опыт автоматизации тестирования (C# + Selenium);
- умение диагностировать причины дефектов с помощью Developer Tools браузера.
5. Буквально уникальных требований к тестировщикам, думаю, нет. Профессия представляет собой, скорее, уникальный набор неуникальных для сферы ИТ-требований. В качестве уникальных черт умелого тестировщика можно выделить умение задавать тестируемому приложению каверзные вопросы и способность в процессе тестирования «отыгрывать» роли разных типов пользователей. Например, плохо знакомых с платформой, неуверенных в своих действиях, часто и надолго отвлекающихся или склонных действовать максимально быстро и нетерпеливо.
Павел Подкорытов, CEO Napoleon IT, Челябинск
«Если на проекте есть автоматизированные тесты, то желательно, но необязательно иметь опыт работы с Git»
1. Как глобальной ИТ-компании, нам очень важно брать на работу высококвалифицированные кадры. За 10 лет работы на рынке у нас сформировалась система оценки и определенные требования к кандидатам, позволяющие оценить его компетенции: знание техник тест-дизайна, опыт работы с Jira, Confluence, опыт работы с тестовой документацией, опыт работы в Mobile тестировании (Android, iOS), опыт тестирования REST API, умение работать с логами.
2. Опыт работы с Postman, Charles или аналогами – базовое знание и опыт работы с SQL.
3. Образование – высшее/среднее.
4. От года в тестировании.
5. Особые требования могут быть в зависимости от проекта. Если на проекте есть автоматизированные тесты, то желательно, но необязательно иметь опыт работы с Git.
Ключевые слова: тестировщик, ПО, баг, ИТ-кадры, вакансия, опыт работы, квалификация, тест, проект, автоматизация
Подпишитесь на журнал Купите в Интернет-магазине
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|