Quality Assurance Engineer (Software Tester) в Винипеге Канада


Рекомендации для прокачки знаний QA Engineer

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

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

1. Не останавливаться на достигнутом, совершенствовать существующие навыки и стремиться к новым знаниям

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

  • составить список отечественных и иностранных топовых блогов о тестировании и сфере IТ, таких как blog.qatestlab , habr , software-testing , qa intelligence , smartbear , softwaretestingmagazine , joe colantonio , qa mentor , softwaretestinghelp , 9lessons ;
  • не забывать об основах в тестировании, изучать способы, методы и виды тестирования, черпая вдохновение в таких книгах, как: Ron Patton – Software testing; Lee Copeland – A practitioner’s guide for software design; James Witthaker – Exploratory Software testing; Robert Kalberstone – Quick testing и т.д.;
  • задействовать свои навыки и знания в различных видах и областях тестирования, пробовать себя в тестировании игр, тестировании безопасности, в автоматизированном тестировании. Нужно искать тот вид тестирования, в котором вы чувствуете себя наиболее комфортно и уверенно;
  • быть гибкими в своих умениях и знаниях, работать над своим тайм-менеджментом. Стоит посвящать время повышению уровня знаний иностранных языков, среди которых одним из наиболее важных является английский язык.

2. Soft skills или как улучшить навыки общения и поведения в работе тестировщика

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

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

Знать, как задавать правильные вопросы и когда их задавать

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

Как это приложение будет использоваться?

Кто конечные клиенты?

Какое пиковое время использования?

Каковы наиболее распространенные конфигурации браузера / аппаратного обеспечения / ОС?

Если не начать с этих фундаментальных вопросов, ваши усилия по обеспечению качества, вероятно, приведут к большему риску в приложении. Способность задавать правильные вопросы, знать, когда оставлять свои вопросы открытыми, а когда углубляться в детали, – это навыки общения, необходимые для любого в QA.

Уметь слушать

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

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

Знать, как сосредоточиться на том, о чем заботятся заинтересованные стороны

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

Расширять круг профессионального общения, быть внимательными ко всем

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

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

Знать, как бороться с хулиганами

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

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

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


3. Testing tools and techniques. Умение правильно использовать инструменты и техники тестирования

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

Вот малый список популярных инструментов, которые применяются на разных этапах тестирования:

Инструменты функционального тестирования:

Инструменты нагрузочного тестирования:

Инструменты управления тестированием, а также системы учета дефектов:

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

Методы тестирования программного обеспечения

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

  • анализ граничных значений(Boundary Value Analysis BVA);
  • классы эквивалентности(Equivalence class partitioning ECP);
  • тестирование на основе таблицы решений (Decision Table Based Testing);
  • тестирование различных состояний приложения (State Transition);
  • угадывание возможных ошибок (Error Guessing).

А теперь вкратце о каждом из них:

Анализ граничных значений (Boundary Value Analysis BVA)
Если входное условие ограничено между значениями x и y, тогда тестовые случаи должны быть разработаны с этими значениями, а также со значениями, которые выше и ниже x и y.

Классы эквивалентности (Equivalence class partitioning – ECP)
Эквивалентное разбиение на классы позволяет разделить набор тестовых условий на разделы, которые следует считать одинаковыми. Этот метод тестирования программного обеспечения делит входную область программы на классы данных, из которых должны быть разработаны контрольные примеры.

Тестирование на основе таблицы решений (Decision Table Based Testing – DTBT)
Таблица решений также называется таблицей причин и следствий. Этот метод тестирования программного обеспечения используется для функций, которые реагируют на комбинацию входных данных или событий. Например, кнопка «Отправить» должна быть активной, если пользователь заполнил все необходимые поля.

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

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

Методы тестирования программного обеспечения позволяют разрабатывать лучшие варианты. Каждый начинающий QA должен освоить каждый из «‎‎золотой пятерки».

4. DevOps & Agile Methodology: первоначальные принципы, методы и условия применения

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

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


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

5. SDLC – Software development lifecycle. Жизненный цикл разработки систем/приложений

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

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

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

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

Выводы

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

QA engineer, с чего начать?

Здравствуйте!
Давным-давно, закралась у меня мысль попробовать себя в роли qa инженера, но все как-то не доходили руки до изучения данного вопроса. А именно, c чего начать джуниору, что он должен знать, что уметь, где приобрести необходимые навыки и практику, да и вообще,с чего начать построение карьеры в тестировании.
Входные данные:

it образование
технический английский
C# начального уровня(наверное, чуть больше («hello world»)
любознательность

  • Вопрос задан более трёх лет назад
  • 57323 просмотра

Для начала давайте разберемся, что же такое QA? Понятие это довольно абстрактное, и в СНГ применяется зачастую в ином понимании, нежели в краях более отдаленных.
QA — это обеспечение качества продукта, причем, в идеальном случае, на всех этапах разработки.
Самое первое, с чем придется в большинстве случаев столкнуться QA Engineer`у это функциональное тестирование.
Написание тестов по задачам и прохождение этих тестов., прохождение уже написанных, апдейт, заведение багов и прочее. В этом случае QA Engineer = Тестировщик. Для этого самое важное — хорошо работающая голова, умение читать задачи и задавать правильные вопросы: «А что если так? А если этак?».
В зависимости от продукта требуются дополнительные скиллы -> в вебе своя специфика, в мобильных своя, в по — своя, в железе — своя. Ну и соответственно базовое понимание кода, работа с базой данных и прочее — тоже периодически понадобятся.

Но, процесс обеспечения качества не заканчивается на функциональном тестировании, поэтому понятие QA шире, чем тестирование. Здесь мы уходим от банальных тестов по функциональным требованиям и переходим к анализу требований и документации (поиск узких мест в требованиях и реализации), юзабилити тестирование (поиск «косяков» в интерфейсах и функциональности), тестирование производительности и прочее.

Отдельная часть — автоматизация тестирования. Здесь от компании к компании все по разному, и роль автотестера варьируется от «тестера который научился использовать тестовый фреймворк» до «полноценного разработчика, который автоматизирует то, что ему говорят тестировщики».
Требования отличаются соответственно.

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

Что в итоге?
Мне кажется, что QA-инженер это тестировщик, который вышел в своей работе за рамки тестирования. Который работает над качеством продукта не только в плане «Требования выполнены — к продакшену готовы», а старается делать продукт лучше во всех отношениях, в первую очередь — для бизнеса, во вторую — для пользователя, в третью — для тех, кто этот продукт делает.
Следовательно, я считаю что путь QA лучше всего начинать именно с тестирования (кстати говоря, в России понятия QA и тестирования почти всегда тождественны в умах не-тестировщиков).
Что важно для тестировщика?
Способность и желание разбираться в том, как это [продукт\фича\пр] работает сейчас, и как это должно работать.
Так же стоит приготовиться много говорить «нет, так не пойдет» менеджерам и разработчикам.
Ну и вообще, смириться с тем, что другие стороны процесса очень часто готовы действовать в ущерб качеству.

Очень важная для вас статья:  Бизнес-иммиграция в Канаду 2018 полный обзор программ

Что хотят, что бы знал джуниор?
1) представление о процессе разработки. Этапы, когда пора тестировать и все такое.
2) представление о написании тестов: что представляет из себя тест-план, тест-сьют, тест-кейс, тест-степ, Definition of Done, Ожидаемый результат и тд.
3) представление о том, что такое дефект: Severity и Priority дефектов, какие бывают; из чего состоит описание дефекта, и все такое.
4) хотя бы общее представление о тест-дизайне: что такое, зачем нужен, какие есть практики.
5) Базовые навыки SQL — селект, упдейт, работа с несколькими таблицами и все такое.
А ещё хотят, что бы человек умел думать. Будь готов к задачкам на логику (которые туфта и ненужны) и к задачкам типа «Есть окно с кнопкой, посылает запрос: напиши тесткейсы» или «Протестируй карандаш».

Как-то так.
К сожалению, больше рассказал именно о тестировании, чем о QA в целом. 🙂

Младший инженер по качеству ПО / Junior QA Engineer (стажёр)

Бизнес-центр «Кондратьевский» +78126110035 Russian Federation , Saint-Petersburg Кондратьевский проспект, д.15, корпус 3

Дата публикации: 14-11-2020

Команда Veeam Quality Assurance ждет тебя на трехмесячную оплачиваемую стажировку с индивидуальным обучением у профессионалов Veeam QA. После успешной стажировки возможен переезд в Прагу.

Обязанности

Мы предлагаем:

  • Обучение у профессионалов с большим опытом в QA и IT.
  • Введение в тестирование программного обеспечения (ПО). Жизненный цикл ПО, виды тестирования, роль тестировщика в процессе создания качественных продуктов.
  • Практический опыт тестирования сложных и интересных продуктов.
  • Практический опыт работы с Windows Server, Linux и Unix; сетями; платформами виртуализации VMware vSphere и Microsoft Hyper-V; базами данных Microsoft SQL Server и Oracle Database; публичными облаками Amazon и Microsoft Azure, и многим другим.
  • Возможность получить работу и перспективы в одной из ведущих IT-компаний мира.
  • Возможность переехать в пражский R&D-офис компании.

Требования

Эта стажировка для тебя, если ТЫ:

  • Выпускник технического ВУЗа или студент старших курсов, мечтающий о работе в эпицентре IT.
  • Интересуешься техникой и знаешь Microsoft Windows или Linux на уровне продвинутого пользователя или администратора.
  • Любопытен и внимателен, замечаешь недостатки в окружающих тебя предметах и процессах, интересуешься природой вещей.
  • Обладаешь «живым» умом, любишь анализировать.
  • Быстро учишься, любишь решать интересные и нестандартные задачи


Условия

Наши условия:

  • Работа в яркой, стабильной и быстроразвивающейся международной компании. У нас нет формализма, есть драйв, профессиональный и карьерный рост, комфортные условия, желание и возможность выпускать лучшие в мире продукты и готовность помогать друг другу.
  • Оформление по ТК РФ, заработная плата от 60.000 до 90.000 руб. «на руки» (определяется по итогам собеседования).
  • Гибкий график работы (от 30 часов в неделю с понедельника по пятницу).
  • Медицинская страховка ДМС со стоматологией с первого рабочего дня.
  • Бесплатные курсы английского языка в офисе Veeam.
  • Посещение профессиональных тренингов и конференций.
  • Доступ к обширной онлайн-библиотеке и возможность заказывать новые книги.
  • Участие в спортивных командах Veeam, компенсация фитнес-абонемента.
  • Корпоративные праздники и вечеринки.
  • Оплачиваемые обеды; фрукты, печенье, кофе в офисе.

РЕЛОКАЦИОННЫЙ ПАКЕТ: оплата билетов в Санкт-Петербург + единовременная выплата в размере одного оклада.

Quality Assurance Engineer (Software Tester) в Винипеге Канада

  • базовые знания sql
  • базовые знания тест-дизайна
  • .

Задумались о получении сертификата ISTQB, но пока не знаете с какой стороны подойти к этому вопросу?

Онлайн-тренинги

Конференции

Что пишут в блогах (EN)

Разделы портала

Про инструменты

Советы сеньоров: как прокачать знания junior QA
03.05.2020 08:54

Ярослав Пернеровский, Test Automation Lead в GlobalLogic, 12 лет в тестировании:

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

И тут уже критически важно владеть так называемыми «софт скилами»:

  • правильно задавать вопросы;
  • грамотно объяснять (касается также и написания баг репортов, тест кейсов и т.п.);
  • уметь слушать.

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

Если все же стоит цель именно «прокачать» что-то, то тут самое важное сконцентрироваться на чем-то одном. Например, очень сложно «выучить все тестирование». Гораздо проще освоить «тестирование конкретного приложения». Для этого нам понадобится само приложение и гугл. Остаемся с приложением один на один и пытаемся «тестировать» именно его. Искать проблемы, пытаться эти проблемы документировать, гуглим, как правильно это делать, делимся репортами с разработчиками или знакомыми. Пытаемся разобраться, как оно работает, какие технологии под капотом и т.д.

Что касается навыков, которыми должен владеть начинающий тестировщик, то в первую очередь это язык. Можно, конечно, Java или Python, но лучше английский! Хотя бы на уровне — читаю блоги без словаря.

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

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

Вообще самый полезный ресурс — это google.com , к нему следует обращаться в первую очередь.

  • Один из самых раскрученных технических ресурсов — Хабрахабр;
  • все о тестировании;
  • блог Леши Лупана;
  • и, конечно же, DOU. Особенно QA дайджест и цикл статей «Краш-тест резюме»;
  • также рекомендую блог Макса Дорофеева. Это не о тестировании, но будет крайне полезно.

Также сильно рекомендую просмотр на YouTube и Vimeo докладов из разных конференций по тестированию: SQADays, QAFest, разнообразные QA Meetups, тыщи их.

Ну и не лишним будет ходить на эти конференции и митапы при первой же возможности.

Обычно все советуют начинающим читать Романа Савина. Я не советую, точнее предостерегаю от того, чтобы читать ТОЛЬКО Савина. Он сильно упрощает, а местами даже вредит, давая ложное чувство простоты.

Как по мне, настольная книга начинающего тестировщика — это Lee Copeland «A Practitioner’s Guide to Software Test Design».


Для общего понимания, что может ждать человека на работе, также полезно ознакомиться с «Scrum и XP: заметки с передовой».

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

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

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

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

Алена Соколова Test Manager в Luxoft, около 8 лет в тестировании:

Работать. Именно работать. Сколько бы теории не было прочитано, без практики она улетучивается, забывается, не понимается. Это не значит, что не надо читать литературу по тестированию. Надо! Я, например, получила удовольствие от чтения и знания, которые помогли мне систематизировать опыт, полученный путем набивания шишек, готовясь к сдаче ISTQB CTAL по книгам Рекса Блэка. Пусть многие не согласятся, но, по моему мнению, книги для подготовки к ISTQB полезны для понимания базовой терминологии (CTFL) и описывают различные техники тест дизайна, подходы к тестированию и процесса в целом (CTAL). Еще замечательная книга, которая помогла мне освежить. да что там, не освежить, рассказала, что, как и почему надо делать, чтоб не работать как обезьянка — «A Practitioner’s Guide to Software Test Design» автора Copeland Lee. Однозначно стоит читать, разбирать задания в конце главы и практиковаться, пытаться применить на текущем проекте.

Быть проактивным. Помните про 7 навыков высокоэффективных людей Стивена Кови? Первый, базовый — быть проактивным. Нет, конечно, можно получать лычки за выслугу лет, можно попасть под руку менеджеру в нужный момент и резко возвыситься. Только знаний и умений это не даст. Проект закончился — и вы не можете найти работу, потому что есть опыт только в просиживании на теплом месте.

Что должен уметь среднестатистический джуниор тестировщик? Иметь представление, как описывать тестовые сценарии и правильно оформлять дефекты, знать, что такое тестирование черного ящика и понимать, чем регрессионное тестирование отличается от функционального. То есть задачи у джуниора, по сути, только технического характера (да, конечно, есть немного коммуникаций, письменных и устных, но их так мало, что ими можно пренебречь). Джуниору важны знания, непосредственно относящиеся к проверке функционала.

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

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

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

Думаю, известные всем ресурсы, но все же упомяну:

  • место, где можно отлично подучить и попрактиковать SQL;
  • место, где много статей, блогов и литературы.

И еще пара интересных ссылок:

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

Артем Быковец, Agile Coach в Levi9 / CEO & Coach в Start-IT Training Center, 7 лет в тестировании:

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

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

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

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

Где же брать все эти навыки? В интернете огромное количество разных ресурсов, однако с ними надо работать очень осторожно, так как статьи пишут все, кому не лень. И советую смотреть комментарии под статьями — если 90% оставляет отрицательные отзывы, то не стоит это читать. Также не рекомендую читать статьи, которые подписаны индусами и нашими восточными коллегами, особенно это касается материалов, которым по 5-7 лет. Лучше читать что-то более современное. Сейчас хватает людей, которые адекватно пишут и хорошо работают. Ну или в крайнем случае уже равняться на какой-нибудь международный стандарт — даже на тот самый ISTQB, который я не очень сильно люблю. Но он по крайней мере стандартизирует подходы к теории, терминам, определениям, хотя бы можно на него нормально ссылаться в спорных ситуациях.

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

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

По книгам сразу не советую читать Савина. У него есть очень популярная книга, которая выпадет вам первая в гугле — «Тестирование Дот Ком». Это хорошая книга для домохозяек, которые не знают, что такое тестирование. Брать за основу эту литературу нельзя, потому что описанное в ней очень сильно отличается от реальности. Если вы любите тяжелую литературу, такую, чтобы закипал мозг, можно почитать Канера. Но он тяжело заходит и все ли в нем полезно — скорее, нет, чем да. Из того, что действительно я рекомендую, как хорошую литературу для тестировщиков — это, пожалуй, «Как тестируют в Google», книга нашего белорусского коллеги Святослава Куликова «Тестирование программного обеспечения. Базовый курс» и Рекс Блэк «Ключевые процессы тестирования». Ну и я, как Agile Coach и ценитель Scrum, рекомендую почитать Agile Testing первое и второе издание. Потому как, скорее всего, современному тестировщику придется работать в скрам команде и необходимо грамотно выстроить процесс, а иначе качество будет страдать. И чтобы качество не страдало, лучше учиться не по книжкам Савина, а по книжкам типа Agile Testing.

Еще советую замечательный сайт проекта Алексея Виноградова — Radio QA. На этом сайте — можно вступить в Slack канал, в котором тестировщики со всего СНГ (и не только) — всегда отвечают на умные вопросы и делятся опытом, лентяев там не сильно жалуют.

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

Сергей Иващенко, Lead QA Automation Engineer, 7 лет в тестировании:

В первую очередь джуниор джуниору рознь. Если говорить о джуниор тестировщике с 1 годом практического опыта и intermediate English, то ему стоит задуматься, в какую сторону ему хотелось бы идти дальше.

Прежде всего, нужно понять, что нравится в работе и каком направлении стоит работать?

К счастью, есть очень много путей.

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


Для общепрофеcсионального развития надо посещать профильные конференции/семинары или смотреть доступные в интернете видео с прошедших конференций, слушать профильные подкасты. К примеру:

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

В этом выступлении я даю пару советов, как начать автоматизировать и где учиться этому.
А на этом ресурсе собран «ящик с инструментами», которые могут пригодиться автоматизатору на Java.

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

Михаил Чуб, Senior Test Manager в Infopulse, 13 лет в тестировании:

Вы прочитали «Тестирование Дот Ком» Савина, прорвались через массу новых непонятных терминов на курсах для начинающих тестировщиков, прошли пробное интервью, подписались быть тестером в волонтерский проект, корпели над резюме и разослали его в десяток компаний, тренировались перед зеркалом, преодолели собственный страх и прошли успешно одно из собеседований. Ура! Теперь вы — джуниор! Казалось бы, можно теперь вздохнуть и осмотреться. Но нет, ведь это только начало 🙂

6 небольших историй помогут вам расставить приоритеты в дальнейшем саморазвитии.

История 1: Федор

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

История 2: Надежда

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

Не будь как Надежда — приветствуй дополнительную ответственность, она позволяет расти!

История 3: Устина

Устине нравилась её новая обязанность на проекте: предварительная подготовка отчетов о тестировании. Перед тем как показывать эти отчеты менеджеру проекта, их еще просматривал её тест лид. Едва ли в этом была большая необходимость, т.к. сам же тест лид и обратил её внимание на метрики тестирования, позволяющие взглянуть на ситуацию свысока. и научил пользоваться инструментарием для анализа и визуализации данных. К сожалению, даже мощный инструментарий Microsoft TFS не позволял настроить достаточно хорошую тестовую отчетность, и приходилось выгружать все данные по багам и тест кейсам в Excel, для анализа и обработки.

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

История 4: Эдуард

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

П.С. А еще иногда чекинит в гит юнит-тесты с проверкой на null, позабытые программистами 😉

История 5: Петр

Пётр, как ему казалось, оседлал волну новых веяний и трендов в мире тестирования благодаря тому, что внимательно следил за публикациями топовых блогеров в этой сфере. Однако в какие-то моменты он не был в этом уверен, т.к. чувствовал, что масса новых терминов и понятий танцует чехарду внутри его головы, мешая сосредоточиться и выбрать правильный вариант действий. Не в погоне за корочкой, а ради систематизации своих немалых уже познаний, Пётр начал готовиться к сдаче экзамена для получения ISTQB Foundation Level сертификата. Отмел курсы как слишком дорогие, купил книжку на Амазоне, вдумчиво прочитал её и попрактиковался на пробных вопросах. Взял и сдал. Теперь в голове про тестирование — все по полочкам, да и сертификат симпатичный 🙂

История 6: Павел

Уже целых полтора года Паша работал в компании, в которой из иностранных языков нужно было знать SQL да русский. Потому даже регулярные занятия по английскому, проводимые внутри компании, результата почти не давали. Внезапное предложение от старого друга — поработать на проекте для европейского заказчика, Паша принял, не задумываясь. Зная о своей слабой стороне — уровне английского, он принялся с рвением смотреть англоязычные фильмы на языке оригинала и слушать новости BBC. Кроме того, Паша выписывал все незнакомые ему по работе слова, с тем чтобы специальная программа на его смартфонепроговаривала эти слова вслух, пока он едет на метро на работу. Обилие англоязычной документации на проекте дисциплинировало Пашу и заставляло усерднее налегать на грамматику, чтобы поменьше ошибаться в описаниях дефектов и в письмах. Более всего он был горд за свою смелость по отношению к зарубежным коллегам. Несколько их каждый месяц на недельку приезжали в командировку, и Паша не упускал возможности поговорить с ними как о работе, так и «смысле жизни, вселенной и вообще» © И если поначалу его язык немел, и словарный запас регулярно подводил, то уже через несколько месяцев стал не только искренне смеяться шуткам (если смешные), но и мог иногда сносно пошутить сам 🙂 И вот, через полгода, наконец-то, свершилось, то чего Паша долго хотел: он ехал в командировку! Если раньше, когда его одногруппники, работающие в других компаниях, делились впечатлениями о посещении Осло и Копенгагена, он мог похвастаться лишь поездкой в Горішні плавні, то сейчас он тоже сможет рассказать о всяком-разном, увиденном в Амстердаме 🙂

QA, QC или тестировщик?

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

И вот уже больше двух лет я развиваюсь в направлении контроля качество ПО и работаю дома в пижаме.

Мысль о написании данного поста появилась уже довольно давно. Но было откровенно лень времени все не хватало. Сейчас же я нахожусь в поисках места для трудоустройства (очень не люблю слово «работа») и решала заняться постом или серией постов, как получится.

Цели у меня самые эгоистические.

А именно: собирая информацию для постов, освежить свои знания и обзавестись новыми.

Начну, пожалуй, с терминов QA (Обеспечение качества), QC (Контроль качества) и Test (Тестирование).

Очень часто в названии вакансии можно встретить QA специалист, QA инженер и пр.

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

в виде обязанностей тестировщика (еще и джуниора) и соответствующей зарплатной вилки.

Итак. QA (Quality Assurance) – Обеспечение качества продукта.


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

QС (Quality Control) – Контроль качества продукта.

Специалист по контролю качества часто на практике оказывается либо старшим тестировщиком, либо единственным. Он уже и сам тестирует, и собирает информацию от других специалистов- тестировщиков, и принимает решение можно ли релизить продукт. У специалиста по контролю качества есть, так называемое, право вето. Мне удалось им воспользоваться один раз за время работы на последнем проекте. Не всегда к QC прислушиваются, но…

Мы вплотную приблизились к обязанностям тестировщика.

Тестировщики в зависимости от специализации и навыков:

1. Ищут ошибки в продукте и регистрируют их в систему

2. Исследуют требования к ПО и выявляют расхождения

3. Общаются с клиентами и анализируют их потребности

4. Взаимодействуют с разработчиками, техподдержкой, другими участниками процесса и помогают им

5. Автоматизируют тесты

6. Разрабатывают тестовую документацию, составляют отчёты

И многое другое.

Получилось скомкано. Чукча не писатель. Но, надеюсь, кому-нибудь пост окажется полезным.

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

Конструктивная критика приветствуется.

Спасибо за внимание)

Найдены дубликаты

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

«Не ошибается тот, кто ничего не делает»

Буду исправляться по мере приобретения опыта.

Можно на ты. Agile все дела. )

Давай так. Не надо путать тараканов и мелок от тараканов. QA, QC, Testing, AT — это всё направление, стадии тестирования, если угодно. Никак не специалисты. Зачем мешать всё в одну бочку?

QA, а если быть точнее — SQA(софтвер, все дела), это не специалист. Направление, в котором пашут сотни РАЗНЫХ специалистов 🙂 Это тест-менеджеры, логисты, аналиты, бизнес, тестровщики, атоматизаторы, пентестеры и прочий целый штат балбесов, которые входят в этот, уже не тесный клуб. Там построение моделей, процесс отладки, процесс поиска уязвимостей, построение тестирования, формализация, требование, культура и ещё сам черт ногу сломит что.

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

Testing — ну это «ручной» труд тестера. Проведение всего этого барахла, и попытка всё это причесать под вышесказанное. Хождение по мукам и головам нетестеров, попытки пропихнуть доработки и патчи, доказываение, что «вывсёврёти это таки баг а не фича», закрытие релизов, допуск патчей и заведение «таску в жиру».

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

Может, я и захочу создать пару статеек на эту тему, но пока тут мало кому это интересно)

Профессия QA Engineer. Кто такой Тестировщик?

QA Engineer что это — это такая же профессия, работа по найму в IT как и многие другие о которых вы скорее всего слышали и знаете, к примеру, такие как программист или аналитик. QA Engineer выполняет весь обьем работ связанный с тестированием ПО на проекте.

Чем же занимается QA Engineer?

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

Уровни квалификации и опыта у Тестировщика (QA Engineer)

Обычно Тестировщиков делят на 4 основные категории:


Путь QA бойца

Небольшой обзор вариантов развития твоей карьеры в сфере контроля и обеспечения качества.

С чего начать?

Итак, предположим, что вы планируете карьеру в IT и впервые услышали о QA. Теперь вы хотите разобраться, что же это такое.

QA — это процесс обеспечения качества программного продукта на всех этапах разработки, но на просторах СНГ часто этот термин применяется относительно тестирования ПО.

Что же потребуется начинающему специалисту чтобы ступить на путь борца за качество? Сейчас разберемся.

Для большинства компаний и проектов будет достаточно:

  • Представление о процессе разработки ПО (плюсом будет техническое образование, близкое к IT-сфере, но как показывает опыт многих коллег- это не обязательное условие);
  • Знание основных принципов работы программных продуктов (мобильных или standalone приложений, сайтов в зависимости от профиля компании);
  • Знакомство с теорией тестирования, базовое представление о тест-дизайне, какая бывает тестовая документация и откуда она берется (это очень легко гуглится при желании);
  • Способность быстро разобраться с TMS-системой;
    habr.com/ru/post/461205
  • Желание учиться новому, быстро разбираться в деталях, как работает ПО сейчас и как оно должно работать.

Если пункты выше выполнимы, то мы можем отправляться в путь.

Хорошо, а куда мы идем?

Дальше поговорим о том, в каких направлениях прокачиваться и каких результатов можно достичь, начав свой путь в IT с обеспечения качества.

Роли в QA

Можно выбрать направление, не меняя сферу деятельности и развиваться, как более узкий специалист. Или объединить в себе несколько ролей. Нужно осваивать стратегии и типы тестирования в разных методологиях разработки, учиться пользоваться инструментами управления тестированием (TestLink, TestRail, Test IT и т.д.) и системами баг-трекинга (Jira, Redmine) – эти знания и навыки являются фундаментальными для всех QA инженеров. Самыми востребованными вариантами специализации являются автоматизированное и нагрузочное тестирования.

Ручное тестирование

Когда ресурсов на разработку автотестов нужно потратить больше, чем на сам продукт — проще/дешевле/быстрее проверить новый функционал руками.

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

Для ручного тестирования потребуются:

  • Высокие аналитические навыки. От вас будут ожидать не только указания на ошибки, но и предложений как сделать лучше. Ведь только вручную можно проверить такие вещи как, например, удобство использования;
  • Креативность. В современных реалиях разработки требования не всегда полные и тестировщики сталкиваются с тем, что им нужно продумывать множество вариантов использования систем, которые они тестируют;
  • Ведение тестовой документации. Хороший тестировщик всегда имеет четкий план действий и активностей по тестированию, основанный на требованиях и сроках;
  • Знание и опыт работы с системой управления тестированием;
  • Владение инструментами работы с HTTP-запросами (Postman, curl);
  • Знания баз данных, умение писать SQL-запросы.

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

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

Автоматизированные тесты помогают быстрее выпускать новые функциональности, быстрее проводить тестирование, уменьшить количество ручных тестов.

Так что же может понадобиться чтобы начать автоматизировать тесты?

  • Нужно будет писать код, например, на Java или Python;
  • Овладеть инструментами автоматизации (Selenium, Katalon);
  • Базовые знания HTML, CSS, XPath;
  • Умение работать с системами контроля версий и репозиториями кода;
  • Навыки работы с API;
  • Знания систем CI/CD (Jenkins, TeamCity и т.д.).

Если думаете, что уже готовы, то можете взять самый простой тестовый сценарий, который повторяли тысячу раз и попробовать его автоматизировать – вам наверняка понравится

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

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

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

Самые важные навыки для тех, кто хочет заниматься нагрузочным тестированием:

  • Знание архитектуры тестируемой системы. Погружение в тестирование производительности потребует от вас изучения языков разработки и фреймворков которые используются при создании продукта;
  • Умение разработать и анализировать профили нагрузки;
  • Опять же программирование. Для скриптов нагрузочного тестирования могут пригодиться такие языки как Java, Python, JavaScript, C++, C# и специальные фреймворки, например, Gatling;
  • Знание аппаратной и сетевой архитектуры. Часто причиной снижения производительности приложения может стать железо, нужно ориентироваться в таких понятиях как пропускная способность памяти, процессора, сети и уметь анализировать данные о них.

Тест-аналитик

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

Идеальная цепь взаимодействий выглядела бы так:


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

Альтернативные пути развития карьеры. Есть ли жизнь после QA?

Системный аналитик

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

Бизнес-аналитик

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

Менеджер

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

Разработчик

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

Если что упустил — рад обсудить в комментариях!

Карьера тестировщика: от джуниора к лиду

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

Обязанности

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

В задачи специалиста по тестированию входит:

  • Разработка плана тестирования;
  • Написание тест-кейсов;
  • Поиск дефектов и их описание в баг-трекинговой системе;
  • Коммуникация с разработчиками в связи с выявленными багами;
  • Контроль устранения ошибок;
  • Отслеживание жизненного цикла дефектов;
  • Анализ и оптимизация процессов тестирования;
  • Составление отчетности и ведение тестовой документации.

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

Преимущества и сложности работы

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

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

Именно поэтому среди сложностей данной работы можно назвать рутинность и монотонность.

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

С чего начать

Если вы решили пробовать себя в тестировании, помимо задатков, описанных выше, у вас должна быть минимальная теоретическая база. Рекомендуем начать с азов и прочесть главные книги по QA – «Тестирование.com» Романа Савина и «Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений» С. Канера, Дж. Фолка, Е.К. Нгуен.

Следующий момент – владение английским языком не ниже уровня B1. Дело в том, что большинство тестировщиков работают на международных проектах, где без английского никак нельзя. Если вы чувствуете потребность освежить знания или подтянуть техническую лексику, запишитесь на курсы английского языка для тестировщиков.

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

Джуниор

Получив первую заветную работу тестировщиком, вы будете квалифицироваться как младший специалист по тестированию (Junior QA Engineer/Tester). На эту должность попадают соискатели с минимальным опытом работы или вовсе без него.

В обязанности младшего QA-специалиста входит ручное тестирование по готовым сценариям и написание базовых тест-кейсов. Всю работу контролируют более опытные специалисты. При этом начальная средняя зарплата Junior QA Engineer в Беларуси составляет около 300 USD, а по истечении года работы стремится к 500 USD.

Миддл


После 2-3 лет работы вы скорее всего получите повышение и станете Middle QA Engineer/Tester. На этом этапе от вас будут ожидать самостоятельного составления сценариев тестирования, оформления технической документации, некоторых знаний автоматизированного тестирования. Дополнительно потребуется понимание программного кода и знание таких технологий, как ASP.NET, методологии Scrum. Средняя заработная плата миддла – 700 USD.

Синьор

Когда за вашими плечами накопилось года 3-4 работы, вы можете претендовать на должность старшего специалиста по тестированию (Senior QA Engineer/Tester). Круг задач синьора расширяется и включает в себя планирование процессов тестирования, контроль работы младших специалистов. В Беларуси средняя заработная плата старшего специалиста по тестированию достигает 1500 USD в месяц.

Лид

Имея более 5 лет профессионального опыта, вы можете перейти в разряд ведущих специалистов по тестированию (Lead Software Testing Specialist). На этом уровне от вас требуются как профессиональные компетенции, включая анализ рисков, оценку сроков и бюджета проектов, определение области автоматизации тестирования, так и навыки проектного менеджмента. Ведь лиды координируют процесс тестирования в рамках небольших рабочих групп. Лид может претендовать на 2000 USD ежемесячно.

Альтернативные пути развития

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

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

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

QA-инженер

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

QA-инженер – Quality Assurance engineer (Quality Assurance дословно означает «обеспечение качества») — это специалист по функциональному тестированию программного обеспечения на этапе разработки. На практике иногда ошибочно считают, что QA-инженер и тестировщик ПО — это одно и то же. На самом деле, тестировщик программного обеспечения занимается тестировкой уже готового ПО, а QA-инженер работает над формированием процессов тестирования на этапе разработки, которые в результате обеспечат повышение качества ПО.

Внутри процесса QA выделяют процесс Quality Control — контроль качества продукта. QC-специалисты анализируют результаты тестирования и отвечают за выявление и уничтожение дефектов в программном обеспечении. А тестировщик ПО является ещё более узким специалистом в пределах QC: он исследует готовое ПО на наличие багов (ошибок) и документирует выявленные дефекты. То есть, тестирование ПО является одним из этапов в процессе QA/QC – обеспечения и контроля качества.

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

Но чтобы стать хорошим QA-инженером необходимо пройти позицию тестировщика по всем этапам.

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

  • Test Analyst занимается статическим тестированием требований и проверкой их полноты и достаточности;
  • Test Designer формирует набор тестов на базе этих требований, создаёт конфигурации тестирования;
  • Test Executor исполняет тестирование, документирует найденные баги (ошибки) и шаги их воспроизведения;
  • Test Manager осуществляет планирование и контроль тестировочных работ, коммуникации с заинтересованными лицами по проекту (так называемыми стейкхолдерами).

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

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

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

Особенности профессии

Функциональные обязанности QA-инженера:

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

Плюсы и минусы профессии

Плюсы

  • Возможность (и необходимость!) постоянного повышения профессионального уровня в соответствии с прогрессом IT-отрасли и сферы бизнеса. Профессия не позволяет расслабиться и умственно деградировать, заставляет быть в курсе новых технологий.
  • Высокая оплата труда.
  • Престиж и всё возрастающая востребованность профессии в будущем.

Минусы

  • Главный минус — рутинная и монотонная работа при прохождении тест-кейсов в ручном тестировании и работе с документацией.
  • Один общий минус для всех профессий IT-сферы — постоянная сидячая работа за компьютером.
  • Возможное недовольство заказчика результатом работы.
  • Большое количество заинтересованных лиц в каждом проекте, у которых свои пожелания и требования: заказчики, разработчики, пользователи.

Место работы

IT-компании; независимые компании по тестированию; крупные компании, внедряющие свои программы.

Важные качества

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

Для успешной работы QA-инженеру необходимо:

  • высшее техническое образование в сфере IT-технологий по специальности «Информационные системы и технологии» или «Автоматизация систем обработки информации и управления»;
  • знание Unix\Linux систем на уровне продвинутого пользователя;
  • знание SQL (PL\SQL, MySQL, Oracle);
  • хорошее знание методов тестирования;
  • опыт автоматизации тестирования (знание программ Silk Test или Rational Robot);
  • опыт функционального тестирования распределенных систем;
  • опыт программирования на Java;
  • технический английский (upper-intermediate).

Оплата труда

Зарплата на 11.11.2020

Оплату труда продвинутых QA-инженеров можно сравнить с зарплатой программистов.

Ступеньки карьеры и перспективы

Существует 4 уровня квалификации:

  1. Trainee QA Engineer — начинающий специалист.
  2. Junior QA Engineer — специалист, проработавший в должности от 1 до 6 месяцев и имеющий определённые навыки в работе. Знающий, что такое тест-план, тест-кейс, тест-сьют, тест-степ, тест-дизайн в общих чертах, Definition of Done. Имеющий представление о дефектах Severity и Priority. Базовые навыки SQL — селект, упдейт.
  3. Middle QA Engineer — специалист среднего уровня квалификации, со стажем работы от 1 до 3 лет, умеющий работать самостоятельно и консультирующий младший персонал.
  4. Senior QA Engineer — специалист высшей квалификации, выполняющий самые сложные технические задачи широкого спектра, используя разные виды тестирования.

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

  • в направлении QA team lead — QA-manager — Head of QA department, то есть до позиции начальника смены или направления внутри отдела;
  • до позиции разработчика, руководителя разработчиков, аналитика, архитектора вплоть до руководителя проекта внутри компании.

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

В ходе карьерного роста можно переквалифицироваться в бизнес-аналитики или программисты, развиваться как управленец в направлении senior project manager — CTO.

Очень важная для вас статья:  Здоровье Канада
Добавить комментарий