Всем привет! В этом посте я напишу ответы на вопросы, которые мне довольно часто задают знакомые, малознакомые и совершенно незнакомые мне люди о том, как стать тестировщиком.
Никто никогда не возьмет вас на работу, если вы совсем ничего не знаете о тестировании. Мне кажется, этот вопрос исходит из мифов, что тестирование - это легко, кликай себе на клавиши как обычный пользователь и живи в удовольствие. На практике работа тестировщика сложна, часто скучна и с самого начала требует какого-то минимального набора умений и подразумевается, что вы знакомы (на практике) с основными инструментами тестирования. Плюс-минус нужно уметь обращаться с Postman, SoapUI, DevTools, Charles, Fiddler, Android Studio, XCode, нужно знать теорию тестирования, уметь писать баг-репорты, тест-кейсы, понимать что такое клиент-серверная архитектура и что такое HTTP-запросы, SQL.
Лично мой бек-граунд к тому моменту когда я начал работать на реальном проекте, работая на настоящую компанию, состоял только из курсов:
GeekBrains, Тестирование ПО. Уровень 1
GeekBrains, Тестирование ПО. Уровень 2
GeekBrains, Введение в автоматизацию тестирования
GeekBrains, Основы баз данных
GeekBrains, Основы языка Python.
Udemy. SQL для начинающих: с нуля до сертификата Oracle
LearnQA, Chrome DevTools: Инструменты тестировщика
Ольга Назина. Тестирование REST API
Этого мне хватило, чтобы получить свою первую работу (по знакомству)
Что тут ответить? "Что русскому хорошо, то немцу - смерть" :-} Лучший способ найти ответ на этот вопрос - зайти на сайты с вакансиями, там можно посмотреть вилки. Лично моя зарплата за первый год работы выросла ровно в 14 раз, при том, что на старте я получал как работник Макдональдса. Понятно, что росла моя зарплата не на пустом месте, а прямо пропорционально росту моих хард скиллов + я дважды поменял место работы, естественно, с повышением зарплаты.
Тестирование – комплекс мероприятий, направленный на проведение проверок на соответствие производимого продукта требованиям, к нему предъявляемым (прямым и косвенным).
Подробнее о том, что такое тестирование можно посмотреть здесь.
Тестировщик — это человек, который отвечает за качество продукта. Тестировщик проверяет продукт согласно требованиям, пишет тест-кейсы, формирует документацию по тестированию.
Здесь важно понимать, что тестировщик - это человек проактивный. В идеале, вы не должны просто сидеть тихонько в стороне и наблюдать, а должны понимать что и как нужно делать без указаний "сверху". Пожалуй, тестировщик больше всех взаимодействует с командой, разработчиками, заказчиком, менеджером, техподдержкой и даже пользователями. То есть коммуникативные навыки вам точно пригодятся. Как правило, тестировщик хорошо знает продукт, технические требования, новые фичи, может быстро объяснить кому угодно как всё работает.
В первую очередь советую пройти по ссылкам здесь.
Если не подойдет, то помните одну вещь - тестировать можно всё, что угодно. Я начинал с тестирования Яндекс почты. Определяем требования (вы их и так прекрасно знаете, документация вряд ли потребуется), пишем тест-кейсы (инструкция), тестируем. То есть, проводим функциональное и юзабилити тестирование - соответствует ли сайт заявленным требованиям и удобно ли им пользоваться.
Читаем документацию
Определяем требования
Пишем тест-кейсы
Тестируем
Находим баги / пишем понятные баг-репорты / отправляем разработчику на доработку
После исправления тестируем заново
Как определяется выполнена работа или нет я и сам до сих пор до конца не знаю :-} Уж больно это непрерывный процесс. Я бы сказал так, если ты проверил приложение и понял, что оно соответствует всем требованиям и узких мест в нём не нашлось, то работа выполнена.
Моё первое резюме было стильное и ни разу не информативное :-} Это как раз то, что я в первую очередь исправил. Пишите коротко, пишите тезисно, ставьте самое главное и важное как можно выше в вашем резюме. Помните, что hr не хочет читать историю вашей жизни от Адама и Евы. Ему нужно найти то, что он ищет. Выделите основные ваши навыки, подсветите ваши стремления. Ну и конечно же, посмотрите на готовый шаблон на hh.ru.
Как по мне, это очень хороший вопрос и объёмный. Я прошёл огромное количество собеседований и много из них вынес для себя. Если честно, это тема для отдельного поста. В целом, все мои собеседования проходили примерно по одному и тому же сценарию:
Короткий разговор по телефону с hr-ом, который нужен в основном для того, чтобы понять адекватный ли вы человек и для того, чтобы сразу понять нужно ли вам продолжать диалог с компанией, очень может быть, что вакансия вообще не матчится с вашими интересами
Техническое интервью. Как правило, выглядит так:
а. Знакомство
б. Небольшой рассказ о себе == о своем бекграунде
в. Ответы на вопросы, которые вам задают по хард скилам. Очень часто просто, чтобы подтвердить то, что вы действительно умеете всё, что написано в резюме
г. Дальше уже вы задаете вопросы о проекте, компании и обо всём, что вас интересует
Встреча с командой (опционально)
Между первым и вторым пунктами часто бывает выполнение тестового задания.
С английским у меня всё более-менее нормально, мысли свои выразить могу. Хорошее знание английского нужно не так часто как думают. Даже сейчас, когда я работаю на международном проекте, мне обычно приходится только писать на английском. Понятно, что бывают проекты, на которых нужно постоянно общаться с иностранцами или, возможно, вы мечтаете о релокейте, в этом случае на английском нужно говорить свободно. Как бы там ни было, я считаю важным развивать этот скилл, хотя бы потому, что документация для инструментов, которые вы используете в тестировании, часто написана на английском или курс, который вы хотите пройти есть только на английском.
Резюмируя, опыт лучше получать уже на работе, там же и расти. Проблема в том, что устроиться туда не так просто. И классно было бы уже хоть что-то, да уметь до первого рабочего дня :-} Всем удачи!!
И не просто читаем документацию, а надо "пощупать" сайт, побегать по нему, посмотреть как он отвечает тому или иному заявленному функционалу. А уж затем:
Как вариант, зайти на багтрекер любого открытого более менее знакомого вам ПО, например браузера, или офисного пакета, и попытаться с помощью фильтров найти и воспроизвести какой-нибудь описаный там баг.
Во-первых полезно посмотреть как порой плохо пишут багрепорты, во-вторых узнать как устроены багтрекеры, в-третьих поймете какой уровень технической грамотности вам нужен. Т.е. если с программой вы знакомы но по описанию не можете понять, что за проблему описывает человек - то нужно подтягивать навык технического английского. Подумайте также какой информации вам не хватает в багрепорте другого человека, и почему.
Eще возможность тренировки. Возьмите свой мобильный телефон, и опишите какой-нибудь юзкейс. Т.е. функцию с точки зрения пользователя. Напишите к этому юзкейсу тестовый сценарий. Предположим, телефон получил новую прошивку с обновленным интерфейсом. Ваш тест должен определять затронули изменения описаный вами пользовательский сценарий или нет. Вообще полезно начинать следить за своими действиями и взаимодействиями с компьютерными системами, и учиться описывать их словами. Это один из необходимых навыков тестировщика. Представьте себе что вы по голосовой связи пытаетесь обьяснить , как выполнить ту или иную задачу на компьютере или телефоне, другу, подруге или маме. Сперва это может показаться весьма утомительным. Однако чем легче вам такая задача дается, тем больше у вас предрасположенности к этой работе.
Ну и еще совет: играйте с друзьями в "Keep Talking and Nobody Explodes"
Для чего тестировщику (особенно начинающему) знать Android Studio, XCode ?
Можно и с нуля, по крайней мере я так и начинал. Пришёл в одну компанию, можно сказать, с улицы, искал просто «что-то связанное с клацанием у компьютера». Меня взяли на трёхмесячный испытательный срок, в течение которого следовало читать талмуд документаций, стайлгайды, инструкции по работе с Джирой и внутреннюю вики по тестированию. Оттачивать знания нужно было в отведённой песочнице, где лежал старый билд их софта с уже известными багами. Пару раз в неделю с менеджером по тестированию сравнивали мои найденные баги и те, что я упустил. Ну, а потом поне… началась моя карьера :)
Но то было 9 лет назад, так что, подозреваю, нынче такие кейсы крайне редки, если и вовсе не вывелись. Той фирмы минимум год уже нет на российском рынке - она была изначально американской, но здешние рабы стоили дешевле. Думаю, увеличение рыночных зарплат заставило их пересмотреть стратегию.
По знакомству. Именно, что без знакомых видимо очень тяжело. Сколько бы чего ни изучал, без опыта никуда не берут, даже не рассматривают
блин коротко отвечу людям у кого реально возникает вопрос как стать "кем либо в ИТ сфере"
берешь поднимаешь зад, гуглишь и ютубиш все, что сможешь найти на эту тему и учишь ,впитываешь , пытаешься. все ЗАНАВЕС! гайды ,курсы, фигурсы - ничего вам не надо, самое ключевое это пднять свой зад и что то делать каждый день.
Что можешь посоветовать прочесть по теории тестирования?
И допустим пришел в веб-разработку, стоит задача по тестированию среднего размера проекта. Код буквально легаси, нет ниодного теста, а добавление небольших изменений в код проекта все начинает крошится и документизации разумеется также, как и тестов нет. С чего по-твоему мнению лучше всего начинать? Проект написан на руби и использовался фреймворк рейлс, понимаю, что скорее всего используешь другой язык. С библеотеками для тестирования на руби знакома и "парочку" юнит-тестов писала. Приложение монолитное, т.е. не api и нет нескончаемого числа микросервисов. Глаза разбегаются не знаю с чего комфортнее начинать в таких случаях.
Есть работодатели которые набирают с около нулевыми знаниями в тестировании и проводят курсы в своей области плюс тестирование.