Тестировщик программного обеспечения – человек, без работы которого не обходится ни один качественный продукт. Какие скилы и знания необходимы тестировщику? Сегодня найдем ответ на эти и многие другие вопросы.
Тестировщики, Quality Assurance Engineers и Quality Control специалисты – члены команды разработки продукта, которые занимаются поиском ошибок и сбоев, отвечают за качество продукта, проверяют итоговый результат на соответствие требованиям заказчика, документируют все проблемы и постоянно коммуницируют с разработчиками и другими членами команды.
Специалист по тестированию может смело считать себя инженером, ученым и исследователем, ведь он постоянно пытается смотреть на привычные вещи под другим углом. Конечно, тестировщики занимаются поиском ошибок и дефектов, описывают их, создают тест-кейсы и чек-листы. Тестировщикам приходится постоянно разбираться с разными продуктами, особенностями сферы, в которой он используется и спецификой домена проекта.
Чтобы эффективно справляться с работой тестировщика, вам понадобятся определенные навыки и знания – начнем с них. А после поделимся ссылками на полезные книги, YouTube-каналы и сервисы. В конце материала опытные тестировщики ISsoft дадут советы, которые помогут правильно развиваться в тестировании.
Какие навыки нужны тестировщику?
Для того чтобы работать в тестировании, нужны определенные профессиональные знания, которые относят к hard skills, и гибкие навыки – soft skills, которые помогут вам развиваться в профессии и продуктивно работать.
Soft skills, необходимые тестировщику:
- Коммуникация. Один из важнейших навыков, включающий в себя несколько умений. Это способность грамотно задавать вопросы и общаться с коллегами. Тестировщик – член команды, который отвечает за качество продукта, а значит ему нужно понимать, как он будет воспринят пользователями и с какими техническими трудностями может столкнуться его команда разработки. Для того чтобы самому во всем разобраться, важно правильно сформулировать вопросы ко всем сторонам. Например, вы нашли баг, но сомневаетесь, что его градация критическая по серьезности (Severity) – тогда вам нужно пообщаться с разработчиками, чтобы понимать, какую роль в продукте играет обнаруженная деталь. Для этого нужно уметь правильно задать вопрос и найти подход к коллеге. Тут важно показать тому, у кого спрашиваете, что уже изучали вопрос и пытались найти ответ, чтобы собеседник видел, что вы заинтересованы в его помощи и уже что-то делали сами.
- Умение четко формулировать свои мысли. Оно пригодится вам в ежедневной работе: вы будете описывать найденную ошибку, ее локализацию и поведение для программистов. Чтобы разработчик не читал от вас сочинения на вольную тему и потом не тратил время на то, чтобы вас понять, ваши описания должны быть максимально лаконичными. Для этого нужно учиться излагать свои мысли простыми предложениями, кратко и понятно.
- Навык оценки важности. Вы должны будете постоянно присуждать каждой найденной ошибке степень важности. Этот навык связан с первым: коммуникацией. Для правильной оценки уровня ошибки вам нужно будет понять приоритетность функций продукта для своего проекта.
- Критическое мышление. Оно пригодится вам для того, чтобы с сомнением смотреть на каждую деталь продукта. Также с его помощью вам необходимо будет анализировать результаты тестирования, связывать их с алгоритмом ваших действий. Если вы захотите продвинуться по карьерной лестнице и заняться автоматизированным тестированием, то вам придется писать код и использовать программы, которые будут самостоятельно запускать и проводить тесты, а вам останется качественно проанализировать выявленные сбои.
Hard skills:
- Понимание методологий разработки ПО. На каждом проекте используется определенная методология разработки, представление о которой вам нужно иметь. Так как в каждой из них есть свои особенности и стадии, вы должны понимать, когда начинается процесс тестирования и какие стадии будет проходить продукт после вас.
- Знакомство с видами тестирования. Существуют различные виды тестирования, у каждого из которых своя специфика и назначение. Для того чтобы выполнять работу эффективно и быстро, вам нужно будет понимать, какой вид тестирования вам нужен и как грамотно и эффективно его проводить.
- Владение OC Windows и Linux на высоком уровне. Кроме очевидного использования этих навыков для инсталляционного вида тестирования, необходимо в деталях понимать работу операционных систем для корректной настройки окружения и для предотвращения неожиданностей, связанных с влиянием тех или иных особенностей функционирования ОС на работу тестировщика.
- Представление о client-server архитектуре. Эти знания пригодятся для того, чтобы понимать, как работает продукт, который вам нужно проверить, и чтобы вы могли самостоятельно определить, на чьей стороне находится обнаруженная вами проблема. Например, неработающий элемент на сайте – это недочет фронтенд-разработчиков или же проблемы со стороны серверной части?
- Начальные знания SQL. Более 95% веб-приложений используют реляционные базы данных для хранения информации, поэтому язык запросов SQL пригодится для понимания процессов взаимодействия приложения с БД и проверки ее работоспособности. В будущем вам пригодится SQL, если вы решите заняться не ручным, а автоматизированным тестированием.
Как начинающему тестировщику, вам обязательно нужно знать:
- что такое user-story;
- как писать тест-кейсы и тест-планы;
- что такое жизненный цикл дефекта;
- как работать с системами управления требованиями и сценариями тестирования;
- основы работы с Git.
Другие полезные навыки для тестировщиков:
- Усидчивость. Умение долго работать над одной задачей — важный навык как для начинающего, так и для опытного тестировщика. В работе немало рутинных моментов, и от того, насколько внимательно и детально вы их проработаете, может зависеть успех всего продукта.
- Внимательность. Внимание к деталям поможет вам смотреть на продукт и увидеть его слабые места, малейшие недочеты, а значит найти интересные подходы к его тестированию и баги.
- Любознательность. Черта, которая поможет вам продуктивно работать. Благодаря любопытству вы сможете составить тест-кейсы, которых еще не было и найти скрытые от глаз дефекты.
- Ответственность. Во-первых, ответственный специалист – это тот, кто выполняет задачи не откладывая и точно в срок. Во-вторых, тот, кто доводит даже самые сложные и рутинные задачи до конца. Такой подход к рабочему процессу положительно скажется на качестве продукта и позволит вам быстро расти.
- Английский язык. Наверное, вы уже заметили, что в IT-сфере без английского языка не может качественно работать ни один специалист. И вы не исключение. Обычно test cases пишутся на английском языке, также в тестируемом продукте может использоваться только иностранный язык, ваши заказчики и члены команды тоже могут разговаривать только на английском. Да и что скрывать, большой объем литературы, которая вам пригодится, также опубликована на английском и еще не переведена на русский.
Как развиваться начинающему тестировщику?
Мы выяснили, какими навыками и качествами должен обладать человек, который хочет прийти в профессию. Давайте теперь поговорим о том, как можно развиваться. Подготовили для вас много полезных материалов для вашего профессионального роста.
Самостоятельное обучение
Для этого нужно большое желание и мотивация. На курсах вам преподают структурированную чистую информацию, однако необходимую литературу вы точно сможете найти в интернете самостоятельно. Начинать обучение стоит с прочтения профессиональных базовых книг, которые введут вас в мир IT, объяснят то, что нужно для дальнейшего повышения ваших навыков и умений. После того как вы прочитаете пару профессиональных книг, советуем вам попробовать себя за написанием test cases на практике, посмотреть, с какими программами работают специалисты, установив их, и разобраться в механике действий.
Предлагаем вам подборку полезных материалов для изучения тестирования.
Книги для начинающих тестировщиков
- “Тестирование DOT COM” Романа Савина. Книга подробно и понятно объясняет все понятия, показывает работу тестировщика на примерах и будет полезна каждому начинающему тестировщику.
- “Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем”, Борис Бейзер. После прочтения этой книги вы будете знать, как найти максимальное количество ошибок при минимальном количестве затрат.
- “Как тестируют в Google”, Джеймс Уиттакер, Джейсон Арбон, Каролло Джефф. Название книги говорит само за себя.
Предлагаем начать с этих книг и обязательно отправляться практиковать полученные знания.
Полезные ресурсы
- Heisenbug. YouTube канал от команды конференции Heisenbug. Ведущие и гости выпусков обсуждают новости QA-индустрии, говорят о технологиях, жизни и конференциях.
- Видеолекции, курс тестирования от mail.ru. Плейлисту на YouTube уже пять лет, но он все еще полезен начинающим тестировщикам.
- Форум тестировщиков. Настоящий форум с ветками обсуждения.
- Radio QA. Сайт с подкастами для тестировщиков.
- Software Testing Tutorial: Free QA Course. Бесплатный онлайн-курс по тестированию. Обратите внимание на то, что все материалы в нем на английском языке.
- Black Box Software Testing course. На сайте много полезных видео, лекций и материалов. Осторожно, английский.
Курсы тестирования
Еще один способ научиться тестированию – курсы. В Минске, например, их более пятидесяти. Бывают даже бесплатные наборы, попасть в которые можно хорошо пройдя отборочное испытание. Там преподаватели расскажут вам все, что должен знать специалист на базовом уровне. Будьте готовы много читать, выполнять задания дома и совершенствовать свои навыки, после окончания курсов. Зачастую, курсы не дают всего практического багажа знаний, которые пригодятся вам на работе.
Приходите в ISsoft
Если же вы имеете технический бэкграунд и обучались в техническом высшем учебном заведении или на курсах тестировщика, то вы можете смело приходить в наш Тренинг-центр, чтобы попробовать себя на должность Junior QA Engineer.
Если вы изучили все книги, послушали подкасты и посмотрели много видео, вы должны были разобраться в понятиях и понять, что такое тест-кейсы, баг-репорты и с какой документацией работает тестировщик. Самое время переходить к практике: вам нужно расписать для самих себя, как бы вы тестировали различные предметы, например, ручку, дисковод, мыло или воздушный шар. Чем больше кейсов вы для себя разберете, чем легче вам будет на собеседовании.
Советы от опытных тестировщиков
Кирилл Ратафия поделился своими советами для начинающих тестировщиков:
- Максимально проявляйте инициативу, тестируйте как можно больше, не бойтесь спрашивать.
- Читайте специализированную литературу (желательно на английском), и, учитывайте планы на будущее (если вы планируете перейти в автоматизацию, то не забывайте про языки программирования, если – в ручное тестирование, то читайте книги по ручному тестированию).
- Изучайте новые статьи по QA в интернете, постоянно повышайте свой уровень.
- Не забывайте про английский язык: скорее всего, придется часто общаться и с заказчиками, и создавать тестовую документацию.
- Повышайте навыки делового общения. Вам придется взаимодействовать с разными группами специалистов, в том числе говорить людям, что что-то не работает.
- Не забывайте про внутренние корпоративные курсы в компании, где вы работаете: многое будет новым и не будет применяться в работе, но, когда настанет момент, все быстро вспомнится.
- Не забывайте отдыхать, заниматься спортом, хорошо питаться (это исключит выгорание от переизбытка информации, повысит настроение и продуктивность).
- Не забывайте про самомотивацию, ставьте цели, находите полезное для развития в текущем проекте.
“Самый главный совет – не переставать следить за новостями Тренинг-центра вашей компании и посещать все интересующие тренинги, а в идеале посетить все QA лекции. Они дают очень много полезной информации. Также рекомендую постоянно развивать коммуникацию с коллегами, чем лучше и дружественнее отношения, тем более плодотворно решаются все вопросы. Никогда не стесняйтесь задавать вопросы. Постарайтесь выбрать для себя наиболее интересное направление и делать упор в обучении на том, что привлекает больше всего. Всегда учитесь и находите время для самообразования. И все получится!”.
Павел Смеловский
Конечно, чтобы стать хорошим тестировщиком, надо любить свою работу, постоянно обучаться и ответственно подходить к каждому продукту, который вы проверяете, так, как будто от него зависит ваша жизнь. И тогда у вас все получится!