Тестировщик программ – Реально ли стать тестировщиком ПО в 39 лет, учитывая то, что основная профессия далека от IT?

Содержание

Что должен делать тестировщик при тестировании ПО

Много слышали о тестировании и примеряете на себя возможность работы в этой области? Но пока не совсем понимаете, с чем придется работать?

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

Чем занимается специалист по тестированию?

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

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

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

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

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

Изображение чеклиста для тестирования

К основным обязанностям тестировщика ПО относятся:

  •         Написание тест-кейсов и чек-листов.

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

  •         Выполнение нужного набора тестов.

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

  •         Документирование и анализ найденных дефектов.

Когда найдена ошибка, ее нужно описать. Делается это для того, чтобы разработчик ПО смог быстро понять, в какой части кода программы кроется ошибка. Сейчас тестировщики вносят все ошибки в баг-трекинговые системы, например, JIRA или TestRail. Для более подробного описания ошибок можно приложить скриншоты экранов или видео.

  •         Контроль за устранением ошибок разработчиками.

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

В процессе контроля за устранением дефектов тестировщик следит за тем, чтобы разработчик ПО своевременно устранял все ошибки и делал соответствующие отметки в системе.

  •         Разработка автоматических тестов.

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

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

Что нужно, чтобы стать тестировщиком?

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

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

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

Качества тестировщика в работе

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

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

Какие виды тестирования ПО выделяют?

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

Все виды тестирования разделяют на две группы:

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

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

Всего существуют четыре таких уровня: модульное тестирование, интеграционное, системное и приемочное.

Пример кейса по тестированию для новичков

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

Необходимо протестировать форму регистрации в социальной сети LinkedIn.

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

Форма регистрации в социальной сети LinkedIn

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

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

Тестирование формы регистрации в LinkedIn

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

Тестирование небезопасного пароля при регистрации в Linkedin

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

Далее посмотрим, как приложение поведет себя, если мы будем вводить в поля нехарактерные символы. Например, введем в поля «Имя» и «Фамилия» символы, отличные от букв.

Ввод нехарактерных символов в форму регистрации Линкедин

Форма требует указать настоящие данные. Однако это условие относится лишь к имени, о фамилии в тексте формы нет ни слова.

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

Ошибка заполнения полей при регистрации в Линкедин

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

Такой дефект можно охарактеризовать как малозначимый (minor), и относится он к пользовательскому интерфейсу.

Проверки на ввод некорректных символов нужно провести для всех полей.

Далее посмотрим, как поведет себя форма при вводе корректного электронного адреса. Например:

Ввод корректного имейла в форму регистрации Linkedin

Форма приняла этот адрес и инициировала проверку безопасности. Адрес был введен корректно, структура соблюдена, присутствует символ «@».

Быстрая проверка безопасности при регистрации в Линкедин

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

Итог

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

Ведь хороший специалист по тестированию ПО всегда будет востребован как дома, так и за границей. Дерзайте!

Тестировщик — Википедия

Тестиро́вщик — специалист, принимающий участие в тестировании компонента или системы.[1] В его обязанность входит поиск вероятных ошибок и сбоев в функционировании объекта тестирования (продукта, программы, и т.д.). Тестировщик моделирует различные ситуации, которые могут возникнуть в процессе использования предмета тестирования, чтобы разработчики смогли исправить обнаруженные ошибки.

«Если взглянуть на IT-проект как на дорожное приключение, то большинство проектов скорее похожи на вождение внедорожника по горам, ночью. Таким проектам необходим свет фар. Именно тестировщик освещает путь перед программистами, менеджерами, может быть они увидят по карте, мимо чего они проезжают и как близко находятся к краю скалы.
Сем Канер, Lessons Learned in Software Testing
»

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

По субъекту тестирования[править | править код]

Альфа-тестировщик — сотрудник компании, который непрофессионально проводит тестирование программы, находящейся на стадии разработки («Альфа-версия», как правило не полнофункциональная): тестировщик, программист, бухгалтер и т.п.[3]

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

Ряд пользователей добровольно участвует в бета-тестировании программного обеспечения.

По деятельности[править | править код]

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

Тест-дизайнер на основании информации, полученной от аналитика, приступает к разработке тестов.

Тестировщик проводит непосредственно тестирование по уже готовым тест-кейсам.[4]

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

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

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

Некоторые утверждают[источник не указан 3121 день], что специфика профессии заключается в видимом однообразии и монотонности трудового процесса; по мнению других[источник не указан 3121 день], тестирование является творческой исследовательской работой (в противовес стандартизированной разработке).[5]

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

Основными требованиями к соискателю, как правило, являются:

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

Неофициально отмечается 9 сентября в память о шуточном случае нахождения ошибки.

Считается, что у тестировщиков есть особая карма: стоит появиться тестировщику, как сразу вся техника ломается. На самом деле, это скорее следствие профессиональной внимательности к окружающей действительности.[6]

Существует множество анекдотов, в которых рассказывается о забавных случаях и поведении тестировщиков в обычной жизни. Один из самых известных.

«Заходит однажды тестировщик в бар…

Забегает в бар. Пролезает в бар. Танцуя, проникает в бар. Крадется в бар. Врывается в бар. Прыгает в бар

и заказывает: кружку пива, 2 кружки пива, 0 кружек пива, 999999999 кружек пива, ящерицу в стакане, −1 кружку пива,

qwertyuip кружек пива.
»
  • Савин Роман, Teстирование дот ком или пособие по жестокому обращению с багами в интернет-стартапах — М : издательство «Дело», 2007
  • Cem Kaner, James Bach and Bret Pettichord (2002). Lessons Learned in Software Testing: A Context-Driven Approach. John Wiley & Sons. p. 314. ISBN 9-780-47108112-8.

Как стать тестировщиком — необходимые знания и навыки / Mail.ru Group corporate blog / Habr


Источник

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

Компании и частные разработчики ежедневно выпускают тысячи разнообразных программ. Некоторые из них становятся популярными, другие — нет. И в подавляющем большинстве случаев в топы выходят те приложения, у которых не только интересный, запоминающийся дизайн, но и высокий уровень usability. Хорошее приложение должно быть удобным, стабильным и безопасным. Довести программное обеспечение «до кондиции» помогают как раз инженеры по тестированию ПО.


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

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

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


Образование, опыт и знания

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

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

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

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


  • Проведение и документирование автоматических и «ручных» тестов и процедур. Анализ результатов, составление отчетов о проблемах и ошибках.
  • Выполнение тестирования программного обеспечения в течение всего цикла разработки и жизненного цикла ПО.
  • Понимание различных методов разработки и организации работы над проектом, включая Agile и Scrum.
  • Владение несколькими инструментами тестирования.
  • Знакомство и общее владение UNIX, Linux и Windows, включая командную строку.
  • Умение работать одновременно над несколькими задачами.
  • Коммуникационный навык, как вербальный, так и письменный. Умение общаться с разработчиками, менеджментом, клиентами.
  • Базовое знание языков программирования и фреймворков, например, Java, JavaScript, C# или C++, SQL, Python, PHP и Ruby on Rails (не обязательно знать сразу все эти языки, это лишь пример).

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

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


Что, если опыта и знаний нет?

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

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

Для получения хорошей работы стоит попробовать пройти сертификацию. В США ценится ISTQB, сертификацию проводит организация American Software Testing Qualifications Board (ASTQB). Есть и международные сертификаты, например CSTE (сертификацию проводит The International Software Certification Board (ISCB)). Правда, во втором случае необходима степень бакалавра и двухлетний опыт работы в сфере IT.

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


Финальный этап — получение работы

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

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

Как стать тестировщиком ПО: от собеседования до поиска первого бага

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

Руководитель отдела тестирования компании 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 — в книге расписаны виды тестирования как «белым», так и «чёрным» ящиком. Перечислены различные техники тестирования, а также то, как ими пользоваться и когда лучше применять. В книге можно найти интересную статью об исследовательском тестировании, которая очень полезна для начинающих тестировщиков.

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

Заключение

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

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

Как развиваться начинающему тестировщику? / Habr

На форуме тестировщиков и в блогах часто появляются вопросы: с чего начинать тестировщику, который только-только выбрал свою стезю?

С одной стороны, сейчас много курсов в этой области, которые проводятся на базе портала Software-Testing.Ru, УЦ Luxoft, EPAM Systems и т.д.
С другой стороны, начинающему тестировщику далеко не всегда нужны курсы. Если вы ещё не знаете, в каком направлении развиваться, какие области интересны, какие знания хочется получать – то о каких курсах идёт речь? А комплексного ВУЗовского образования для тестировщиков в СНГ пока что нет… В итоге, многие люди не могут быстро «влиться» в профессию, найти направление для развития и понять, «что и как надо изучать для быстрого старта?».

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

Итак, 7 шагов от чайника к тестировщику.


1. Прочитайте как минимум одну книгу по тестированию

Этот пункт поможет ознакомиться со сленгом тестировщиков, понять общие принципы и понять, насколько вообще эта отрасль для вас интересна. Для начала наиболее понятной и доступной будет книга Романа Савина про тестирование веб-проектов. Она написана настолько легко и весело, что проблемы «сложно дочитать» точно не возникнет: наоборот, вы не сможете оторваться, пока не дочитаете. А времени это займёт немного, 4-6 часов – и готово!
В качестве альтернативы, могу порекомендовать Библию Тестировщиков от Сэма Канера, потёртый печатный экземпляр которой попал мне в руки впервые почти 10 лет назад. Этой книге более 20 лет, поэтому она может ввести начинающего тестировщика в заблуждение «печатью баг-репортов в трёх экземплярах» или особенностями тестирования консольных приложений. Но при этом в ней в замечательной, доступной форме перечислены все ключевые вопросы тестирования, затронута тема коммуникаций в тестировании (которая важна, и которую пока никто пока что не описал лучше).
2. Просмотрите вакансии и оцените, что чаще всего требуется от тестировщиков

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

Наверное, вы думали, что следующим этапом будет «прочитать книгу по выбранному инструменту» или «поиск информации на форуме»? Как бы ни так!
Знания без практики ничего не стоят, поэтому, при изучении любых новых навыков, вам потребуется практика. В худшем случае, выберите для себя задания, максимально приближенные к жизни, и выполните их. В лучшем – найдите короткую подработку. На портале фрилансеров вы всегда сможете найти задачи по тестированию. Честно признавайтесь, что вам это нужно для обучения, и просите в 10 раз меньше других. Не жадничайте – это единственный способ получить реальную жизненную практику, и не забудьте получить отзывы!
В качестве альтернативы фри-лансу, если у вас хороший английский, рассмотрите uTest – этот сервис объединяет удалённых тестировщиков по всему миру.
Выбирайте задачи, которые будут для Вас достаточно интересны и сложны, чтобы была возможность осваивать что-то новое.
4. Станьте регулярным читателем форума для тестировщиков

В процессе решения задач у вас обязательно возникнут сложности и вопросы, на которые вам смогут ответить на форуме. Помимо решения конкретных проблем, форум также позволяет быть всегда в курсе нововведений, наблюдать за трендами отрасли. В книгах новые темы появляются с задержкой в несколько лет, что уж говорить о русскоязычных книгах!
Самым распространённым форумом для тестировщиков в СНГ является Форум Software-Testing.Ru.
Если же у вас хорошо с английским языком (а в тестировании он очень важен!), то особо полезным будет самый крупный англоязычный форум SQA Forums. На этом ресурсе, если повезёт, на ваши вопросы могут ответить такие признанные мировые гуру, как Сэм Канер, Джеймс Бах, Ричард Блэк и другие.
5. Подпишитесь на рассылку для тестировщиков

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

Сейчас во всех крупных городах стали появляться клубы тестировщиков. Благодаря им, можно ходить на регулярные бесплатные встречи, общаться в среде специалистов, знакомиться, задавать вопросы и получать ответы. Также, клубы – это прекрасная возможность поиска работы, так как на них часто ходят тест-менеджеры.
Свои сайты уже есть у сообществ Москвы, Санкт-Петербурга, Новосибирска, Казани, Харькова, Днепропетровска и Бишкека.
А если вашего города нет в списке — то просто создавайте свой клуб! И вам польза, и всем тестировщикам вашего города.
7. Создайте свой блог и начните учить других тому, что вы уже освоили.

Обучение — лучший способ познания! Каждый из нас решает задачи по-своему, находя уникальные пути. Возможно, именно ваш способ будет лучшим, оптимальным? Для создания блога вы можете использовать простой и абсолютно бесплатный движок Blogspot, а чтобы о нём узнали другие тестировщики, добавьте его в трансляцию тест-блогов.
Тогда, полученные вами знания не запылятся, вы получите полезную обратную связь от опытных тестировщиков, структурируете полученные знания и даже, возможно, заинтересуете кого-либо, кто ищет себе сотрудников 🙂
Результаты выполнения 7 шагов

  • Вы получите необходимые знания и опыт
  • Разберётесь с требованиями в отрасли
  • Немножко заработаете на utest и/или free-lance
  • Завяжете массу полезных контактов
  • С удовольствием проведёте время в клубах и сообществах
  • Поделитесь интересными наработками с ещё более «начинающими» тестировщиками

И главное: никаких затрат, только плюсы!

Готовы?

Тогда вперёд!

Курс Профессия Тестировщик. Обучение на Тестировщика онлайн

  • Основы тестирования веб-приложений

    • Кто такой тестировщик.
    • Основы архитектуры клиент-сервер.
    • Тестирование веб-страницы.
    • Оформление отчета об ошибке.
  • Тестирование текстовых полей

    • Понятие баг-репорта.
    • Веб-формы и какие они бывают.
    • Тестирование формы с одним полем.
    • Проверка вводимых данных.
  • Тестирование текста, чисел и дат с граничными значениями

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

    • Какими бывают спецификации.
    • Что такое хорошая спецификация.
    • Как оформлять свою работу: правила написания баг-репорта.
  • Тестирование форм регистрации

    • Основы тестирования форм регистрации.
    • Тестирование поля «e-mail».
    • UX-тестирование. Проверяем понятность формы регистрации.
  • Тестирование форм авторизации и восстановления паролей

    • Введение в тестирование форм авторизации.
    • Чит-лист по проверке формы авторизации.
    • Тестирование формы восстановления паролей.
    • Углубленное тестирование формы авторизации.
  • Тестирование дополнительных элементов интерфейса

    • Сложные элементы веб-форм: checkbox, radio button, select.
    • Чит-лист для проверки checkbox, radio button, select.
    • Тестирование кнопок.
    • Тестирование формы выбора даты.
  • Расширенные техники тестирования

    • Углубленное тестирование текстовых полей.
    • Тестирование способов ввода.
  • Тестовые сценарии: позитивные и негативные

    • Работа со сложными задачами тестирования.
    • Как составлять чек-лист.
    • Тестовые сценарии как инструмент тестирования.
    • Позитивные и негативные тесты.
  • Кроссплатформенное и кроссбраузерное тестирование

    • Пользователь мобильных устройств.
    • Тестирование сайтов на мобильных устройствах.
    • Тестирование сайтов на разных операционных системах.
    • Тестирование в разных браузерах.
  • Дополнительные инструменты тестирования

    • Техника тест-дизайна.
    • Сервисы для тестирования.
    • Полезные приложения для тестировщика.
  • Курс «Веб-верстка для начинающих 2.0» 

  • Курс «Язык запросов SQL»

  • Курс «Система контроля версий Git» 

  • Chrome DevTools, часть 1

    • Что такое Chrome DevTools.
    • Вкладка Elements.
    • Вкладка Console.
    • Вкладка Source.
  • Chrome DevTools, часть 2

    • Вкладка NetWork.
    • Вкладка Security.
  • Chrome DevTools, часть 3

    • Вкладка Performance.
    • Вкладка Application.
    • Вкладка Network Conditions.
  • Тестирование безопасности

    • Что такое тестирование безопасности.
    • Виды уязвимостей.
    • Что такое SQL-инъекция.
    • Поиск SQL-инъекций.
    • Что такое HTML-инъекция.
    • Поиск HTML-инъекций.
    • Что такое XSS-уязвимость.
    • Поиск XSS-уязвимостей.
    • Что такое CSRF-уязвимость.
    • Поиск CSRF-уязвимостей.
  • Нагрузочное тестирование

    • Что такое нагрузочное тестирование.
    • Задачи нагрузочного тестирования.
    • Пример нагрузочного тестирования через loadimpact.com.
    • Основные метрики нагрузочного тестирования.
    • Пример нагрузочного тестирования через pro.loadstorm.com.
  • Тестирование UI, UX, юзабилити

    • Что такое UI и UX.
    • Метрики тестирования для UX.
    • Простое UX-тестирование интерфейса.
    • Методы проведения UX-тестирования.
    • Составление требований UX.
    • Составление карты приложения как один из показателей UX.
  • Приемочное тестирование

    • Что такое приемочное тестирование. 
    • Отличие приемочного тестирования от функционального.
    • Что проверять во время приемочного тестирования.
    • Составляем план приемочного тестирования.
  • Курсовая работа по тестированию веб-приложений

  • Тестирование мобильных приложений — ТМП

    • Знакомство с приложением на Android.
    • Особенности мобильного тестирования.
    • Выбор особенностей для приложения.
    • Регистрация на ферме.
    • Особенности для карт.
  • ТМП: выбор девайсов

    • Фрагментация и device-specific bugs.
    • Признаки различия девайсов.
    • Версии ОС, производители и бюджет.
    • Подбор девайсов по версии.
    • Экраны.
    • Подбор девайсов по экрану.
    • Статистика. Подбор девайсов по статистике.
    • Эмуляторы/симуляторы, фермы и свой парк.
    • Выбор девайсов для приложения.
  • ТМП: Android 1

    • Android SDK и Android Studio.
    • Установка и настройка Android Studio.
    • Установка и настройка эмулятора.
    • Установка приложения на девайс и эмулятор.
    • Настройка ADB.
    • Создание эмулятора для тестирования.
  • ТМП: Android 2

    • Функции эмулятора.
    • Скриншоты и видео.
    • Что такое GPS.
    • Работа с GPS в эмуляторе и реальном приложении.
    • Сторонние эмуляторы.
    • Функции режима разработчика.
  • ТМП: Android 3

    • Функционал ADB.
    • Логи и уровни логирования.
    • Просмотр логов: AS и adb.
    • Monkey testing и самостоятельный запуск.
  • Курсовая работа по тестированию мобильных приложений

  • Введение в автоматизированное тестирование

    • Автоматизация тестирования.
    • Задачи автоматизации тестирования.
    • Необходимый набор знаний для автоматизации.
    • Selenium IDE — автотесты без программирования.
    • Проектирование тест-кейсов.
  • Введение в программирование

    • Первый проект и программа.
    • Изменения для первой программы.
    • Типы переменных.
    • Работа с типами переменных.
    • Условные выражения.
    • Практика на условные выражения.
    • Циклы.
    • Область видимости.
    • Практика на циклы.
    • Массивы.
    • Работа с массивами и циклами.
  • Введение в ООП

    • Что такое ООП и какие у него возможности.
    • Создание класса.
    • Создание объекта класса.
    • Статические методы класса.
    • Модификаторы доступа.
    • Наследование классов.
    • Полиморфмизм в ООП.
    • Инкапсуляция.
  • Тестовый фреймворк на примере JUnit

    • Понятие фреймворка.
    • Установка Maven и JUnit.
    • Простой тест на JUnit.
    • Предусловия и постусловия JUnit.
    • Типы assert.
  • UI-тесты: простые тесты для веб

    • Понятие Selenium и запуск сервера.
    • Обзор драйверов для браузеров.
    • Capabilities для веба.
    • Открытие страницы.
    • Локаторы: xpath-локатор, css-локатор.
    • Первый UI тест: переход по URL и поиск элемента.
    • Клик элемента.
  • UI-тесты: сложные тесты для веб

    • Паттерн PageObject.
    • Ожидание элемента.
    • Составление PageObject-класса.
    • Работа с фокусом.
    • Ожидание URL, работа с редиректами.
    • Универсальный метод: выполнение кастомного JS.
    • Сложный Selenium-тест.
  • UI-тесты: простые тесты для Android и iOS

    • Установка Appium Desktop.
    • Запуск эмулятора Android.
    • Capabilities для Android.
    • Простой тест для Android.
    • Запуск симулятора iOS.
    • Capabilities для iOS.
    • Простой тест для iOS.
  • UI-тесты: сложные тесты для Android и iOS

    • Ожидание и получение элемента.
    • Тест на sendKeys.
    • Тест на touch.
    • Тест на swipe.
    • Тест на scroll.
    • Тест на background приложения.
  • Работа с CI

    • Понятие CI и возможности.
    • Виды CI и их отличия.
    • Установка консольного Appium и Jenkins.
    • Запуск тестов для веб.
    • Настройка билда для автозапуска Android и iOS.
  • API тесты

    • Понятие API и REST API.
    • Тестирование с помощью CURL.
    • Понятие Postman и установка.
    • Автоматизация с помощью Postman.
    • Автоматизация с помощью библиотеки Rest Assured.
    • Тест для API на Rest AssuredI.
  • Нагрузочные тесты

    • Нагрузочное тестирование и стресс-тестирование.
    • Установка JMeter.
    • Простой тест на JMeter.
    • Сложный тест на JMeter.
  • Курсовая работа по автоматизированному тестированию

  • что нужно знать, где учиться и искать работу

    IT-расследование: как стать тестировщиком программного обеспечения

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

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

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

    Задачи, которые ставятся перед тестировщиком

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

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

    IT-расследование: как стать тестировщиком программного обеспечения

    JavaScript. Быстрый старт

    Изучите основы JavaScript на практическом примере по созданию веб-приложения

    Узнать подробнее

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

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

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

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

    Немного из истории тестирования

    Знаете, когда тестировщики отмечают свой профессиональный праздник? 9 сентября. Именно в этот день, в 1945 году ученые из Гарварда тестировали вычислительную машину и нашли в ней бабочку, которая застряла в электромеханическом реле.
    Они подробно документировали проделанную работу и внесли в отчет слово «дебаггинг» («debugging»), означающее «избавление от насекомого». Теперь на языке тестировщиков это слово используется для обозначения процесса поиска и устранения багов — причин неправильной работы оборудования, программы или игры.

    Как и где учиться на тестировщика?

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

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

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

    IT-расследование: как стать тестировщиком программного обеспечения

    JavaScript. Быстрый старт

    Изучите основы JavaScript на практическом примере по созданию веб-приложения

    Узнать подробнее

    Во-вторых, на курсах часто учат вещам, весьма отдаленным от реальной жизни. Больше теории, а не практики.

    В-третьих, зачем ходить на курсы, если есть онлайн-уроки по тестированию, форумы, книги, в конце концов. Чаще всего новичкам советуют читать «Библию тестировщика» Сэма Канера, «Тестирование DOT COM» и «Тестирование веб-проектов» Романа Савина. Все, что вам расскажут на курсах, взято из Гугла и книг, только проанализировано и структурировано.

    Что нужно знать тестировщику

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

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

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

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

    Попрактикуйтесь в написании запросов к базам данных. Стандартные вопросы по SQL, которые вам могут задавать на собеседовании: select, join (full, left, right), update, like, delete, where, functions, insert. И это минимум — лучше ориентироваться и в других понятиях.

    Немаловажны знания принципов работы сетей. Вы должны уметь настроить локальную сеть, знать, что такое HTTP, TCP/IP, OSI, PING между компьютерами.

    Для тех или иных проектов могут требоваться знания по JSON, XPath, Jira, TestComplete, GIT, HTML, CSS, SVN, RedMine, XML, Ranorex, Selenium RC/GRID, CssSelectors, TrackStudio и т. д. Большинство из этих программ и технологий учатся за неделю. Так что не переживайте, если видите незнакомые слова.

    Как найти работу тестировщиком?

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

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

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

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

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

    IT-расследование: как стать тестировщиком программного обеспечения

    JavaScript. Быстрый старт

    Изучите основы JavaScript на практическом примере по созданию веб-приложения

    Узнать подробнее IT-расследование: как стать тестировщиком программного обеспечения

    Хотите узнать, что необходимо для создания сайта?

    Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

    Смотреть видео

    Добавить комментарий

    Ваш адрес email не будет опубликован.