vlada_maestro / shutterstock
Тестировщики, или QA-инженеры, — это люди, которые проверяют, как работает программа или приложение. Они ищут ошибки, смотрят, чтобы программа делала именно то, что задумано, защищают продукт от хакеров, проверяют, как приложение работает на разных устройствах и в разных операционных системах.
Тем, кто не работал тестировщиком, кажется, что это очень просто: понажимал все кнопки подряд, нашёл ошибку, сказал разработчику, и всё. На самом деле тестировщик — это сложная и творческая профессия на стыке IT, UX-дизайна и продуктового менеджмента.
Честно говоря, тестировщикам действительно приходится тыкать на все кнопочки и ссылки, заполнять все формы и стараться совершить все возможные ошибки, которые могут прийти в голову пользователю. Без этого не обойтись.
Неполиткорректные разработчики из-за этого когда-то обидно называли тестировщиков «обезьянками-кликальщиками». Термин был так распространён, что Android назвал свой инструмент для автоматизации тестирования MonkeyRunner — в том смысле, что он как обезьянка, только быстрее.
Марина Демидова
Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.
Но не думайте, что тестировщики лишь хаотично бьют по клавишам в надежде найти баг, — это непродуктивно. У них есть собственные методы для определения слабых мест программы и быстрого поиска ошибок.
QA-инженеры придумывают инструкции для тестирования — тест-кейсы. На элементарном уровне это выглядит так: аналитики пишут требования — какие данные должны быть на входе, как они обрабатываются, что должно получиться в результате; тестировщики пишут пошаговые инструкции для проверки программы на соответствие этим требованиям.
Пример простого тест-кейса
Тестировщик должен скрупулёзно проверить, что будет, если совершить какое-то действие, и соответствует ли результат ожидаемому.
Но ошибки коварны — в лабораторных условиях они могут себя и не проявить, зато пользователь наткнётся на них после релиза. Поэтому QA-инженеры придумывают разные стандартные и нестандартные ситуации, чтобы проверить, как поведёт себя программа. Это творческий процесс, для поиска скрытых багов приходится проявлять смекалку и аналитические способности.
Нужно предусмотреть все возможные и невозможные варианты. Что будет, если пользователь введёт цифры вместо букв? А что, если у него компьютер глючный? А вдруг сразу много пользователей будут работать и перегрузят систему?
Работа тестировщика — это бесконечное приближение к совершенству. Невозможно проверить всё, поэтому тестировщик должен работать так, чтобы совершить минимум действий, но найти максимум ошибок.
Облегчить работу тестировщика помогают программы для автоматического тестирования. Автоматизация сокращает время тестирования и уменьшает рутину в работе. В больших проектах без автоматизации не обойтись: там очень много элементарных повторяющихся действий, никакого времени не хватит, чтобы все их проделать.
Всех тестировщиков делят на мануальщиков и автотестеров. Первые ищут ошибки в коде вручную, вторые пишут программы, которые делают это автоматически. Но это очень условное деление.
Вы не найдёте автоматизатора, который не умел бы тестировать программу вручную. А многие мануальные тестировщики не любят рутину, поэтому осваивают языки программирования и пишут автоматические тесты.
Опытные специалисты могут выполнять работу и мануальщика, и автотестера.
Порог входа в тестирование довольно низкий. Чтобы стать тестировщиком, не требуется техническое образование. Главное, чтобы человеку была интересна сфера IT и он хотел развиваться в этом направлении. Об этом говорит в своём интервью на hh.ru руководитель департамента обеспечения качества ПО Veeam Software Игорь Кацев.
На сайте Software-Testing.ru опрашивали тестировщиков из России и СНГ по поводу их образования. Оказалось, что в профессию приходят и достигают в ней карьерных высот разные люди: технари, гуманитарии, экономисты, юристы, люди с двумя высшими и люди без диплома вообще.
Источник
Тестировщики нужны во всех мало-мальски серьёзных IT-проектах. Большие компании предпочитают нанимать их в штат, малые работают с фрилансерами. О том, насколько востребованы QA-специалисты, говорят данные с сайтов по поиску работы:
- в декабре 2020 на HeadHunter было более 4 000 вакансий тестировщиков ПО;
- больше 12 000 — на Trud.com;
- на Indeed — около 1 000, и это только по России.
Мануальщиков, не понимающих кода, работодатели не любят, даже если они прекрасно составляют тесты. Но и автоматизаторы, не знающие основ тестирования, тоже никому не интересны.
Вот, например, скрин с hh.ru, где работодатель перечисляет требования к тестировщику:
Большим спросом пользуются универсалы, владеющие современными методами тестирования, знающие языки программирования, умеющие составлять и автоматизировать тесты, например:
Заработная плата тестировщика в регионах — от 55 до 60 тысяч рублей, а в Москве — 80–150 тысяч.
Источник
Новички могут рассчитывать на зарплату от 40 тысяч рублей, специалисты высокого уровня получают 220–300 тысяч.
Источник
Путей для карьерного роста много. Некоторые начинают с тестирования, чтобы потом уйти в разработку, но это не единственный вариант — можно развиваться и внутри профессии.
Младший специалист тестирует программы вручную по готовым тест-кейсам. Чтобы из «обезьянки» стать мидлом, нужно развиваться: досконально изучать проект, знать язык кода и основы автоматического тестирования.
Если джуниор хорошо себя зарекомендует, то через 2-3 года получит повышение и станет мидлом. Будет самостоятельно составлять тест-кейсы и заполнять документацию.
Ещё через год-полтора успешный мидл может претендовать на должность старшего специалиста (Senior QA Engineer). Его круг задач расширяется: синьор планирует работы по тестированию, контролирует работу джунов.
Лет через пять можно стать тимлидом — руководителем команды тестировщиков. От тимлида требуются профессиональные компетенции, навыки менеджмента, умение решать сложные задачи.
Так происходит карьерный рост специалиста по вертикали. Но на практике тестировщики часто выбирают развитие внутри профессии — например, специализации по тестированию:
- Security-тестировщики — проверяют безопасность программы;
- Performance-тестировщики — тестируют, как она ведёт себя при возрастающей нагрузке.
- Usability-тестировщики — проверяют, насколько с ней удобно работать.
Кроме того, в тестировании очень важны личные качества специалиста. Вот список основных, без которых точно не обойтись:
- Усидчивость и настойчивость — чтобы терпеливо искать дефекты. Хороший тестировщик уверен, что программ без ошибок не бывает, бывают лишь плохо диагностированные.
- Критическое мышление, умение анализировать информацию.
- Внимание к мелочам, максимальная дотошность, чтобы постоянно интересоваться: «А что будет, если нажать сюда? А если ввести другой символ?»
- Коммуникабельность и умение работать в команде: тестировщику приходится постоянно взаимодействовать с разработчиками, дизайнерами, бизнес-аналитиками, представителями заказчика.
- Терпение и самообладание, потому что разработчики не слишком любят исправлять ошибки. Иногда тестировщику приходится не раз и не два напоминать о найденном баге. Он должен быть настойчивым, но при этом уметь сохранять хорошие отношения в команде.
- Ответственность и здоровый перфекционизм, чтобы постоянно стремиться улучшить качество разрабатываемого продукта.
- Умение чётко формулировать свои мысли, чтобы грамотно составлять планы и тест-кейсы. Если тестировщик нашёл ошибку, он должен подробно и понятно описать, при каких условиях она возникает, чтобы разработчики могли быстро её исправить.
- Стремление развиваться — осваивать новые методики тестирования, чтобы оставаться востребованным. Нужно постоянно читать техническую литературу, участвовать в конференциях и семинарах, смотреть видеокурсы.
От тестировщика требуется:
- знание основ тестирования, его видов и методов;
- умение составлять тест-кейсы, тест-планы;
- знание языка запросов SQL, умение работать с базами данных;
- знание языков программирования;
- знание систем контроля версий: Git, CVS и тому подобных.
Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:
- системы для создания тест-кейсов и отслеживания ошибок.
- файловые менеджеры, текстовые и XML-редакторы.
- генераторы тестовых данных и другие.
Для автоматизации тестов понадобятся системы тестирования веб-приложений, программы для функционального и нагрузочного тестирования.
Ну и обязательно потребуется английский язык — для чтения и заполнения технической документации.
Если вас увлекла профессия тестировщика, можно самостоятельно изучить методики тестирования по книгам, мануалам и видео, а затем попытаться устроиться на работу на junior-позицию. Этот вариант рабочий, но займёт много времени.
Более простой способ стать тестировщиком — пройти обучение на онлайн-курсах. Вы освоите необходимые техники и инструменты, получите практический опыт тестирования крупного проекта. После обучения наши успешные студенты становятся специалистами middle-уровня.
Кто такой тестировщик и чем он отличается от QA-инженера
Быть в IT #Карьера #Тестирование #Разбор
Тестировщик – это квалифицированный специалист, занимающийся тестированием мобильных приложений, десктопных программ, веб-приложений и другого софта до его официального выхода. В ходе работы тестировщик проверяет наличие ошибок, находит уязвимости, смотрит, адаптировано ли приложение под разные устройства, и выполняет много других операций.
Тестирование приложений – это не просто «потыкать» кнопки и понять, хорошо ли все работает. Это та деятельность, в которой задействуются навыки из сферы IT, дизайна и даже продуктового менеджмента.
Почему быть тестировщиком не так просто, чем занимается этот специалист и как им стать – поговорим в сегодняшней статье.
В конце материала вас ждет небольшой тест, который покажет, сможете ли вы стать хорошим тестировщиком.
Тестировщик ПО старается найти все возможные ошибки, которые могут возникнуть у пользователя при взаимодействии с продуктом. Например, при работе с поисковой строкой проверяются все сценарии: вводится лимитное число символов на разных языках, проверяется ввод «нетипичных» знаков и так далее.
На первый взгляд кажется, что тестировщик работает с продуктом как обычный пользователь, но это не совсем так. Перед началом работы тестировщик составляет план действий, а также определяется с методами, которые будет использовать для тестирования предстоящего продукта.
Вместе с этим тестировщик взаимодействует с аналитиком, который составляет сценарий, что должно произойти после тестирования определенного этапа. Например, какие данные должны быть на входе, как они обрабатываются и так далее. Тестировщик на основе этого «идет» по продукту и составляет отчет. Выглядеть он может так:
Иногда даже детальная проверка не помогает найти все ошибки, поэтому тестировщикам приходится думать над различными ситуациями, способными «поломать программу». В таком процессе задействуются творческие и аналитические способности, которыми хорошо должен обладать тестировщик.
Тестировщиков принято разделять на мануальщиков и автотестеров. Первые находят все ошибки вручную, вторые разрабатывают специальные программы, которые выполняют все действия автоматически.
На практике такого разделения, как правило, нет. Профессиональный тестировщик выполняет работу и за мануальщика, и за автотестера.
Если речь идет только о мануальщике, то обычно такие специалисты стараются освоить языки программирования, чтобы не выполнять множество одинаковых действий.
Автотестеры напротив стараются избегать ручного тестирования, но в любой момент могут пойти и «потыкать» программу без дополнительного ПО.
Также иногда выделяют дополнительные роли, например security-тестировщика, который занимается проверкой систем безопасности. BI (business intelligence) – тестировщик, работающий с большими объемами данных.
В некоторых компаниях есть целые отделы performance-тестирования – контроля производительности ПО и нагрузок на приложения.
Usability-тестировщики проверяют, насколько продукт удобен в использовании и привлекателен для пользователя.
В большинстве крупных проектов не обойтись без автоматизации, поэтому, если вы планируете стать тестировщиком, потребуется изучить программирование – сейчас без этого никуда.
QA (от англ. Quality Assuranse) представляет собой совокупность мероприятий, охватывающих все этапы разработки, выпуска и эксплуатации программного обеспечения. Это активности на всех этапах жизненного цикла ПО, которые предпринимаются для обеспечения требуемого уровня качества выпускаемого продукта.
В чем же состоят различия между QA и тестировщиком подробнее рассмотрим в сравнительной таблице:
Фокусируется по большей части на процессах и средствах, чем на самом тестировании продукта | Фокусируется на тестировании продукта |
Процессно-ориентированный подход | Продуктно-ориентированный подход |
Подмножество процессов Software Test Life Cycle – цикла тестирования ПО | Подмножество процессов QC |
Обратите внимание, что из всего этого у нас вытекает еще одно определение. QC (от англ. Quality Assurance) – процесс проверки качества, который обеспечивает соответствие продукта ранее установленным требованиям. Другими словами, это процесс, который обеспечивает ожидаемое качество продукта.
QC фокусируется на тестировании путем выполнения программ с целью определения дефектов с использованием утвержденных процессов и средств. Вместе с этим он является подмножеством QA.
Тестирование – это часть QC, а QC – часть QA.
QA обеспечивает правильность процесса, а QC предполагает контроль соблюдения требований. Тестировщик же, напротив, обеспечивает сбор данных, которые вносятся в документы, созданные в ходе работы QC.
Выводы:
- тестирование позволяет определить работоспособность продукта: правильно ли он был разработан, были ли использованы необходимые инструменты и так далее;
- QA обеспечивает соответствие всех этапов разрабатываемого ПО – от планирования и создания до выпуска готового продукта.
Работа тестировщиком – это чаще всего не про человека с техническим образованием, но, конечно, после получения «вышки» будет проще войти в сферу тестировщиков. Практика показывает, что порог входа в тестировщики довольно низкий, и стать им может кто угодно, главное – это желание. Об этом говорит глава департамента обеспечения качества ПО Veeam Softwar Игорь Кацев в своем интервью для hh.ru.
Также на сайте Software-Testing был проведен опрос среди тестировщиков, в ходе которого выяснилось, что образование тестеров разнится от людей без диплома до людей с двумя высшими образованиями: это и технари, и гуманитарии, и экономисты, и даже юристы.
Вот так выглядит статистика образования тестировщиков:
Источник
Профессия тестировщика будет востребована, пока будет жить IT. Сейчас невозможно представить ни одну компанию без профессионального тестировщика, и здесь не так важно, крупная это компания или какой-то небольшой стартап. Без качественного тестирования ни один продукт не продержится долго на рынке: в один момент «полезут» баги, а вместе с ними начнут уходить клиенты.
Значимые площадки для поиска работы подтверждают популярность тестировщика:
- на hh.ru найдено более 7000 вакансий при запросе «Тестировщик»;
- indeed предлагает более 1000 вакансий.
Стоит также отметить, что мануальщиков берут на работу в крайне редких случаях. Большинству компаний нужны специалисты, которые умеют работать с кодом. В то же время мало кому нужны тестировщики, не умеющие вручную проводить тестирование. Как мы уже говорили выше, всем нужны универсальные солдаты, которые могут и писать код, и проверять все своими руками.
Также тестировщик может работать и на фрилансе. Таких заказов, конечно, не так много, но если постараться, то можно хорошо себя зарекомендовать и совмещать, например, тестирование приложений с основной работой.
В зависимости от региона зарплата может сильно отличаться. Например, в Москве заработная плата может доходить до 150 000 рублей, тогда как в регионах она не превышает 75 000 рублей.
Изучить зарплату тестировщика по России вы можете на сайте trud.com.
Источник
QA-инженер
По данным hh.ru, зарплата QA начинается от 75 000 рублей и доходит до 360 000 и выше.
Развитие тестировщика – это дорога со множеством путей. Некоторые становятся тестировщиками, чтобы в последующем уйти в более интересное звено, например в разработку. Другие концентрируются на тестировании и из «малышей» за несколько лет вырастают в мидлов, которые самостоятельно составляют тест-кейсы и прописывают всю необходимую документацию.
Следом за мидлами идет должность старшего специалиста, в которую входит планирование работы по тестированию и контроль младших специалистов.
Когда специалист перерастает в человека, который повидал все и досконально знает, как проводить тестирование IT-продукта, он становится тимлидом – руководителем команды тестировщиков.
Таким образом, происходит карьерный рост тестировщиков различных продуктов. Время получения той или иной квалификации в большинстве случае зависит от человека: как он себя проявляет, насколько ему это интересно и так далее.
Если вы планируете стать тестировщиком, то вот список личных качеств, который должен хотя бы частично характеризовать вас:
- Усидчивость. Найти ошибки в программе не всегда просто, иногда требуется приложить немало усилий, чтобы наткнуться на то, что «сломает» программу. Профессиональный тестировщик всегда знает, что не бывает программ без ошибок, а бывают лишь те, которые были плохо продиагностированы.
- Критическое мышление. Важно уметь анализировать полученные данные и получать из них необходимую информацию.
- Максимальная внимательность. Следует уделять внимание всем деталям, даже самым неочевидным.
- Умение работать в команде. Взаимодействие в команде – один из важнейших навыков, которым должен обладать тестировщик. Потребуется постоянно быть на связи с дизайнером, разработчиками и другими специалистами.
- Желание сделать продукт лучше. Следует не просто выполнять поставленную задачу, но и хотеть усовершенствовать продукт компании. Без заинтересованности в получении «идеального» продукта не может идти никакой речи о стабильности и популярности продукта, не говоря уже о его тестировании.
- Умение подробно составлять описание тестов. Если вы нашли все проблемы программы, то это отлично, но стоит описать их максимально детально, чтобы в последующем у разработчиков не возникло вопросов.
- Стремление стать лучше. Чтобы добиться успехов, следует быть в теме. Необходимо регулярно изучать техническую литературу, посещать различные форумы и постоянно совершенствоваться – только в таком случае можно говорить о высоком уровне тестировщика.
Самое главное – это, конечно же, гореть своим делом. Если вы просто хотите стать тестировщиком, потому что там много платят, то это ни к чему не приведет.
Базовый набор скиллов тестировщика включает в себя:
- знание основ тестирования, его видов и методов;
- знание языка запросов SQL, умение работать с базами данных;
- знание языков программирования;
- знание систем контроля версий: Git, CVS;
- составление тест-планов, чек-листов, тест-кейсов;
- понимание приоритетов дефекта;
- умение правильно составлять дефекты;
- знание методологий разработки ПО;
- понимание того, где и как снимать историю работы приложения – логи;
- для мобильного тестирования: понимание отличий Android от iOS.
Дополнительно к этому следует изучить инструменты для ручного и автоматического тестирования:
- системы для создания тест-кейсов и отслеживания ошибок,
- файловые менеджеры, текстовые и XML-редакторы,
- генераторы тестовых данных.
Также потребуется знание английского языка, без него, к сожалению, сегодня никуда. Он пригодится для чтения и заполнения технической документации.
Как и в любой сфере, у тестировщика есть свои плюсы и минусы. Из плюсов можно выделить следующее:
- Карьерная лестница. Как мы уже говорили выше, тестировщик может стать как старшим специалистом, так и руководителем.
- Низкий порог входа. При правильном подходе и огромном желании тестировщиком может стать каждый, даже человек, который только что закончил школу.
- Можно работать удаленно. Тестировать удобно и на фрилансе, и в штате, и в крупной фирме, и в развивающемся стартапе.
Из минусов можно выделить:
- Много однотипной работы. Новичкам, как правило, не доверяют что-то серьезное, а дают лишь однотипные задачи, которые на начальном этапе могут показаться очень скучными и неинтересными.
- Тестировщиков не любят. Часто тестировщиков не очень любят разработчики, потому что они указывают на ошибки. Бывает даже такое, что в крупных IT-компаниях тестировщики и разработчики находятся на разных этажах, чтобы не пересекаться друг с другом.
Также стоит учитывать, что тестировщик – это обширная профессия, которая требует знаний во многих сферах: программировании, архитектуре приложений, дизайне.
Есть три варианта: изучить все навыки самостоятельно, окончить университет или пройти онлайн-курсы.
В первом случае все полностью бесплатно и в ваших руках, но это довольно долгий путь, закончить который по силам не всем. Потребуется изучить много документации, учебников, форумов, обучающих видеоуроков на YouTube. Базовые знания вы, конечно, сможете получить довольно быстро, но вот хватит ли их для получения работы – тут все зависит от вас. Может быть, вам повезет, и вас возьмут стажером.
Второй путь – университет, этот путь тоже долгий, и далеко не все его проходят до конца. Однако на таком пути вы получите навыки не только тестировщика, но и квалифицированного инженера, программиста. На сайте postupi.online представлено более 180 вузов России, где можно отучиться на тестировщика.
И третий путь – пройти онлайн-курсы. Это довольно короткая дорога, однако не такая радужная, как казалось бы. Во-первых, курсы могут быть крайне плохими.
Вы получите сертификат, но особых знаний не будет, что бывает довольно часто.
Во-вторых, сертификат онлайн-курсов, как правило, ничего не значит, так как получить его может каждый, поэтому плюсов в этом перед работодателем практически не будет.
Заключение
Профессия тестировщика – это отличный выбор для тех, кто хочет уйти в IT-сферу. Глубоких знаний на начальном этапе не потребуется, но нужно будет много учиться.
А вот если вы планируете стать QA-инженером, то здесь базовых знаний не хватит. Потребуется сначала поработать тестировщиком, чтобы полностью углубиться в сферу QA.
Гостем нового выпуска подкаста «Быть» стал Ваня Морщагин, руководитель QA-направления в Timeweb. В видео вы узнаете, чем тестировщик отличается от QA-инженера, какие ветки развития есть в quality assurance в целом, нужен ли вуз и куда можно расти из QA. Послушать подкаст можно на Apple Podcasts, Яндекс.Музыка и Spotify.
А теперь пришло время пройти небольшой тест на профориентацию 🙂
Как стать тестировщиком с нуля
В статье мы расскажем о профессии тестировщика программного обеспечения. Часто ее рассматривают как нетребовательную специальность, которая может служить «трамплином» в IT-индустрию. Вы узнаете, чем на самом деле занимается тестировщик ПО, какие инструменты использует, сколько зарабатывает и куда может расти.
Кто такой тестировщик и чем занимается
Тестировщик ПО — это специалист, который проверяет, правильно ли работает программа, нет ли в ней ошибок.
Тестировать можно интерфейс, бэкенд-сервис, приложение целиком или всю IT-систему. В статье мы будем говорить «программа» или «приложение», но нужно понимать, что в зависимости от сферы работы тестировщика это могут быть разные части инфраструктуры.
Тестировщик должен знать, как работает тестируемое приложение.
Он должен понимать, что происходит после выполнения тех или иных действий: как должен выглядеть интерфейс, что программа должна делать и на что стоит обратить особое внимание.
Например, тестировщик нажимает кнопку «Показать список контактов». И он должен знать, как выглядит список, должен ли он быть отсортирован по умолчанию и как должны отображаться фотографии контактов (в круглом или квадратном контуре).
Профессия тестировщика предполагает отчасти творческий подход. Часто самые очевидные ошибки уже предвидели разработчики, и тестировщику нужно находить нестандартные способы работы с программой.
Он должен подумать: «А что здесь может сделать пользователь? Куда может нажать, что может ввести?».
Например, что будет, если вместо email-адреса ввести номер телефона, или закрыть программу до того, как она закончит выполнять предыдущее действие?
Тестировщикам часто нужно ставить себя на место пользователей и пытаться думать как они. Но чем лучше человек знает программу, тем сложнее это сделать. Потому что если долго работать с приложением, многое кажется очевидным.
Тестировщику может казаться: «Как можно ввести в поле email-адреса номер телефона? В программе же явно указаны названия полей и есть иконки. Как их можно перепутать?».
Но в реальности пользователь отвлекся, запутался или поторопился, и теперь он не может подтвердить регистрацию, потому что вместо почты указал телефон.
Для этого состояния даже есть термин — «Проклятие знания». Это когда более информированные люди не понимают, как рассматривать проблему с точки зрения менее информированных.
Другой важный навык — умение правильно создать баг-репорт, то есть описать ошибку. Правильно — значит так, чтобы любой разработчик мог воспроизвести ошибку по этому описанию, не тратя время на дополнительные уточнения.
Вот пример хорошего баг-репорта, который легко воспроизвести:
Пример хорошего баг-репорта
Тестировщик указал версию приложения, шаги для воспроизведения, ожидаемый результат и прикрепил скриншот.
А вот пример пример плохого баг-репорта:
Пример плохого баг-репорта
Тестировщик просто указал, что задваиваются часовые пояса, но не привел никаких деталей. Часовые пояса могут использоваться в программе в разных местах, и непонятно, о чем именно сообщил тестировщик.
Чтобы написать правильный баг-репорт, тестировщик должен понимать, какие именно действия приводят к ошибкам. А это не всегда очевидно.
Допустим, тестировщик проверяет мессенджер. Он тестирует разные функции, все работает правильно. Но затем он пробует сменить аватар и появляется ошибка. И вот тут тестировщику нужно понять, какие именно действия привели к ней. Причем действия вообще могут быть логически не связаны со сменой аватара.
Ошибка может появиться после отправки сообщения со смайликом. Казалось бы, какая тут связь? Но в коде могут быть разные зависимости, и смайлики могут повлиять на аватар.
Чтобы зафиксировать ошибку, тестировщику нужно вспомнить все, что он делал до ее появления, и попробовать воспроизвести сценарий, что порой бывает непросто.
Какими инструментами пользуется тестировщик
Может показаться, что тестировщики проверяют все вручную: нажимают на все кнопки и вводят значения во все поля ввода. Но чаще всего они пользуются специальными приложениями для автоматизации тестирования.
Профессия тестировщика ПО предполагает работу с различными инструментами. Их можно разделить на несколько направлений, а внутри каждого направления есть несколько аналогов. Мы приведем несколько примеров, но это далеко не полный список.
Инструменты для автотестирования. Они позволяют описать последовательность действий и ожидаемый результат, а затем запускать тесты и тестировать приложение автоматически.
Для этого тестировщик пишет скрипт, который говорит системе автотестирования, что нужно сделать: нажать на кнопку, ввести в поле значение, и в итоге должен получиться вот такой результат.
Если результат не совпадает — оповестить тестировщика, что тест провален. Примеры таких инструментов: Selenium WebDriver, Espresso.
Скриншот Selenium WebDriver
Нужно понимать, что автотесты — не панацея.
- Автотесты нужно периодически изменять или полностью переписывать. Очередное обновление приложения может сломать их. Например, если чек-бокс в окне настроек переместится на другую вкладку.
- Автотесты не могут протестировать всё. Автотесты не смогут увидеть проблемы верстки сайта, когда элементы на экране «поедут» или перекроют друг друга.
- Некоторые задачи придется тестировать руками. Второстепенной функциональности часто уделяется мало внимания. В этом случае может быть проще тратить 5 минут в месяц на проверку, чем один раз писать автотест 3 часа.
Генераторы данных. Эти инструменты помогают генерировать данные для тестов. Например, чтобы каждый раз не придумывать логин, номер телефона и email-адрес. Также генераторы могут создать нестандартные данные, которые помогут обнаружить ошибки: двойная фамилия или иностранный номер телефона. Примеры таких инструментов: Databene Benerator, DTM Data Generator.
Системы управления проектами. Помогают управлять жизненным циклом проекта: от появления задачи до выкатки обновления. Они позволяют отслеживать сроки, ответственных, статусы и так далее.
Инструменты для создания и отслеживания баг-репортов могут быть встроены в общую систему управления проектами, а могут быть отдельным инструментом. В любом случае нужно уметь ими пользоваться.
Примеры таких инструментов: Jira, TestRail, Test It.
Скриншот из системы Jira
Где работает и сколько зарабатывает тестировщик
Тестировщики ПО нужны практически всем компаниям, которые сами разрабатывают приложения. Иногда функции тестировщика могут выполнять программисты, которые пишут код, а иногда это могут быть отдельные тестировщики.
Если компания выпускает b2b- или b2c-продукт, то, скорее всего, она будет проводить полноценное тестирование. Потому что ошибка, особенно в b2b-продуктах, может стоит компании больших денег, если клиент потеряет из-за нее свои данные.
Поэтому часто такие компании нанимают отдельный штат тестировщиков.
Тестировщик может устроиться в компанию, которая разрабатывает продукт. Или может работать в компании, которая занимается аутсорс-разработкой и тестированием продуктов для других компаний. А может быть фрилансером, который сам ищет себе заказчиков. Каждый решает сам для себя, где ему будет лучше.
Теперь поговорим о заработке тестировщиков. Сразу оговоримся, что это примерные значения: все зависит от вашего опыта и навыков, размера компании и региона работы, вашего умения вести переговоры и показать свою пользу. Вот примерные зарплаты по данным Хабр.Карьеры.
- Если тестировать только вручную — можно получать 56 тысяч рублей:
- Если уметь писать автотесты — в два раза больше, 113 тысяч рублей:
- Карьерное развитие тестировщиков возможно в нескольких направления. Во-первых, можно расти в направлении тестирования:
- Начальная стадия — тестировщик. Это конечный исполнитель, обычно он работает по заданию. Ему говорят какой функционал нужно протестировать; что нужно автоматизировать, а что тестировать руками.
- Следующий уровень — quality control (QC). Это человек, который решает, что именно нужно тестировать; что из этого лучше делать руками, а для чего писать автотесты. Также он распределяет задачи между тестировщиками.
- Quality assurance (QA). Думает в целом о качестве продукта: оценивает приоритет исправления ошибок, изучает и внедряют новые практики тестирования, стремится усовершенствовать весь процесс тестирования.
Также из тестировщиков можно перейти в другую сферу IT, например в разработку. Понимание основ технологий и умение писать скрипты для автотестов станет хорошим подспорьем для будущего Junior-разработчика.
Где обучают профессии тестировщика ПО
Порог входа в профессию довольно низкий. В тестировщики приходят люди из разных сфер: лингвисты, экономисты, менеджеры и IT-специалисты других направлений. Можно не знать основ IT, но нужно быть как минимум уровня «уверенный пользователь ПК».
Начать работать инженером-тестировщиком по ручному тестированию можно без опыта. Но нужно понимать, что тогда у вас будет меньше шансов устроиться в крупную компанию или получать высокую зарплату. Скорее всего, вам придется выбирать между несколькими не особо выгодными предложениями.
Обучиться основам тестирования можно самостоятельно: по статьям, видеороликам и бесплатным курсам тестировщиков программного обеспечения. Но чтобы получить реальное представление о специальности, нужно обучаться на реальных программах и ошибках.
Если вы хотите стать востребованным специалистом, то освоению профессии тестировщика нужно подойти организованно и настроиться на серьезное обучение. Например на платформе GeekBrains есть факультет тестирования.
Это курсы для тестировщиков с нуля, где за 12 месяцев вы освоите основы, научитесь находить ошибки в реальных программах, писать автотесты, оформлять баг-репорты, а также подготовитесь к собеседованию и поиску первой работы.
Подведем итоги
- Тестировщик — человек, который тестирует программы, сервисы или целые системы. Он находит ошибки и сообщает о них разработчикам.
- Тестировщик должен понимать, как работает тестируемая программа, какие ошибки может допустить пользователь и продумывать все заранее.
- Тестировщик может расти в своем направлении и стать QC, а затем QA. Или он может уйти в разработчики, если знает основы программирования.
- Стать тестировщиком можно и без специального образования, но тогда не стоит рассчитывать на высокую должность и хорошую зарплату.
- Чтобы уже на старте иметь преимущества перед другими кандидатами, стоит обучиться на курсах и познакомиться с тестированием на примере реальных кейсов.