Должностная инструкция специалиста по тестированию. Профессия тестировщик

  • 21.09.2019

IT развивается, постоянно создаются новые продукты, которые требуют проверки перед тем, как выйти на рынок, чтобы конечный пользователь получил качественный продукт. Именно от тестировщика зависит, в каком состоянии продукт попадет на рынок.

Кто такой тестировщик

В любом деле важно вовремя получать отклик, отзыв о своей работе, желательно, чтобы они были объективными. С программистами то же самое - чтобы достигать высоких результатов, нужно как можно скорее получать положительные и отрицательные отзывы о проделанной работе. Задача тестировщика - давать программистам обратную связь. Чем быстрее получен отклик, тем скорее программисты исправят ошибку, если она есть.

Если говорить конкретно кто такой тестировщик и чем он занимается, то это человек, который проверяет работу, сделанную командой разработки, указывает на ошибки в работе программного обеспечения (сайта, приложения, чатбота и т.д.).

Достаточно сложно дать определение слову «тестирование», но это не:

  • разработка - даже если тестировщик умеет писать код, тестирование - это не разработка ПО;
  • анализ и сбор данных - хоть в работе и приходится уточнять данные, анализировать их, но эта работа делается только по надобности, не постоянно;
  • техническое писательство - при этом тестировщику приходится документировать свою работу и тесты.

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

Виды тестирования

Не бывает универсальных тестировщиков, иначе работа была бы некачественной. Есть несколько видов тестирования со своими особенностями.

Функциональное тестирование

Функциональное тестирование в своей основе имеет анализ спецификаций функциональности определенных компонентов или системы в целом. Тесты в этом виде основываются на функциях, которые выполняет система. Обычно эти функции описаны в требованиях, спецификациях.

Основное достоинство функционального тестирования - имитация фактического использования системы во время тестирования. Недостатка 2:

  • возможность упущения логических ошибок в ПО;
  • избыточное тестирование.

Нагрузочное тестирование

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

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

  • время выполнения операций при определенной интенсивности их выполнения;
  • количество пользователей, которые единовременно используют приложение;
  • границы приемлемой производительности при усилении нагрузки;
  • производительность на очень высоких уровнях нагрузки.

Также здесь тестируется надежность приложения. Это определяется по работоспособности приложения при многочасовом тестированием ПО со средней нагрузкой.

Автоматизированное тестирование

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

  • запуск;
  • инициализация;
  • выполнение теста;
  • анализ;
  • выдача результата.

Тестировщик в этом случае создает, отлаживает и поддерживает тест-скрипты, наборы для теста и инструменты для тестирования в автоматическом режиме.

Юзабилити-тестирование

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

Юзабилити-тестирование может пригодиться в нескольких случаях:

  • тестирование удобства интерфейса;
  • сравнение продукта с конкурентами;
  • сравнение нескольких версий интерфейсов одного продукта.

Тестируют в этом случае не только сайты. Есть множество других интерфейсов: голосовые, печатные формы, бизнес-процессы, приложения для смартфонов и компьютеров и другие.

Интеграционное тестирование

Суть интеграционного тестирования - в проверке связи компонентов целого продукта и их взаимодействия с другими частями системы.

Есть несколько типов этого тестирования:

  • снизу вверх - все модули, процедуры, функции низкого уровня собирают вместе и тестируют, после чего собирают следующий уровень компонентов;
  • сверху вниз - первым делом тестируются компоненты высокого уровня, далее уровень постепенно снижается;
  • большой взрыв - все, низкоуровневые и высокоуровневые, компоненты собираются воедино и проверяются вместе, таким образом можно провести быстрое тестирование.

Конфигурационное тестирование

Направлено на проверку работоспособности продукта в различных конфигурациях:

  • платформы;
  • драйверы;
  • компьютерные конфигурации.

На серверном уровне проверки проверяется взаимодействие продукта с окружением, куда он будет установлен. Основная задача этого этапа - выяснить оптимальную конфигурацию оборудования для работы с продуктом.

На клиентском уровне выясняется насколько удобно пользоваться продуктом, его функциональность.

Тестирование безопасности

Тестирование безопасности проводится для проверки безопасности, анализа рисков, связанных с хаккер-атаками и вирусами. Главная задача тестирования безопасности - установить максимальную безопасность и комфорт при использовании продукта.

Принципы тестирования:

  • доступность;
  • конфиденциальность;
  • целостность.

Игровое тестирование

Игровое тестирование, несмотря на притягательное название, достаточно сложное и муторное. Основная его цель - проверить игру на баги, чтобы продукт дошел до потребителя в качественном виде. Игру и ее отрезки приходится проходить и перепроходить несколько десятков раз, так как исправление одного бага может привести к другому багу. Все тестирование производится вручную и занимает очень много времени. Кроме того, игры могут иметь несколько версий, например, для компьютера и смартфона на Андроиде - тогда проверка имеет свои особенности и количество тестов увеличивается в 2 раза.

Какие навыки нужны тестировщику?

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

Требования к тестировщику ПО (плюс / минус в зависимости от компании):

  • Понимание что такое баг, тест-кейс, стратегия тестирования (и умение ее выстраивать), отчет об ошибке;
  • Базовое знакомство с автоматизированным тестированием;
  • Быстрая обучаемость, приспосабливаемость к стремительно меняющейся среде;
  • Умение работать с базой данных - основными понятиями и запросами;
  • Коммуникабельность - важно для взаимодействия с командой;
  • Аналитический склад ума;
  • Умение быстро обрабатывать большое количество информации.

Также могут пригодиться знания java, python для тестировщика и другие языки программирования. Но в то же время их знание может мешать работе, так как тестировщик может пытаться исправить чужие ошибки, то есть, заниматься не своей работой. А это снижает качество.

Зарплата тестировщика

Средняя зарплата тестировщика в Москве - около 70 тысяч рублей, в Питере - 50. Немного отстает Екатеринбург - 45 тысяч рублей. В городах поменьше и зарплата меньше. В Волгограде, Воронеже, Перми, Уфе, Казани зарплата составляет 33-40 тысяч рублей.

Начинающие тестировщики без опыта могут рассчитывать на зарплату, составляющую половину или 2/3 части от средней платы тестировщика по городу.

Тестировщик с высшим образованием и опытом работы от 1 года может рассчитывать на зарплату от 65 тысяч в Питере и от 80 в Москве. Максимальный доход в столице - 150 тысяч, в Санкт-Петербурге - 120 тысяч рублей.

Выше 150 тысяч доход имеют специалисты, занимающиеся проверкой сложных продуктов. Меньше всего получают игровые и юзабилити специалисты.

Тестировщик на дому зарабатывает примерно столько же, сколько и в офисе. Зарплата на фрилансе по большей части здесь зависит от того, в каком городе находится работодатель. Иногда компании, разрабатывающие софт, из Москвы специально ищут специалиста из маленького города, чтобы платить меньше. Кроме того, фриланс для тестировщиков - это возможность совмещать несколько проектов и зарабатывать больше.

Как стать тестировщиком

Чтобы стать тестировщиком, не обязательно иметь высшее образование. Важно уметь концентрировать внимание, не упускать мелочи. Стать тестировщиком можно даже с нуля, но при этом стоит все же иметь какие-то знания. Например, нужно уметь обращаться с компьютером и программами на “ты”, уметь ориентироваться в незнакомых средах. Также хорошо знать хотя бы один язык программирования, понимать основы базы данных.

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

Подготавливаясь к собеседованию, стоит ознакомиться с темами:

  • обеспечение качества ПО;
  • что такое тестирование;
  • виды тестирования;
  • уровни тестирования;
  • тестовые артефакты и их предназначение;
  • знакомство с тест-дизайном;
  • автоматизация тестирования и ее виды;
  • метрики тестирования, как их использовать.

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

Актуальность профессии

В мире разработки многие ставят профессию тестера на самую низшую ступень иерархии, а зря. Именно благодаря тестерам в существующем софте относительно мало ошибок - а ведь после того, как софт вышел «из-под пера» программера, ошибок было в сотни раз больше. И это не просто предположение или вымысел. В своей жизни я перепробовал множество профессий - вплоть до руководителя компании. Доводилось бывать и тестером.

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

Почему именно 9 сентября? Именно в этот самый день более 70 лет назад ученые из Гарварда проводили тестирование вычислительного монстра под названием Mark II Aiken Relay Calculator. Пусть тебя не смущает слово «Calculator» в названии: вес первого «Марка» точно известен и составлял 35 тонн. Вес второго, думаю, был не намного меньше.

Слово тестировщик, как ты уже догадался, происходит от английского tester - человек, выполняющий проверку чего-либо.

Сколько зарабатывают тестеры?

Каких-то пять лет назад считалось, что тестером может быть любой студент 1-2-го курсов. К тестерам относились несерьезно - как к «недопрограммистам». Формат такой работы подразумевал только подработку на время учебы в ВУЗе, а серьезно заработать, будучи тестировщиком, удавалось мало кому.

Итак, сколько зарабатывают тестеры? Могу поспорить, что ответ на этот вопрос тебя интересовал больше всего, раз ты начал читать эту статью. Тестеры со стажем в 2-3 года могут легко заработать около 100 000 рублей в месяц. Минимальная заработная плата составляет от 30 тысяч рублей, средняя около 50-60 т.р. Не буду приводить красивых графиков, приведу две вакансии, которые нашел за 5 секунд на сайте Яндекс.Работа: в первом случае предлагают до 90 т.р. (что вполне нормально), во втором - от 30 до 45 тысяч рублей.

Вообще, если поискать, можно встретить вакансии до 120 тысяч рублей, что даже превышает обещанные мною суммы.


Как видишь, профессия довольно актуальна и при наличии желания и определенных навыков, можно без проблем найти довольно хорошо оплачиваемую работу. Да, это не Газпром, но на жизнь хватит.

Условия, требования и обязанности

Просмотрев с десяток вакансий, могу рассказать хорошие новости. Работать можно, как в офисе, так и дома - выбирай тот способ работы, который тебе привычнее. Если долго добираться в офис, можно без проблем найти удаленную работу со свободным графиком работы. А это означает, что ты можешь учиться в ВУЗе и работать тестером. В этом плане ничего не поменялось. Конечно, на «удаленке» платят меньше, но и условия труда более удобные.

Образование требуется неполное высшее, а вот опыт работы нужен. Чаще всего требуют наличие опыта работы по специальности от 1 года. Вопрос, а где же получить опыт, если везде нужны уже опытные, остается открытым. Впрочем, это беда не только этой профессии, а и любой другой. Зарплата прямо пропорционально зависит от опыта работы - приличные деньги начинают платить тестерам с опытом работы от 2 лет.

Но не нужно думать, что тестеру не нужны никакие навыки, кроме умения нажимать на кнопки! Как минимум нужно:

  • знать основы языка программирования, на котором ведется разработка;
  • уметь работать с Bug-трекерами;
  • понимать, что такое функциональное тестирование;
  • иметь навыки работы со средствами автоматического тестирования (вроде Selenium для Java или PHPUnit для PHP);
  • уметь пользоваться MS Office для документирования результатов.

В обязанности тестера входит:

  • формирование тестовых наборов;
  • написание методики тестирования;
  • подготовка тестовых данных;
  • тестирование по документации;
  • локализация дефектов;
  • общение с бизнесом, аналитиками и разработчиками;
  • решение технически сложных задач.

Как видишь, список требований и обязанностей очень солидный. Надеюсь, теперь ты не будешь думать, что тестер - это просто тот, кто нажимает на кнопки и проверяет, не глючит ли программа.

Перспективы

Какие перспективы могут быть у тестера? Прежде всего, есть перспектива повышения зарплаты по мере роста опыта работы. Сегодня ты получаешь 30-40 тысяч рублей, через два года - почти 100 тысяч. Чем не перспектива? Даже если текущая компания не предлагает тебе такие деньги, всегда можно перейти в другую: опыт работы-то уже у тебя есть.

Другая перспектива - стать программистом. Проработав несколько лет тестером, довольно просто перейти в другую сферу IT: например, «превратиться» в разработчика, аналитика или даже в руководителя. Все зависит от тебя и от твоих интересов.

Где можно получить профессию тестировщика?

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

Но нужно отметить, что обучение в ВУЗе не всегда оправдано, особенно если речь идет о тестерах. Во-первых, учиться в ВУЗе долго. А если у тебя уже есть высшее образование (пусть даже не техническое) и ты хочешь освоить профессию тестера, то вообще нет смысла опять поступать в ВУЗ: на втором высшем ты будешь вынужден 2.5 года посещать лекции. Потерять целых 2.5 года! А если высшего образования у тебя нет, тогда ты можешь потерять целых 5 лет, за которые можно было бы не только освоить эту профессию, но и превратиться в очень востребованного специалиста.

Во-вторых, получив диплом программиста (и потратив на это от 2.5 до 5 лет), ты все равно не сможешь устроиться по специальности: ведь у тебя нет опыта практической разработки, которого в ВУЗах не дают.

В качестве альтернативы можно предложить курсы, позволяющие освоить профессию тестировщика ПО. Например, . Преимущества курсов в том, что ты экономишь и время, и деньги: они длятся всего 2 месяца и обойдутся тебе гораздо дешевле, чем обучение в ВУЗе по специальности «программист». Кроме того, на курсах ты получаешь:

  • эффективное онлайн-обучение в комфортное для тебя время;
  • видеозаписи всех занятий, все презентации и учебные пособия.
  • интересные домашние задания для закрепления материалов;
  • возможность задавать любые вопросы преподавателю;
  • сертификаты по каждому курсу и гарантированную стажировку (2 месяца);
  • возможность стажировки в IT-компании с последующим трудоустройством;
  • возможность принимать участие в настоящих стартапах и создавать свои проекты;
  • реальное портфолио и резюме для старта карьеры;
  • знания и навыки, которые окупят стоимость курсов за месяц работы в компании.

Уже через 4 месяца ты будешь обладать следующими навыками:

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

А самое главное, тебе не придется ждать несколько лет, а сразу можно будет приступить к работе!

Вообще затраты времени минимальные. Обучение хоть и длится 4 месяца, но проходит онлайн, а это означает, что ты можешь работать/учиться и осваивать параллельно. Нет необходимости ездить куда-то и тратить драгоценное время.

А как же быть, если работодатель требует наличие корочек? Ну, в большинстве случаев оно все же не требуется. Если вышка у тебя уже есть, то в к нему прибавится сертификат, который ты получишь по окончанию курсов. А если высшего образования нет, то ничего страшного: зато у тебя будет весь набор навыков, необходимых для успешного тестирования программного обеспечения. Когда ты проработаешь первый год по специальности, на отсутствие в/о не будет смотреть вообще никто - главное, что опыт и навыки уже есть. Кроме того, по окончанию курсов у тебя будет возможность двухмесячной стажировки в реальной компании!

Выводы

Выводы получаются такие: профессия тестера - востребованная и позволяет в среднем зарабатывать около 60 т.р. в месяц. Учиться в ВУЗе на тестера смысла нет: долго, дорого да и нет официально такой специальности, как тестер. Кроме того, после ВУЗа у тебя все равно не будет опыта работы - лишь несколько потерянных лет.

В случае с ты можешь получить все навыки, необходимые для начала карьеры, и пройти стажировку в компании, чтобы получить минимальный опыт работы. На все про все нужно всего 4 месяца, а обучение происходит онлайн в комфортное для тебя время.

Здорово, правда?

Специальный проект с компанией GeekBrains

Почти год, начинал в Noveo с нуля.

Как пришёл в профессию?

Решил попробовать себя в тестировании, прочел некоторое количество найденной в сети литературы, прошел несколько собеседований, пара из которых оказались успешными. Дал себе некоторый срок на освоение профессии, чтобы понять, нравится мне эта сфера или не нравится, хочется в ней развиваться или нет.

Неожиданной вещью оказался процесс разработки в вебе, пришлось очень быстро вникать и уже на ранних этапах нести какую-то ответственность и принимать решения в том числе по внешнему виду продукта, UI и так далее. Интересно было обнаружить, что приходится работать без документации, то есть опытным путём выяснять, как все устроено. Бывали проекты, на которых спецификация была разработана уже при нашем участии!

Дотошность, стремление сделать всё хорошо.

Только отсутствие желания работать, как и в любом другом деле. Неприятие самой профессии.

Лично для меня - время, когда нет особенной загрузки по проектам, и начинаешь сходить с ума и потеть над каждой маленькой задачей, лишь бы занять себя. Хорошо, что такие моменты в Noveo редки!

А что самое приятное?

Видеть успешно работающий результат особо сложной задачи.

Мотивация, то есть понимание, ради чего ты это делаешь, зачем тебе расти и куда ты направишь новоприобретённые навыки.

Подумайте хорошенько и всё взвесьте, если решились - работайте:D

Наталья, тестировщик:

Сколько лет ты работаешь тестировщиком?

Летом будет 3 года.

А как пришла в профессию?

Я училась на программиста, но к выпуску поняла, что писать код, а также смежные профессии вроде дизайнера или аналитика - всё же не моё. А вот ломать что-то мне всегда нравилось!

Да нет, всё было предсказуемо: есть приложение, ты проверяешь его на соответствие требованиям.

Из неожиданного - начало ломаться всё и помимо работы. Раньше я не замечала проблем, когда лазила по сайтам в интернете, а сейчас ломается даже бытовая техника. Мой муж уже говорит: “Не надо всё тестировать!” :)

Что самое сложное в этой профессии?

Именно ты должен отвечать за конечный результат, принимать решение, когда можно отдавать в релиз, а когда надо ещё дорабатывать. Да, для этого есть набор критериев и тест-кейсов, но конечное решение за тобой.

А что самое приятное?

То, что пользователь не видит проблем при работе системы.

Ну а мне просто нравится что-то ломать, ведь если всё работает идеально, начинаешь сомневаться в том, что ты нужен. Нравится находить и предупреждать проблемы.

Что, по-твоему, нужно для улучшения своих навыков?

Оценила тренинги, которые в нашей компании проводит Антон, хоть они больше и по Selenium, ориентированному на веб, а я всё-таки специализируюсь на мобильных приложениях.

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Сложно сказать, нужно пробовать!

Антон, тестировщик:

Сколько лет ты работаешь тестировщиком?

Почти 2 года.

Как ты пришёл в профессию?

Почти случайно. Друг сказал, что в их компанию нужны тестировщики, а поскольку я искал новое направление работы и тестирование было мне интересно, то решил попробовать. Интересным тестирование было сразу по многим пунктам: оно требует внимательности, логического и критического мышления, пригодятся знания программирования, архитектуры продукта. Ты должен лучше всех знать, как устроено приложение и как оно должно работать!

Было ли что-то, чего ты не ожидал?

Со времени моего обучения многое в ИТ успело измениться: подходы к разработке, способы развёртывания, жизненный цикл продукта… Что-то мне уже было знакомо, что-то приходилось учить на ходу. Например, сейчас аuto-deployment, Git и другие вещи используются повсеместно, тогда они только развивались.

Какие личные качества говорят, что из тебя получится отличный тестировщик?

Внимательность, критическое и логическое мышление. Очень пригодится тестировщику понимание архитектуры проекта, умение посмотреть на вещи под другим углом. Наверное, главное - это логическое мышление! Редко бывает, что у людей его совсем нет (ну или мне хочется в это верить).

Что самое сложное в этой профессии?

Усидчивость и концентрация внимания. Когда долгое время работаешь с приложением, глаз замыливается. Впрочем, все эти моменты актуальны для любой профессии, где есть доля рутины.

А что самое приятное?

Доводить продукт до ума, действительно следить за контролем качества, не просто “протыкивать” сценарии, а тестировать usability и иметь возможность влиять на архитектуру. Приятные отзывы, довольные пользователи.

Что, по-твоему, нужно для улучшения своих навыков?

Хабр хорош для всех, кто связан с ИТ. Конечно, не все материалы одинаково полезны, но есть очень интересные. Полезно знать архитектуру, паттерны разработки ПО, шаблоны проектирования. Я постоянно читаю блоги QA testing и QA automatization.

Лучший способ улучшить свои навыки - повторить что-то 100 раз!

Нужно не забывать, что контроль качества - интересная, постоянно развивающаяся сфера. Нужно пробовать как можно больше и искать недочёты во всём. ИТ всё плотнее входит в нашу жизнь: каждый из нас открывает в день как минимум один сайт и использует как минимум одно приложение. Все они в чём-то похожи, нужно обращать внимание на то, как они работают, это сильно поможет!

Ты ведёшь в нашей компании тренинги по автоматизации тестирования, расскажи об этом подробнее!

Когда я начинал работу над этим тренингом, моей целью было научить как можно больше людей и поставить процессы в компании. В какой-то мере это работает, собираюсь продолжать!

На курсах мы разбираем инструменты и фреймворки автоматизированного тестирования: Vagrant, Selenium и другие. Учимся понимать архитектуру приложения, писать код, обеспечивать взаимодействие между пользователем и приложением.

А ещё в этом году мы впервые запускаем направление тестирования на летней стажировке ! На ней мы расскажем о теоретических и практических принципах тестирования и контроля качества, а также об автоматизации тестирования веб-приложений: от простых до сложных кейсов.

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Главное - помнить, что задача тестировщика - это контроль качества. Сюда входит не только проверка тестовых сценариев, но и весь комплекс свойств и качеств приложения: usability, архитектура, даже сложность поддержки и code review. Даже автоматическое тестирование - это не только способ проверки работы приложения, но и контроль качества разработки!

Татьяна, тестировщик:

Сколько ты работаешь тестировщиком?

9 - а нет! - скоро будет 10 месяцев.

Как пришла в профессию?

До этого я 10 лет работала в сфере аналитики, возглавляла аналитический центр, потом решила уходить в сферу ИТ. Сначала думала переходить в аналитики, прошла специальные курсы, но потом выбрала путь тестировщика как один из самых прямых и не требующих глубоких технических знаний.

Было ли что-то, чего ты не ожидала?

Не могу сказать, чтобы что-то стало полной неожиданностью. Да, на начальном этапе специальных знаний не требуется, но если ты хочешь быть хорошим специалистом - то придётся прокачивать целый набор навыков, в том числе программирование: например, написание автоматических тестов потребует глубоких технических познаний! Лично я не ожидала и разнообразия задач: например, в Noveo от тестировщика порой ждут не только проверки работы приложения, но и анализа спецификаций и требований и коммуникации с заказчиком и разработчиками. Это сложнее, но и интереснее!

Какие личные качества говорят, что из тебя получится отличный тестировщик?

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

Как думаешь, есть ли вещи, которые точно дают понять, что тестировщика из тебя не выйдет?

Желание просто “протыкать” самый простой путь и успокоиться на этом. И, наверное, доброта и нежелание кого-то беспокоить. Мне кажется, тестировщик должен быть “злым” и стремиться всё испортить. Конечно, вероятность появления бага и необходимость его исправления могут быть разными, но твоя задача - найти возможность использовать приложение не так, как задумано!

Что самое сложное в этой профессии?

Для меня сложнее всего начальный этап, когда приходится очень быстро вникнуть в проект, получить общую картину. У нас тестировщик обычно привлекается на поздних этапах, когда все уже давно “в теме”, а тебе только предстоит разобраться.

А что самое приятное?

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

Что, по-твоему, нужно для улучшения своих навыков?

Способов много: это и литература, и форумы, но самое главное - опыт, потому что всех книг не прочтёшь, а на практике познаётся очень многое! Важно умение поставить себя на место пользователя.

Есть ли какие-то упражнения или ресурсы, которые ты используешь для развития внимательности и можешь посоветовать начинающим?

Сейчас популярна теория о роли “переговорщика” между программистами и пользователями. Это человек, который понимает программистов, но при этом способен поставить себя на место простого пользователя. Лично я читаю литературу по такой теме.

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Главное - начать. Можно бесконечно готовиться и читать, но на самом деле всё приходит с опытом. Важно не бояться и пробовать!

Андрей, тестировщик, менеджер проектов:

Сколько лет ты работаешь тестировщиком?

Уже 4 года.

Как пришёл в профессию?

Почти случайно. Мне просто было интересно, как, зачем и почему всё работает, как себя ведёт система, я подал резюме - и меня взяли!

Было ли что-то, чего ты не ожидал?

Я думал, что буду сидеть в отделе таких же, как я, а в итоге оказался один среди команды программистов! Но в итоге оказалось, что это даже к лучшему: не теряется время на коммуникацию, можно быстро уточнить детали без перекидывания тикетов.

Какие личные качества говорят, что из тебя получится отличный тестировщик?

Внимательность, дотошность, недоверчивость.

Мне тут говорили, что тестировщик должен быть злым, изобретательным и стремиться всё испортить. Что скажешь?

(Смеётся) Так и есть. Тестировщик немного похож на Терминатора.

Как думаешь, есть ли вещи, которые точно дают понять, что тестировщика из тебя не выйдет?

Сложно сказать… Наверное, пассивность, флегматичность, отсутствие логического мышления или умения прогнозировать.

Что самое сложное в этой профессии?

Необходимость уточнять и помнить миллиард деталей, очень много коммуникации, необходимость всегда держать в голове общую картину.

А что самое приятное?

Видеть, что проект работает, несёт в мир доброту и счастье, позитивный фидбэк.

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Дерзайте!

Татьяна, тестировщик

Сколько лет ты работаешь тестировщиком?

В Noveo я работаю тестировщиком 4,5 года. До этого работала в другой компании на другой должности, но по сути занималась тем же, тестированием. Так что в общей сложности лет 6:)

Как пришла в профессию?

Да как-то плавно получилось. Работая в техподдержке, волей-неволей начинаешь проверять, а работает ли то, на что жаловались клиенты, а починили ли наши разработчики всё, что требовалась. Так и начала:) Потом подружка позвала в Noveo, официально заниматься тестированием. Я согласилась, о чем ни разу не пожалела!

Было ли что-то, чего ты не ожидала?

Спецификации на французском! Честно, вот ни разу не думала, что моя работа начнётся с этого:)

Какие личные качества говорят, что из тебя получится отличный тестировщик?

Когда аура у тебя подходящая. Куда ни придешь, везде всё ломается! :) Шутка. На самом деле это работа для усидчивых, внимательных людей и, я бы сказала, с фантазией.

Как думаешь, есть ли вещи, которые точно дают понять, что тестировщика из тебя не выйдет?

Если вы не умеете четко и ясно выражать свои мысли, то работать тестировщиком будет сложновато. Ну и нелюбовь к письменной работе (тест-планы, репорт багов).

Что самое сложное в этой профессии?

Быть всегда внимательной к деталям, не всегда удается сохранять должную концентрацию:) Ну и коммуникации:) Налаживать общение - это сложно.

А что самое приятное?

Чувствовать себя полезной, чувствовать, что ты делаешь продукт лучше, качественнее и удобнее.

Что, по-твоему, нужно для улучшения своих навыков?

Наверное, побольше общения с коллегами, ну и ходить на какие-то курсы или лекции.

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Долго не думайте, просто попробуйте. Если это ваше - вы поймете:)

Анастасия, старший тестировщик:

Сколько лет ты работаешь тестировщиком?

Почти 10 лет:)

Это долгий срок, ты никогда не думала сменить профессию?

Более того, даже пыталась! В своё время я пробовала себя и в роли руководителя группы тестирования, и в роли менеджера проектов, но поняла, что скучаю по процессу тестирования и в целом мне интереснее заниматься именно тем, чем я занимаюсь сейчас. Поковыряться, подумать, сравнить, что было и что стало… Сейчас в обществе есть стереотип, что тестировщик - профессия для джуниоров, которые только хотят попасть в область, а дальнейший рост возможен только в аналитики, программисты или менеджеры.

Это не так! Помимо вертикального роста в профессии есть и горизонтальный: тестирование не ограничивается ручным и функциональным, а для нагрузочного или автоматизированного вам придётся учиться и осваивать новые навыки.

Какие личные качества говорят, что из тебя получится отличный тестировщик?

То чувство, когда тебе не всё равно и тебя касается всё. Ещё очень важна настойчивость, умение доказать свою точку зрения. Часто программисты говорят “Это не баг!” или считают что-то понятным просто потому, что это понятно им. В таком случае я обычно привожу пример использования: например, если моя мама увидит попап, в котором будет указан только код ошибки, то она наверняка в панике начнёт звонить в службу поддержки с вопросом “Что делать?!”. Необходимо всегда помнить о том, кто будет использовать вашу программу: гики-программисты, геймеры или же старшее поколение.

Что ещё важно - как бы избито это ни прозвучало - коммуникабельность. Тестировщик общается с дизайнерами, аналитиками, разработчиками, админами… Дело в том, что если что-то сделано неудобно, а тебе не всё равно, то ты будешь искать возможность это исправить. Нельзя просто в одиночку проверить приложение на баги и успокоиться.

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

Как думаешь, есть ли вещи, которые точно дают понять, что тестировщика из тебя не выйдет?

Жизненная позиция “И так сойдёт!”

Ещё нужно помнить, что в работе есть и своя монотонность: например, если появилась новая фича, то нужно проверить не только её, но и работоспособность всего приложения. Есть люди, которые всегда торопятся вперёд и не готовы делать одно и то же несколько раз, им такой ритм работы может не понравиться.

Как ты пришла в профессию?

Сразу после университета, заканчивала ФИТ НГУ ещё очень давно. В университете был курс по тестированию, захотелось попробовать себя в этой роли.

Было ли что-то, чего ты не ожидала?

Поскольку сфера тогда только становилась, мне приходилось иметь дело с “олдскульными” программистами лет 40-45, которые считали, что в тестировании нет необходимости, а их решения верны по умолчанию. Именно там я научилась настаивать на своём и доказывать свою точку зрения.

Что самое сложное в этой профессии?

Необходимость в постоянной концентрации: в расслабленном состоянии тестировать нельзя! Но “сложно” - не значит “плохо”, в этом есть и свой позитив!

А что самое приятное?

Гладкая выкатка на production, хорошие отзывы.

Что, по-твоему, нужно для улучшения своих навыков?

Желание и стремление! Упражнения? Сложно сказать… В детстве мне очень нравилась игра “Найди 10 отличий”, всегда ждала новых выпусков “Мурзилки” и других журналов!

Дай совет или напутствие тем, кто подумывает стать тестировщиком ПО!

Учите базу, болейте за качество, горите своей работой, помните: «Тестировщик - адвокат пользователя»!

Как мы видим, путь в профессию может быть очень разным, у каждого свои сложности и свои причины любить то, чем занимаешься. И тем не менее, почти все тестировщики Noveo сходятся в том, что нужно быть внимательным, небезразличным, иногда дотошным, быть готовым не просто проверить указанные сценарии использования, а по-настоящему вжиться в роль пользователя и оценить качество. Ну а в том, что касается начала карьеры в тестировании, вердикт единогласный - приходите и пробуйте !

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Тестирование - неотъемлемый этап разработки программного обеспечения. Если не вдаваться в сугубо профессиональные детали, то всё на первый взгляд просто. Разработка всегда начинается с того, что пишется некоторый документ (или даже комплект документации), определяющий: каким функционалом должен обладать новый продукт или его часть, модуль, фича; какие методы разработки будут применяться; какие технологии, протоколы, схемы, сторонние продукты будут использоваться при работе этого продукта; формат и условия ввода-вывода, взаимодействие частей продукта между собой и всего продукта в целом со средой, пользователями, базами данных...; виды пользовательских интерфейсов (консольных, графических...), наборы и синтаксис используемых команд и поведение продукта в различных штатных и особых случаях. Короче говоря, детальное описание будущего продукта.

Этот документ, прежде всего, является основным документом для разработчиков. На его основе составляется план разработки, методология, сроки, используемые модели, паттерны - что там у них, у разработчиков ещё есть.

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

Затем наступает фаза, когда появляются тестовые образцы "готового" кода и необходимо его тестировать. Если формально, то применять по очереди согласно плана те самые созданные заранее кейсы и смотреть за результатами. Если результат отличается от указанного в кейсе или вообще всё сломалось, то это баг и надо срочно его куда-нибудь заносить. Инструментов для этого куча. Это два.

По всему этому пишутся отчёты. Куча отчётов. Потом ещё отчёты. И ещё один отчёт... Это три.

Это звучит очень сухо и неинтересно. Прогнал, отписался, снова прогнал, ещё чего-нибудь нашёл. Но да, это только верхушка айсберга и это очень схематично. На самом деле иногда сложно априори хорошо покрыть продукт кейсами - что-то просто невозможно учесть, что-то изначально недоописали, что-то изменилось в ходе разработки, что-то выбросили, что-то добавили... И это всегда так. Разработка и тестирование идут нога в ногу и это очень динамичный процесс. А в итоге постоянно натыкаешься на нестандартное поведение, которое тоже в идеале необходимо описывать, приводить к какому-то виду и либо исправлять, либо модифицировать. В итоге уже в процессе тестирования появляются новые кейсы, которые в последствии добавляются в первоначальный набор. А потом тебе становится скучно и ты, используя весь свой багаж знаний о тех процессах, протоколах и приложениях, которые задействованы в продукте, начинаешь невольно думать, как бы эдак всё сломать окончательно. И это не игра и не мазохизм - конечный пользователь в своей массе гораздо более изобретателен нежели любой, пусть даже самый талантливый тестировщик.

И, конечно, не обходится без политики, психологии и везения. С одной стороны, всегда есть официальное взаимодействие с руководством, между отделами да и вообще с коллегами. И куча переписки - с менеджерами, с разработчиками, снова с менеджерами. Появляются какие-то детали, меняются сроки. Плюс кто-то ещё находит время и силы на то, чтобы автоматизировать хотя бы часть тестирования, а это, зачастую, уже вообще творческая и ювелирная работа.

Конечно, это всё вот так, на пальцах и сумбурно. Но, во-первых, повторюсь, в Сети очень много чего написано про тестирование ПО, а во-вторых, тут всё очень субъективно и часто "завязано" именно на проект и принятую в команде методологию.

А если говорить за себя, то мне очень нравится работать тестировщиком программного обеспечения. Если душа лежит, то это работа, полная не только рутины, документации и авралов (а этого хватает, уж поверьте), но и творчества, чутья и где-то даже везения. Недаром говорят, что тестирование нельзя закончить, его, как ремонт, можно только остановить. И, к слову, я не понимаю этих хрестоматийных шуток про извечную войну тестировщиков и девелоперов. Я искренне уверен, что эти слухи распространяют непрофессионалы. Я, возможно, развею очередной миф, но тестировщики и разработчики не могут быть врагами уже потому, что одни помогают другим. Девелопер сам пишет продукт (или его кусок) и его глаза "замыливаются" настолько, что зачастую он пропускает самые банальные вещи, не говоря уже о сложных сценариях. И для этого есть мы, QA - найти, сломать и доложить. Не знаю как кому, а мне всегда везло с разработчиками. И сегодня мы постоянно списывается и созваниваемся со "своими" (на данном этапе) разработчиками и вместе обсуждаемых какие-то острые или проблемные моменты, хотя наши филиалы буквально разбросаны по миру.

Тестирование ПО это интересно, сложно и очень нужно. И скажу больше, тестировщики есть не только в IT. Помните эти печати ОТК? Это тоже тестировщики. Тестируется всё - от лампочек до карьерных самосвалов. Я уже молчу про космические корабли, которые бороздят. Кто-то тестирует телефоны, кто-то даже тестирует TheQ потихоньку, а кто-то тестировал вашу дверную ручку.

Тестировщики (а официально инженеры по качеству) повсюду.

Алексей Сёмин

Руководитель отдела тестирования компании Globus, которая занимается разработкой мобильных приложений и сайтов для крупных заказчиков, таких как «Яндекс», «Лаборатория Касперского», ABBYY, Rutube, «СТС Медиа», HeadHunter, «ТНТ Клуб», «Связной Трэвел», «PPF Страхование жизни», VimpelCom и других. Более шести лет в профессии. Прошёл весь путь от junior-тестировщика до руководителя отдела.

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

Ниже я хочу рассказать будущим QA-специалистам о том, что их ожидает в начале карьеры, и дать несколько советов из своего опыта.

Собеседование

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

Например, задаём необычные вопросы, чтобы посмотреть, как мыслит человек:

  • Самолёт вылетает из точки А в 17:00, а прилетает в точку Б в 19:00. При этом находится в полёте три часа. Почему такое может быть?
  • Как сделать так, чтобы, получив обновлённое приложение, конкуренты не смогли узнать его новые функции?

Будьте готовы и к самому обычному заданию - протестировать простой предмет: лист бумаги, карандаш, сетевой фильтр и тому подобное.

Также для собеседования будет полезно:

  1. Изучить виды тестирования: функциональное и исследовательское тестирование, автоматизированные тесты (включая инструменты для него), нагрузочное и стресс-тестирования, smoke-тестирование.
  2. Дополнительно почитать о приёмочном тестировании и его критериях.
  3. Если мы говорим о тестировании веб-приложений, то это браузерная консоль и её работа, количество и версии браузеров, разрешения мониторов, инструменты тестирования вёрстки (pixel perfect).
  4. Если мы говорим о мобильных приложениях, это виды платформ, эмуляторы, monkey testing. Не забудьте о планшетах.
  5. Изучить виды баг-трекеров. Самые популярные: Jira, BugZilla, RedMine, Mantis. Посмотрите, как они работают, в чём их особенность.
  6. В перспективе - инструменты Jmeter, Postman, Charles. Они не очень сложны в освоении на базовом уровне.

Первый рабочий день

Первый рабочий день проходит стандартно: выдают компьютер, который нужно настроить, установить рабочие программы. Системный администратор готовит доступы к почте и корпоративным внутренним программам.

Не стоит спрашивать, где установить Skype, использовать в нём ник со школьных времён gangsta_666 или забавную картинку. Используйте в нике сочетание имени и фамилии, например ivansmirnov или smirnovivan, поставьте свою обычную фотографию.

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

Первое задание

Вам будет предоставлен первый проект для погружения. Советую ознакомиться с историей баг-трекера и посмотреть, какие дефекты уже встречались или чаще всего встречаются. Сможете для себя сформулировать статистику и будете понимать, на какие моменты стоит обратить больше внимания.

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

Коллеги будут удивлены, если составите чек-лист в виде , например в Xmind.net .

Чек-лист для тестирования Pokémon GO

Одним из первоочередных видов тестирования для начинающего QA-специалиста, возможно, станет прохождение по чек-листам, тест-кейсам более старших специалистов. Этот этап необходим для более быстрого погружения в проект. Для наращивания тестовой базы новичок может сам расширять этот чек-лист. Junior-тестировщики в рамках обучения написанию чек-листов подготовили лист для тестирования приложения Pokémon GO. Тут описаны только позитивные кейсы.

Первый баг в трекер

Описание багов в разных компаниях может различаться, но в целом есть принципы хорошего тона.

Тема

В ней описывают проблему несколькими словами. Лучше, если она будет начинаться с отрицания: «не работает», «не происходит», «неправильно» и прочее. Например: «Не происходит синхронизация с сервером на iPhone 6», «Не работает воспроизведение видео в Nexus 5».

Сценарий

Пошаговое описание воспроизведения бага. Обращайте внимание на предусловие и знаки, которые предшествуют багу (например, загорелась красная кнопка слева).

Дополнительно можно приложить скриншоты с указанием мест, на которые стоит обратить внимание (можно использовать приложения Joxi , LightShot и другие), для более сложновоспроизводимых багов - записать видео. Когда наберётесь опыта, можете снимать и прикладывать логи.

В конце сценария указывается среда, в которой проводилось тестирование: версия приложения, прошивка девайса (Android 6.0.1, iOS 9.3.2). Если это веб-приложение, дополнительно укажите версию браузера.

Назначение бага

Далее нужно назначить на кого-то баг. Узнайте у менеджера проекта или ментора, на кого вешать данный баг, кто из разработчиков за какую область проекта отвечает. Так вы познакомитесь с командой, чтобы в будущем самому назначать баги.

Проставление критичности

Виды критичности багов в большинстве трекеров представлены следующим списком:

Immediate (Blocker)

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

Crit - Urgent

Критическая ошибка, нарушена ключевая бизнес-логика. Проблема приводит к временному падению сервера или приложения без возможности её решения. Устранение проблемы необходимо для тестирования.

High

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

Normal

Незначительная ошибка. Не нарушает бизнес-логику тестируемой части приложения, очевидная проблема пользовательского интерфейса и локализации.

Low

Тривиальная ошибка, не касается бизнес-логики приложения. Проблема сторонних библиотек или сервисов, плохо воспроизводится, малозаметна ввиду пользовательского интерфейса.


Самообучение

О важности самообучения все прекрасно знают - мои наставления будут банальны. Так что сразу к делу.

  • «Тестирование DOT COM», Роман Савин - очень полезное пособие, практически настольная книга начинающего тестировщика. Содержит в себе львиную долю знаний для того, чтобы начать тестировать и успешно отвечать в ходе собеседования на вопросы, касающиеся технико-теоретической части.
  • «Как тестируют в Google» - более глубокая книга, описывающая организацию процессов, различные стратегии и подходы к тестированию. Книга помогает понять, что такое качество, как и на каких этапах на него можно влиять.
  • «A Practitioner’s Guide to Software Test Design», Lee Copeland - в книге расписаны виды тестирования как «белым», так и «чёрным» ящиком. Перечислены различные техники тестирования, а также то, как ими пользоваться и когда лучше применять. В книге можно найти интересную статью об исследовательском тестировании, которая очень полезна для начинающих тестировщиков.

Коллеги, напишите в комментариях названия интересных книг для тестировщиков. Уверен, всем будет полезно.

Заключение

В заключении хочется добавить,что выпуск качественного продукта - процесс нелёгкий и небыстрый. Нужно уметь отстаивать своё мнение в переговорах, убеждать разработчиков делать правильно, а не на «костылях», понимать, как сделать функциональность более удобной для пользователей.

Это лишь часть нужной информации для начинающего тестировщика. Всё остальное придётся в боевых условиях искать в интернете, потом спрашивать у коллег. Не надо стесняться задавать вопросы и часами гуглить, зачастую ответ на один вопрос сэкономит вам немало времени в будущем.