Кто такой инженер по тестированию и стоит ли на него учиться
Если вы знаете язык программирования, вы можете стать разработчиком и писать код. Если знаете математику, можете стать дата-сайентистом и извлекать знания из биг-даты. Если разбираетесь в людях, бизнесе и технологиях, можно стать продактом и рулить продуктом в целом.
А кто такой инженер по тестированию? Говорят, что это хороший трамплин в ИТ. Разберёмся.
На микроволновках
Допустим, в компании решили создать бытовую микроволновку.
Продакт-менеджер:
Коллеги, нам нужно устройство, в котором люди смогут разогревать блюда, но без нагревательного элемента. Чтобы работала быстро. Размер такой-то. Нужна дверца. Обязательно таймер.
Разработчик:
Для этого подходят микроволны. Потребуется сделать вращающуюся платформу и фарадееву клетку.
Продакт:
Ничего не понял, делайте.
Инженер по тестированию:
Постойте!
Инженер по тестированию:
От какого напряжения будет работать? Какая будет защита от перепадов? А если включить в розетку вдвое менее мощную? Что там можно будет греть, а что нельзя? Что если включить с открытой дверцей? Что будет, если греть воду? Что если греть камень?
Что делает тестировщик, мой рабочий день | тестирование ПО | Тестировщик | QA Engineer
А сталь? А кота? А динамит? А если поджечь фитиль? А если туда ничего не положить и включить?
Все крепко думают.
Это и есть работа тестировщика: убедиться, что продукт работает нормально в штатных и внештатных ситуациях. По-умному будет так: «Насколько реальное поведение продукта совпадает с ожидаемым и как это отразится на опыте пользователя?»
Какие бывают
В ИТ-среде в связи с тестированием и качеством принято три обозначения:
QA — quality assurance, самый главный по качеству;
QC — quality control, контролёр качества;
В разных компаниях эти обозначения могут сливаться или дополнительно разделяться, но в целом картинка такая.
QA — это тот, кто думает о качестве продукта в целом, причём не только о конечном коде, но и всего процесса разработки. Например:
Как понять пользовательские сценарии, в которых вероятнее всего возникнут ошибки? Как их собрать? Как систематизировать? Как ничего не упустить? (Например, как понять, какие именно предметы люди могут догадаться засунуть в микроволновку, и как защититься от идиотов, которые засунут туда динамит?)
Как соединить запросы людей, требования бизнеса и реальные возможности продукта с точки зрения качества? Что если наш продукт совсем не делает то, чего пользователи могут ожидать? Например, если они будут сушить в микроволновке кошку — это чья проблема? Будем ли мы с этим что-то делать?
Кто, как и в каком порядке будет исправлять ошибки? Как мы будем повторно тестировать места с ошибками?
Что и как тестировать от версии к версии программы, чтобы это было достаточно быстро, но не в ущерб качеству?
Можно представить, что QA — это директор по качеству, главный человек на пути у багов. Он не менее важен, чем главный архитектор или ИТ-директор. Многие его функции могут пересекаться с функциями других ИТ-директоров.
МИНУСЫ РАБОТЫ ТЕСТИРОВЩИКОМ. Кому эта работа НЕ подойдет?
QC — это тот, кто сфокусирован на тестировании самого продукта:
Что именно тестируем? Какие функции, кнопки, состояния, сценарии?
Какие результаты тестирования нам нужны? Какие исходы правильные, а какие — ошибки?
Как автоматизируем тесты? Что нужно обязательно пройти ручками?
Как синхронизировать работу нескольких тестировщиков? Как распределить задачи, области, слои?
Можно представить, что это такой главный бригадир тестировщиков. Его работа — чтобы тесты шли ровно и чётко, без проблем. Разумеется, очень полезно, если он умеет непосредственно тестировать.
Тестировщик — это тот, кто тестирует продукт: проходит его ручками или пишет автоматические тесты; описывает баги; общается с разработчиком по поводу этих багов; заново тестирует исправленное.
Зачем столько тестировщиков
Когда продукт маленький, функция тестировщика может лежать на самом разработчике: сам написал код, сам проверил работу. Никакие QA и QC в маленьком продукте не нужны — там всё решается быстро и компактно.
Но продукты имеют свойство расти: сначала там один разработчик, потом трое. Каждый протестировал свою часть продукта, а кто протестирует продукт в целом и проверит «стыки»? Нужен тестировщик. Продукт продолжает расти, и вот уже у нас не один тестировщик, а пятеро: как сделать так, чтобы они не тестировали одно и то же? Или тестировали, но по правильной методике?
Значит, им нужен бригадир — QC.
Не успели оглянуться — и вы уже делаете массовый веб-сервис, у вас несколько сотен тысяч клиентов, а сам сервис состоит из десятков модулей. И часть модулей делают в Москве, другую часть — в Санкт-Петербурге, третью — в Екатеринбурге. У каждого офиса своя атмосфера, куча собственных нюансов и проблем. И вот это всё нужно «причесать», чтобы внутри и на стыках этих модулей не было багов. Над этим работают десятки тестировщиков, несколько QC и один большой важный QA, который управляет тестированием.
Что делает тестировщик
Тестировщику дают продукт и требования к нему (документацию). Он всё это изучает и сопоставляет. Придумывает, как это всё тестировать. Его задача — проверить, чтобы продукт исполнял возложенные на него обязанности по документации, а потом — проверить всякие нештатные ситуации и предложить улучшения.
Само тестирование происходит по множеству разных сценариев. Например, так:
Тестировщик открывает продукт как пользователь и проходит все стандартные сценарии — как будет происходить у 80% всех людей. Все баги фиксирует.
Потом он может пройти кромешные варианты — например, если у человека очень длинное имя или трёхзначный возраст. Например, если у вас интернет-магазин, то что будет, если в нём закажет товар Его Пресвятое Величество Константин Константинович «Навуходоносор II» Константинопольский?
Можно попробовать взломать продукт: вместо имени ввести код; добавить в корзину бесконечное количество товаров; добавить в корзину −1 (минус один) товар; добавить в корзину больше 40 тысяч товаров (и перегрузить переменную счётчика товаров); поискать в строке поиска «Войну и мир» (полный текст).
Можно представить, что у пользователя дефектное устройство: например, ввод происходит бесконечно быстро или вместо русских букв в поле ввода вставляются картинки. Как тогда поведёт себя программа? Все находки фиксируются в багтрекере.
Какие-то из этих тестов можно автоматизировать: пишется специальная программа, которая симулирует действия пользователя и сравнивает результаты с эталоном. Другие тесты обязательно проходятся ручками.
Отдельная кухня — это то, как тестировщик фиксирует баги и доносит их до разработчика. Ведь одно дело сказать «Я нашёл ошибку», и совсем другое — сделать так, чтобы разработчик тоже смог её найти и исправить. Поэтому хороших тестировщиков учат грамотно описывать баги.
В некоторых компаниях тестировщик предлагает улучшения продукта с точки зрения логики, интерфейса или текста. Раз человек пользуется продуктом много и часто, есть смысл его послушать.
Почему говорят, что это трамплин в профессию
С одной стороны, стать тестировщиком проще, чем программистом: не нужно знать языки программирования и математику. Программирование и понимание алгоритмов потребуется только для автотестов, и это не так сложно, как обычная продуктовая разработка.
С другой стороны, тестировщики очень важны: ни одна уважающая себя компания не будет запускать продукт без внимательного тестирования. Везде, где есть разработчики, будут и тестировщики.
Так как профессия довольно молодая, спрос на специалистов есть, и найти работу реально.
Где учиться
На тестировщиков постепенно начинают учить везде, где учат на разработчиков. В Практикуме тоже: посмотрите наш бесплатный тренажёр для тестировщиков и приходите осваивать новую профессию — с наставниками и чёткой системой роста это легко и приятно. Мы обучаем ребят до уровня QC: то есть помогаем научиться самому тестированию и организации работы тестировщика. До уровня QA люди уже доходят самостоятельно.
Курсы по программированию с нуля
Приходите к нам в ИТ. У нас есть удаленная работа, высокие зарплаты и удобное обучение в «Яндекс Практикуме». Старт бесплатно.
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Еще по теме
Кто такой дата-сайентист
Если вы не знаете, чем заняться ближайшие 15 лет, — идите в дата-сайенс, помогите нейросетям захватить мир.
Как стать богатым программистом
Четыре стратегии повышения дохода, если ты владеешь хотя бы одним языком программирования.
Как стать контент-менеджером (и зачем)
Кто такой архитектор в ИТ и как им стать
Сам код не пишет, а другие — пишут.
ColdFusion — редкий и важный язык программирования
Один из первых серверных языков, который смог найти себе место в современном мире.
Что такое логарифм в математике и в жизни
И при чём здесь капуста, горные козлы и ракетостроение
Как проверить, работает ли интернет
Рассказываем про две команды, которыми пользуются сотрудники техподдержки провайдера
Как на самом деле производят процессоры
Чтобы создать сверхмощный процессор, достаточно простого.
Спасательный круг для тех, кто начинает писать на JavaScript
Когда что-то не получается
Мобильная разработка для iOS и Android — что лучше и с чего начать?
Статья для тех, кто не знает, что выбрать
Как задавать размеры шрифта в вёрстке
Всё просто, но есть нюанс.
Что такое искусственный интеллект
В этой статье ни одной шутки про «Скайнет».
Облачный гейминг: что это и как работает
Как запустить новую игру на слабом железе (и кайфануть)
Источник: thecode.media
Как стать тестировщиком ПО: пошаговая инструкция
Рассказываем, какие книги читать и какие технологии осваивать, чтобы стать тестировщиком ПО.
Oleg Shlemin
Тестировщик ПО (или QA-инженер) — распространенная отправная точка для тех, кто хочет начать карьеру в IT-индустрии, и просто востребованная профессия. Мы расскажем, где новичкам набраться полезных навыков и знаний, а также заработать заветные строчки для резюме и проекты для портфолио.
Чем занимаются QA-инженеры
Тестировщики ПО помогают делать продукты — приложения, сайты, программы, автомобили — такими, чтобы ими можно было пользоваться. Они определяют, какие элементы системы функционируют некорректно или не так удобны, как хотелось бы, находят причины этого — ошибки в коде, дизайне или логике — и отдают на исправление. Все это делается для того, чтобы конечные пользователи получили стабильный, надежный и удобный продукт.
Какие навыки нужны начинающему тестировщику
Поскольку тестирование применимо к самым разным областям, то для работы тестировщику могут понадобиться различные знания. Однако что-то общее есть во всех случаях: нужно, во-первых, знать теорию тестирования, ну а уже дальше — обладать некоторым объемом знаний по тестируемой системе и используемым в ней технологиям.
С теорией все довольно понятно: потенциальный работодатель будет хотеть от вас знаний о том, что такое тестирование, зачем оно нужно в цикле разработки и какое место в ней занимает. Также хорошо бы знать основные методологии разработки (AGILE, SCRUM и прочие страшные слова) — просто для того, чтобы вы могли работать в команде, которая функционирует по определенным правилам. Также неплохо знать, как грамотно написать дефект, что такое тест-кейсы и как их нужно составлять, что такое чек-листы, когда лучше использовать кейсы, а когда проще ограничиться чек-листом.
Если теория тестирования применима ко всем областям, то технические навыки, которые вам понадобятся, зависят от области, в которой вы решили работать. Скажем, если вы хотите заниматься тестированием в области веб-приложений, то очень полезно знать, как работает браузер и из чего состоит веб-страница. И вряд ли это вам пригодится, если вы будете заниматься тестированием бортовых систем самолета.
Впрочем, самые популярные направления разработки сейчас — это именно веб и мобильные платформы. С вебом уже разобрались, а для тестирования мобильных устройств нужно знать особенности построения мобильных приложений, их жизненные циклы и отличия от десктопных приложений, особенности Android и iOS, ну и хорошо бы также ознакомиться с руководствами по дизайну приложений для мобильных устройств от разработчиков обеих систем.
Наконец, практически любая современная программа будет использовать базы данных, так что вам нужно будет узнать, что это такое, и научиться писать простые SQL-запросы.
Нужно ли тестировщику уметь программировать
Вопрос, при выяснении которого сломано немало копий: нужно ли тестировщику уметь программировать. Здесь существуют разные мнения, но все сходятся в том, что умение программировать точно не помешает. На старте оно может и не понадобиться, но будет несомненным плюсом.
Навыки программирования могут пригодиться как для понимая того, что происходит в тестируемом приложении, так и для автоматизации каких-то рутинных задач, даже если вы не идете именно в автоматизированное тестирование. Если же вас интересует область автоматизации тестирования, то тут ответ однозначен: вам нужно учить какой-нибудь язык программирования. Если вы уже работаете, то хороший вариант — учить тот язык, на котором в вашей компании ведется разработка. Если еще нет — учите любой из популярных сегодня языков.
Если уж мы говорим про языки, то тестировщику очень полезно знать еще один язык — английский. Хотя бы на уровне чтения документации. Без этого можно работать, но множество материалов сейчас на английском, и его знание может очень помочь.
Как учиться начинающему тестировщику ПО
Учиться лучше так, как удобнее лично вам: по книгам, по статьям, по видеокурсам — или по всему сразу. К счастью, про тестирование очень много материалов в любой форме, так что с поиском информации проблем возникнуть не должно.
Есть множество блогов от известных тестировщиков, есть статьи по тестированию на тематических ресурсах, YouTube полон видеокурсов, в том числе от крупных компаний, есть множество докладов с конференций по тестированию, которые может быть полезно посмотреть. Кстати, на конференциях часто бывают доклады именно для начинающих тестировщиков.
Кроме того, есть образовательные платформы вроде Coursera или Udemy с обучающими курсами, в том числе бесплатными.
Можете начать погружение в тему с книг — приведем четверку самых, на наш взгляд, полезных:
- Ли Коуплэнд, «Практическое руководство по тест-дизайну» (Lee Copeland, Practitioner’s Guide to Software Test Design).
- Гленфорд Майерс, Том Баджетт, Кори Сэндлер, «Искусство тестирования программ» (Glenford J. Myers, Corey Sandler, Tom Badgett, The Art of Software Testing).
- Лиза Криспин, Джанет Грегори, «Agile-тестирование. Обучающий курс для всей команды» (Lisa Crispin, Agile Testing: A Practical Guide for Testers and Agile Teams).
- Марк Фьюстер, Дороти Грэм, «Автоматизация тестирования программного обеспечения» (Mark Fewster, Dorothy Graham, Software Test Automation).
Некоторым из них уже по 20 лет, а написаны они не очень простым языком, но по-прежнему актуальны — особенно как база для начинающих.
Если решите записаться на один из множества платных курсов для начинающих тестировщиков, помните: не все они одинаково полезны, и не всегда в них есть что-то, чего нет в бесплатных.
Пожалуй, основное отличие платных — наличие преподавателя, который сможет ответить на ваши вопросы. Помимо прочего, многие IT-компании открывают собственные школы QA-инженеров и затем принимают самых способных учеников в штат. Обратите на них внимание, если вам хочется попасть к какому-то конкретному работодателю.
Как начать карьеру тестировщика
Когда поймете, что готовы перейти к реальным проектам, выберите какой-нибудь сайт или приложение и попробуйте его протестировать. Подготовьте тест-кейсы, составьте чек-листы для проверки работоспособности, подумайте, как бы вы проследили взаимодействие продукта с его серверной частью — бэкендом.
Первые реальные проекты лучше искать на платформах для краудтестинга. Там компании предлагают всем желающим протестировать их продукт на определенном устройстве и ОС. Скорее всего, работать придется за идею, то есть бесплатно, зато вы наберетесь опыта и посмотрите, как опытные QA-инженеры ведут дефекты.
Неплохой старт для начинающего тестировщика — проект с открытыми исходным кодом и баг-трекером. Это уже не только практика, но и неплохое дополнение к вашему резюме.
Наконец, не забывайте про стажировки в IT-компаниях. На много денег поначалу рассчитывать не стоит, однако если вы проявите себя, есть шанс получить приглашение на работу или рекомендацию для будущих собеседований.
Бета-тестеры и тестировщики ПО
Еще один вариант для старта карьеры — это бета-тестирование. В этом случае вы будете проверять работу программы с точки зрения конечных пользователей. Основная задача бета-тестеров — найти максимальное количество ошибок, а также определить, насколько продукт удобен.
Бета-тестерам не приходится писать скрипты и взаимодействовать с изнанкой программ, так что их работа проще и не требует глубоких знаний, поэтому вы сможете совмещать бета-тестинг с освоением теории. Такая работа развивает мышление тестировщика, учит искать в программе ошибки, позволяет придумывать и проверять неочевидные пользовательские сценарии. Это хорошая практика, которая сделает ваши резюме и портфолио еще привлекательнее.
Крупным IT-компаниям — разработчикам игр, приложений для ПК и мобильных устройств, чьими продуктами пользуются миллионы людей, бывает сложно проработать все пользовательские сценарии. Так что не удивляйтесь: «Лаборатория Касперского» тоже ищет бета-тестеров. Хотите стать одним из них? От вас потребуется только компьютер, который поддерживает актуальную версию антивируса.
Желательно установить на него виртуальную машину (например, Hyper-V или VMware), чтобы не превращать в тестовый полигон собственный ПК. Минимальные характеристики для комфортной работы — 4 Гбайт оперативной памяти, а также процессор с двумя, а лучше четырьмя физическими ядрами.
Если хотите попробовать себя в роли тестировщика — пробуйте, это полезная и востребованная профессия, да и порог входа в нее не такой уж высокий. В общем, дерзайте! Ну и смело жмите сюда, если хотите получить опыт бета-тестирования в Kaspersky.
Источник: www.kaspersky.ru
Как стать тестировщиком с нуля
В статье мы расскажем о профессии тестировщика программного обеспечения. Часто ее рассматривают как нетребовательную специальность, которая может служить «трамплином» в 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. Или он может уйти в разработчики, если знает основы программирования.
- Стать тестировщиком можно и без специального образования, но тогда не стоит рассчитывать на высокую должность и хорошую зарплату.
- Чтобы уже на старте иметь преимущества перед другими кандидатами, стоит обучиться на курсах и познакомиться с тестированием на примере реальных кейсов.
Источник: tproger.ru
Профессия тестировщик
Тестировщик ПО – одна из профессий из сферы IT. Специалисты по тестированию программного обеспечения занимаются проверкой работоспособности различных приложений, компьютерных игр, программ. Кажется, что в этом нет ничего сложного, не нужно заниматься разработкой и кодированием. Но так ли это на самом деле?
Описание профессии
Главная задача тестировщиков ПО – выявление и устранение ошибок в программном обеспечении. Они тестируют программы, проверяют и отлаживают код, улучшают юзабилити, то есть, удобство для пользователей. Для этого они оценивают продукт как со стороны экспертов, так и обычных пользователей, для которых он создается.
Тестировщики участвуют во всех этапах создания ПО – от разработки, в которой они принимают участие косвенно, до составления технической документации.
В рамках своих профессиональных обязанностей тестировщики выполняют такие задачи:
✔ Планируют процессы тестирования
✔ Продумывают разные пользовательские сценарии и проверяют программы в соответствии с ними
✔ Находят баги и составляют по ним подробные отчеты для разработчиков
✔ Анализируют требования к продукту
✔ Работают с тестовой документацией – составляют чек-листы, тест-планы и тест-кейсы
✔ Проводят повторные тестирования после исправления багов
Стать тестировщиком проще, чем программистом. В то же время, с помощью этой профессии можно легко войти в сферу IT. Многие компании готовы брать специалистов по тестированию ПО на позицию стажера (trainee) сразу после окончания курсов, без опыта работы.
Плюсы и минусы профессии
Основные плюсы профессии тестировщик:
+ Перспектива карьерного роста. Можно развиваться дальше в смежных областях IT и брать на себя другие обязанности.
+ Возможность работать удаленно. В некоторых компаниях можно не сидеть в офисе, а тестировать продукты онлайн, не выходя из дома.
+ Быстрое обучение. Для получения профессии не обязательно заканчивать вуз, часто бывает достаточно курсов.
+ Низкий порог входа. На начальном этапе от тестировщиков не требуют больших технических знаний, главное желание обучаться и усидчивость.
+ Отсутствие возрастных ограничений. При желании специалистом по тестированию ПО может стать как молодой человек после школьной скамьи и окончания курсов, так и предпенсионер при достаточном желании.
+ Возрастающий спрос на тестировщиков. Компании заинтересованы в создании качественных продуктов, работающих без сбоев, так как конкуренция в сфере высокая.
Минусы:
— Однотипная монотонная работа, особенно на старте карьеры. Можно подавать команде новые идеи по работе ПО, и тогда будут доверять больше интересных задач.
— Сидячая работа. Приходится практически беспрерывно сидеть с утра до вечера, особенно если работать из дома.
— Большая конкуренция среди начинающих специалистов, поэтому лучше обучаться и развиваться дальше, становиться востребованным.
— Ненормированный график довольно частое явление в данной специальности.
Популярные направления и специализации профессии
Тестировщики занимаются ручным или автоматизированным тестированием ПО, поэтому идет разделение по направлениям деятельности:
✔ Ручной тестировщик (мануальщик) – тестирует программное обеспечение вручную. Он имитирует поведение пользователя, старается совершить как можно больше ошибок, которые тот мог бы сделать, пробует разные сценарии взаимодействия. При планировании ручных поведенческих тестов специалист должен учитывать технические требования к продукту и проверять их на соответствие.
✔ Специалист по автоматизированному тестированию – пользуется для проверки работоспособности ПО специально написанными программами. Это специалист более высокого уровня, он сам пишет скрипты для проверки рутинных задач, которые сокращают время на тестирование продукта. Автотестировщик знает языки программирования и разбирается в кодах.
✔ Аналитик по тестированию (Test Analyst) – это специалист, который отвечает за документацию проекта. Он собирает и систематизирует информацию, чтобы простым тестировщикам было легче работать, сравнивает актуальные результаты тестирования, определяет, соответствуют ли они требованиям.
✔ QA-инженер – специалист по контролю качества ПО, он участвует во всех этапах разработки, помогая бизнесу выпустить качественный продукт. У QA-инженера больше ответственности за конечный результат.
Тестировщиков также различаются по специализациям, в зависимости от того, какое ПО они проверяют – мобильные приложения, компьютерные игры, интернет-банкинг, сайты, юзабилити-тестирование.
Какими качествами должен обладать тестировщик
Не каждый может стать хорошим тестировщиком. Для этой профессии важны такие личные качества:
✎ Развитые аналитические способности, так как в процессе работы необходимо продумывать и анализировать различные пользовательские сценарии
✎ Внимательность, умение фокусироваться на определенной задаче и работать в режиме многозадачности
✎ Усидчивость
✎ Настойчивость
✎ Высокий уровень ответственности
✎ Обучаемость и тяга к пополнению знаний
✎ Коммуникабельность, умение работать в команде
✎ Природное любопытство и упорство
Тестировщикам также важно уметь правильно формулировать свои мысли при общении с разработчиками и заказчиками, грамотность.
Где учиться
Чтобы стать тестировщиком, не обязательно получать высшее образование, однако если есть желание развиваться в профессии и IT-сфере, стоит рассмотреть возможность обучения в вузе. Подойдут технические специальности – информатика и вычислительная техника, информационная безопасность и другие.
Абитуриентов принимают в России разные вузы:
► Московский политехнический университет
► МГТУ им. Н.Э. Баумана
► Московский технический университет связи и информатики
► Российский университет дружбы народов и многие другие
Для получения профессии тестировщика можно также поступить в учебные заведения среднего звена – техникум или колледж, либо получить нужные навыки на онлайн-курсах. Их предлагают Skillbox, Geekbrains, «Нетология» и другие образовательные площадки. Специальные курсы тестировщика на Java есть в SkillFactory. Для большинства работодателей высшее образование специалиста по тестированию ПО не принципиально.
Где работать
Найти работу тестировщика с нуля несложно. Их ждут многие компании:
✔ Разработчики любого программного обеспечения
✔ Разработчики компьютерных игр
✔ Разработчики мобильных приложений
✔ Финансовые компании и банки для тестирования собственных интернет-банкингов и мобильных приложений
✔ Компании по системной интеграции
✔ Электронные ритейлеры
Тестировщиком ПО можно работать и в иностранных компаниях.
Оплата труда
Начинающий специалист может рассчитывать на заработную плату 25 000–40 000 рублей. В вакансиях для опытных тестировщиков бывает оплата в 200 000 рублей и больше.
Уровень зарплаты зависит от таких факторов:
• Размера и местонахождения компании
• Программного обеспечения, которое нужно тестировать
• Уровня ответственности и должностных обязанностей
• Графика работы
► Средняя заработная плата тестировщиков в регионах – 60 000–70 000 рублей.
► В Москве специалисты по тестированию ПО в среднем получают 100 000 рублей.
Карьерные возможности
У хорошего тестировщика, который обладает базовыми знаниями HTML, SQL, знает языки программирования, например, JavaScript, умеет работать с Postman, Dev Tools, Charles, есть все шансы для роста в профессии.
С нуля специалист может пройти такой путь в компании:
✎ Trainee – стажер без опыта работы, обладающий только теоретическими знаниями
✎ Junior – младший тестировщик
✎ Middle – специалист среднего уровня
✎ Senior – опытный сотрудник с кейсами, знанием основ программирования
✎ QA Tech Lead – руководитель команды тестировщиков, ведущий специалист
Многие тестировщики в процессе работы проходят обучение, получают новые навыки и через несколько лет становятся программистами, разработчиками, бизнес-аналитиками, IT-менеджерами.
Перспективы профессии
Профессия тестировщика сегодня – одна из наиболее востребованных. В первую очередь, она привлекает низким порогом входа в перспективную IT-сферу. Работодатели готовы достойно платить хорошим специалисты. В ближайшие годы востребованность профессии не уменьшится, а наоборот, будет только расти, так как компании конкурируют между собой за качество программного обеспечения.
Источник: ЦТР «Гуманитарные технологии»
Если вы хотите получать свежие статьи о профессиях, подпишитесь на нашу рассылку.
Источник: proforientator.ru