Что вы понимаете под работой тестера. Тестировщик программного обеспечения — востребованная профессия

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

Общее описание

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

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

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

Образование

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

Высшее техническое образование в области информационных технологий хоть и не является необходимым условием для соискателя на вакансию тестировщика, но, как правило, работодатели в первую очередь рассматривают именно таких кандидатов, поскольку подобный диплом свидетельствует о наличии у специалиста базовых навыков в программировании и знаний основных технологий. Читатель «Энциклопедии карьеры» Виталий Анатольевич Мальцев замечает: «Лично я жду от программиста знания принципов программирования, хорошего владения здравой логикой, умения учиться и адаптироваться к существующим задачам. И обязательно этот человек должен иметь определенный склад мышления. Если он не знает сегодня PHP, а завтра это знание ему понадобится, то он его изучит и будет применять».

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

Смежные карьеры

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

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

Функциональные обязанности

Среди основных обязанностей специалиста по функциональному тестированию ПО выделяются следующие:

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

Навыки

Тестировщик – специалист, обладающий хорошей памятью, умеющий быстро переключаться с одного типа задач на другой, способный не только написать код, покрывающий функционал, но придумать различные тесты и даже интуитивно предугадать, где может «свалиться» программа. Он должен разбираться хотя бы на уровне продвинутого пользователя в особенностях операционной системы, в которой производится тестирование, уметь пользоваться специальным ПО для автоматизированного тестирования и регистрации ошибок (WinRunner, TestComplete, TestExecute, TestRecorder), работать с необходимыми в профессиональной деятельности пакетами (различные bug-tracking системы), иметь базовые знания того языка программирования, на котором написана тестируемая программа. Также желательно наличие знаний в конкретной сфере, для которой разрабатывается софт. Например, если речь идет о программе 1С, то минимальные сведения в области бухгалтерии просто необходимы.

Из качеств, которыми необходимо обладать специалисту, можно выделить коммуникабельность и умение работать в команде, ведь в некоторых компаниях, к примеру, применяется XP-тестирование (работа в паре с другим тестировщиком). Не менее важны для соискателей терпение и усидчивость. Во-первых, потому что работа тестировщика – это кропотливый труд по проверке сотен вариантов функционирования одного модуля. Во-вторых, поскольку одной из основных обязанностей специалиста является документирование результатов своей работы (подготовка test-cases, test-plans и check-lists), а это достаточно трудоемкая задача, тем более что нередко документы приходится переписывать или редактировать от версии к версии. К тому же соискатель должен обладать здоровым любопытством, чтобы ему было интересно делать не только то, что указано в документации, а еще и пытаться экспериментировать.

Плюсы и минусы

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

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

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

Оплата труда

В большинстве случаев уровень дохода тестировщиков составляет примерно 80% от размера оплаты труда программиста и в зависимости от их опыта работы варьируется от $700–800 у новичков до $1500–2000 у профессионалов.

Перспективы

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

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

Тестировщик ПО — кто это?

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

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

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


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


  • он должен уметь организовывать свою работу в соответствии с требованиями;
  • тестировщик должен уверенно работать с ПК;
  • не лишним будет навык работы с документацией, так как её нужно будет заполнять на основе каждого тестирования;
  • нужно уметь писать так называемые баг или дефект репорты — документы, в которых описывается ситуация, повлёкшая за собой ошибку в программе, указываются причины и ожидаемый результат;
  • также нужно уметь описывать сам процесс проверки или, по-другому, шаги, необходимые для проверки, то есть создавать тест-кейсы;
  • положительно скажется на поиске работы знание английского языка;
    Этот фактор на сегодняшний день играет важную роль во многих профессиях.
  • тестировщик желательно должен уметь работать с HTML (язык разметки документов в интернете)/CSS (язык описания внешнего вида документа), XML (также язык разметки документов наряду с HTML) и SQL (язык программирования, применяемый для управления базами данных);
  • специалист должен хотя бы на базовом уровне уметь работать с автоматизацией тестирования, с такими программами Silk Test или Rational Robot.


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


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

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

Научиться всем тонкостям тестирования Вы сможете самостоятельно на онлайн курсах, вот некоторые примеры:

  • «Быстрое тестирование» (Р. Калбертсон, К. Браун, Г. Коб)
  • «Тестирование программного обеспечения» (С. Канер, Д. Фолк, Е. Кек Нгуен)

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

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

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


Итак, вот Вы выучились на тестировщика ПО. С чего же начать? Конечно, с поиска вакансий. Самое первое, что приходит в голову, это поиск работы на таких платформах как:

Также можно проштудировать биржи фриланса. Вот некоторые из них:

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

  1. Вы можете устроиться работать бесплатно на небольшой проект. Там Вы пройдёте обучение, что очень полезно, попробуете себя в практике. Такие проекты обычно не требуют от специалиста много времени (около 1 часа в день), но дают тот необходимый опыт.
  2. Мы же сами каждый день сидим в интернет на разных сайтах. Так что же мешает протестировать эти самые сайты? Никто не говорит о нагрузочном тестировании, но функциональное и тестирование удобства пользования провести вполне можно. Тем более, если Вы часто заходите на этот сайт, тестировать его должно быть легче.
    Если Вы в ходе тестирования нашли ошибки, правильным решением будет написать об этом создателям сайта. Понятно и чётко распишите найденные проблемы, причём в начало ставьте наиболее важные, спросите у адресата, корректно ли Вы это сделали, возникли у него какие-либо вопросы или нет. Письмо пишите уважительно, критика должна быть конструктивной и направленной на сайт, а не на создателя.
    Возможно, таким образом Вы даже сможете найти себе работу!
  3. Помимо сайтов можно тестировать мобильные приложения. Опять же, берите те, которыми пользуетесь и ищите ошибки, недоработки. Конструктивный отзыв также можно отправлять разработчикам приложений. Если Вы всё опишите правильно, без наездов, то, возможно, Ваш отзыв примут во внимание и исправят некоторые недочёты.
  4. Если совсем никак не получается найти баги на своих любимых сайтах, Вы можете посетить специальные сайты для тестировщиков, находящихся в общем доступе.


Чтобы окончательно понять, начинать работать в этой сфере или нет, рассмотрим основные преимущества и недостатки профессии тестировщика программного обеспечения.

Преимущества:

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

Недостатки:

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

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


Вот и подобрались мы к самому приятному. Какова же зарплата тестировщика программного обеспечения?

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

Начинающий специалист может рассчитывать на зарплату от 25 до 45 тысяч руб. Так, проработав 2-3 года и набравшись опыта, тестировщик может смело искать вакансии с заработной платой около 60 000 руб. 5 лет успешной работы вполне смогут приносить доход до 150 000 руб. в месяц. Главное — желание и готовность учиться и развиваться!

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

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

Название профессии образовано от английского слово “Test”, переводящееся как «проверка», «испытание» или же просто уже устоявшееся в русском языке «тестирование».

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

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

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

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

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

Возможные места работы

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

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

Плюсы и минусы профессии тестировщика ПО

Плюсы

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

Минусы

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

Обязанности тестировщика

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

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

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

На образовательном IT-портале GeekBrains можно освоить профессию «Тестировщик ПО » всего за 4 месяца. Во время обучения предусмотрены домашние задания, общение с живыми преподавателями, контрольные и тестовые работы. После окончания обучения выдаётся именной сертификат и возможность стажировок в настоящих IT компаниях. Средняя заработная плата тестировщика по Москве и Московской области составляет 64 000р.

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

Спешите начать обучение. Скидка на обучение профессии «Тестировщик ПО» действует для Вас всего 3 дня!

Необходимые личные качества

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

Также профессия «Тестировщик ПО» предполагает наличие терпения, целеустремлённости, усидчивости и готовности работать в команде.

Требования к тестировщику ПО

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

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

Знание технического английского языка, представление о языке SQL, знание баз данных типа MySQL и знание программ для автоматизированного тестирования (при необходимости использования) будут Вашими преимуществами на собеседовании.

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

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

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

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

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

Заключение

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

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

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

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

Каковы главные человеческие качества тестировщика

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

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

Мы собрали перечень ключевых навыков и умений тестировщиков ПО. Итак, тестировщик должен:

  • владеть английским на уровне чтения;
  • обладать терпением, внимательностью и способностью смотреть на одно и то же с разных точек зрения. Это самое важное;
  • знать, что такое юзер-стори , чек-лист и тест-кейс , уметь правильно их составить;
  • понимать, какие виды и типы тестирования бывают и когда надо их применять. Поможет разобраться: «Тестирование программного обеспечения — основные понятия и определения» ;
  • знать, как пользоваться баг-трекером. В это YouTrack , но если научился пользоваться одним — считай, что научился пользоваться всеми;
  • владеть техниками тест-дизайна, как минимум анализом классов эквивалентности и граничных значений и диаграммами переходов состояний ;
  • иметь общее представление о гайдлайнах iOS и Android ;
  • быть опытным пользователем как минимум одной из ОС;
  • понимать принципы клиент-серверного взаимодействия ;
  • тестировщик ПО должен уметь разобраться с продуктом при отсутствии документации;
  • работать с IDE (Xcode /Android Studio);
  • снифферить и модифицировать трафик через Fiddler /Charles ;
  • конструировать запросы в Postman ;
  • знать, для чего нужен browserstack ;
  • создавать эмуляторы в Genymotion, Android Studio, Xcode;
  • иметь или развивать чувство прекрасного. Тут может помочь бюро Горбунова ;
  • понимать, что такое кроссплатформенные приложения и чем они отличаются от нативных. Поможет разобраться: ;
  • работать с виртуальным окружением VirtualBox и Vagrant ;
  • понимать принцип работы и знать основные команды Git. Поможет разобраться: «Основы Git» ;
  • уметь пользоваться инструментом для разработки тестовых сценариев Selenium IDE ;
  • понимать как работает инструмент нагрузочного тестирования Yandex Tank и уметь его настроить.

Приятный плюс, если вы:

  • обладаете навыками автоматизации при помощи Appium , Katalon studio ;
  • имеете глубокие знания Selenium WebDriver ;
  • умеете организовать нагрузочное тестирование при помощи Apache jMeter ;
  • знаете, как провести тестирование безопасности для мобильного или веб-приложения.

C чего может начать новичок

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

  • «Тестирование дот ком» Романа Савина. Книга не новая, но даст базовые представления о специализации;
  • Tap into mobile application testing , Jonathan Kohl. Книга о специфике тестирования мобильных приложений;
  • гайдлайны
Понравилась статья? Поделитесь ей
Наверх