Агентство
интернет-маркетинга

 

Профессия: тестировщик ПО. Где обучаться? Сколько можно заработать?

18.05.2023

Сложность: средняя

8 мин.

256

Профессия: тестировщик ПО. Где обучаться? Сколько можно заработать?

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

Кто такой тестировщик? 

Как только программист начинают придумывать концепцию будущей программы, тестировщик придумывает к ней баги (ошибки). Приведем пример. В одной фирме для повышения продаж решили запустить онлайн магазин. В кампании сотрудники будут работать над интернет-магазином (ИМ). Одни будут писать код, другие тестировать функционал. У каждого свои обязанности. Во время работы нужно выполнить следующие задачи, разместить карточки товаров, реализовать форму заполнения для пользователей и сделать возможность добавления в корзину.

После завершения проекта, тестировщик проверяет, как работают все функции. Например:

  • Ввод букв в поля для чисел, чтобы проверить валидацию при отправке данных.
  • Неправильный ввод email.
  • Как среагирует программа, если добавить больше 40 товаров в корзину, а если больше 100?Как отображается магазин на всех цифровых устройствах: смартфоны, планшеты, ПК. 

виды тестирования

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

Здесь предоставлен не полный список, который требуется выполниться для проверки ИМ. Еще нужно выяснить, насколько проект удобен для пользователей. Здесь запускают A/B-тестирование. 

Пользователи разделяются на две группы. Каждой предлагается протестировать один вид сайта. Выбор останавливается на том варианте, который более удобный, т.е. где совершено больше целевых действий, например покупка товара. Тестирование проходят на специальных платформах Google Optimize для веб-сайтов или Optimizely для приложений. 

виды тестирования программного обеспечения

Еще Гугл активно развивает инструмент A/B-тестирования в Google Аналитике 4.

С тестированием продукта связано три обозначения.

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

QC – второй уровень quality control. Стремление обеспечить сохранения и улучшение качества ПО, а также устранение всех ошибок при тестировании. 

QA – последний, третий этап – гарантия качества. Следит за качеством проекта и контролирует все этапы разработки. 

tester qc qa

Какой инструментарий нужен новичку тестировщику?

Требования к компьютеру зависит от выбранного типа продукта, над которым будут проводиться тесты. Минимальные параметры 4Гб памяти 2-х ядерный процессор, а лучше 4-х ядерный. 

Если проект мультиплатформенный, то потребуется дополнительное оборудование. В случае отсутствия нужного “гаджета”, компенсировать нехватку устройства можно установкой на ПК эмулятора, который создает среду для различных устройств, со всеми функциями. Например, установка Nox позволяет эмулировать андроид. Все приложения ставятся на компьютер просто переносом APK-файла в Nox. Запуск происходит через программу эмулятор. 

программа nox

Дополнительные инструменты, которые могут понадобиться – это Chrome DevTools для браузеров и Postman для Api. Кроме того для ведения тестовой документации пригодятся.

  • Testlink
  • Allure TestOps
  • TestIT
  • Testrail

сервис Testrail

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

Базы данных. Практически у каждой программы есть своя база, там хранятся данные о пользователях – имена, контакты и прочее. Если проект игровой, то база расширяется дополнительными таблицами, такими как характеристики героев и внутриигровые транзакции. Поэтому в большинстве проектов база крайне необходима. 

Тестировщику по роду деятельности придется работать и с базами. Основной язык – это SQL. С помощью него делаются запросы выборки и объединяются строки в таблицах.

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

Главное правило – один отчет на одну ошибку. Не нужно в один файл  пытаться запихнуть все найденные ошибки и описания к ним. Вот пример шаблона: Bug Report.

тестировщик с чего начать

Какие навыки пригодятся тестировщикам?

  1. API тестирование – обработка информации на серверах, в приложениях и веб-сайтах.
  2. Командная строка – умение пользоваться командными утилитами будет плюсом в любой IT сфере.   
  3. Знание английского языка пригодиться, если документация и интерфейс программы на английском. 
  4. Протоколы XML, JSON, HTTP. Рекомендуется изучить, как сделать запросы на сервере.
  5. Умение писать автотесты.  
  6. Git – система контроля версий. Полезный инструмент, отслеживает все изменения вносимые в код. В случае серьезных проблем всегда можно вернуться назад, чтобы сделать сравнения с последней стабильной версией и исправить ошибки. 

Виды тестирования программного обеспечения

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

  • Функциональные – это вид тестирования направлен на проверку конкретных элементов программы, т.е. поведение продукта, во время действий пользователя. Сюда входит тестирование GUI (пользовательский интерфейс), а именно как работают кнопки. Выполняют ли они те задачи, для которых они создавались. Безопасность – допустим, компания выпустила софт, где нужно ограничить появление ярких цветов для людей, у которых резкая насыщенность вызывает раздражение.  
  • Нефункциональные ошибки. Здесь подразумевается проверка нефункциональных элементов интерфейса, сюда входят шрифты, цвет фона и т.д. Перечислим, с чем придется столкнуться тестировщику.
  • Юзабилити – это удобство программы или интернет-ресурса. При первом заходе пользователь видит, расположение элементов. Интерфейс следует сделать понятным и удобным. Это значит, что шрифт должен быть хорошо-читаемым и не сливаться с задним фоном. Кроме того рекомендуется применить одинаковые отступы между кнопками и убедиться, что панель управления будет хорошо смотреться при изменении масштаба в случае, если просмотр происходит через мобильное устройство или планшет. 
  • Локализация – адаптация программы под культурные и национальные особенности другой страны. Это значит, что требуется правильно перевести продукт. Некоторые слова после перевода могут стать длиннее, верстку придется адаптировать. 
  • Конфигурационные – как будет работать приложение на разных устройствах, например, игра на андроидах 4-5 поколения. Некоторые игры обладают таким мощными системными требованиями, что запускаются только на единичных компьютерах
  • Совместимость – поддержка периферийных устройств. Джостики, наушники  для компьютера.
  • Инсталляционные – установка, удаление и обновление программы может сопровождаться ошибками. Особенно часто встречались во времена пиратских дисков, когда игры записывались на лазерную болванку и продавались в магазинах. При распаковке архива могла появиться надпись “архив поврежден”. Поэтому от тестироващика требуется запустить инсталляцию и посмотреть, как устанавливается, а потом удаляется soft и проверить какие хвосты остались после удаления.  
  • Производительность – проверка на нагрузку, как будет вести себя проект при внештатной ситуации. Например, веб-сайт с регистрацией. Что произойдет, если зарегистрируются одновременно 1000 или 10000 человек? При исследовании нужно подтверждение, что сервер выдержит большой наплыв посетителей. Существуют дополнительные подвиды тестирования: нагрузочное, масштабируемое, объёмное, стрессовое и конкурентное. 
  • Безопасность – проверка проекта на защищенность. Как легко взломать приложение или сайт? Здесь нужно убедиться, что злоумышленник не сможет использовать элементы ресурса в своих целях, такие как текстовые поля и ссылки с get запросами. Требуется все протестировать и убрать уязвимости.

По методу:

При тестировании у специалиста будут уровни доступа к коду, которые называют ящиками. 

  • Черный ящик – нет доступа к коду (чаще всего применяется на практике).
  • Белый – полный доступ к коду, дается возможность изменить код самостоятельно.
  • Серый – имеется частичный доступ к коду.

По критериям изменения:

  • Смоук-тест (дымовое тестирование) – направлено на проверку начальных функций. На первом шаге нужно узнать, функционируют ли вообще приложение.
  • Регрессивное тестирование. Направлено на то, чтобы проверить работоспособность старых функций при активных действиях в приложении.
  • Санитарное – узконаправленное тестирование на конкретную функцию, чтобы убедиться в ее исправности. В случае поломки, баг устраняют и делают повторную проверку.
  • Тестирование билда (build) – сборка, над которой нужно провести тест по установленным в документации требованиям.  

Тестирования по уровням

  • Модульное тестирование. Анализ модуля на выявление проблем.  В профессии тестировщик игр, есть такие модули как PvP и PvE. Требуется проанализировать, как будет вести себя программа при взаимодействии игроков друг с другом или игрока с врагом.  

тестировщик игр

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

Это не все виды тестирования программного обеспечения, которые существуют в профессии тестировщика, более подробно можно почитать в книге “Куликов С. - Тестирование программного обеспечения. Базовый курс. 3-e издание – 2020”

Тестировщик с чего начать? 

В интернете можно найти много обучающего контента. Выберите тот формат обучения, который вам удобен, читайте книги для тестировщиков, статьи или смотрите видео на youtube. В свободном доступе есть подходящий курс Михаила Портнова «Тестирование программного обеспечения в США». На начальном этапе вы освоите азы, а под конец научитесь писать автотесты, также в сети есть видео полный курс QA на 10 часов. 

книги для тестировщиков

Книги для тестировщиков (одну мы привели выше, остальные):

  1. Роман Савин - tестирование dot com
  2. Рекс Блэк - Ключевые процессы тестирования – 2006
  3. Канер С., Фолк Дж., Енг Кек Нгуен - Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений – 2001
  4. Как тестируют в Google Дж. Уиттакер, Дж. Арбон
  5. Дастин Автоматизированное тестирование ПО
  6. Грегори Дж., Криспин Л. - Agile-тестирование Обучающий курс для всей команды – 2019
  7. Бейзер Б. - Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем – 2004
  8. Patton R. - Software Testing, 2nd Edition – 2005
  9. Glenford J. Myers - The Art of Software Testing, 3rd Edition – 2011

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

К недостатком самообучения можно отнести то, что с каждой проблемой придется разбираться самостоятельно, т.е. без наставников, что является непростой задачей. На поиск ошибок тратиться много времени. Порой бывает, что простая точка с запятой ломает проект или неправильное заполнение полей может выдать совершенно неожиданный результат. 

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

тестировщик игр без опыта

Нужно ли знать языки программирования? 

Для ручного поиска ошибок языки не требуются, однако если писать автотесты, то здесь уже понадобятся знания Java. Поэтому рекомендуется изучить Java и дополнительно библиотеку Selenium. 

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

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

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

Особые навыки, которые приветствуются.

  • Внимательность.
  • Грамотность.
  • Умение искать, анализировать и задавать вопросы.
  • Ответственность.
  • Понимания принципов составление SQL запросов.

Как стать тестировщиком игр без опыта? 

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

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

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

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

как стать тестировщиком игр

Какие ошибки потребуется исправлять в профессии тестировщика игр?

  1. Visual. Отсутствие текстур. Дефект встречается в уровнях бродилках, когда герой перемещается по коридору и вместо текстуры, черная стена. 
  2. Audio. Пропадает звук при выстреле или во время перехода между уровнями. Подобная проблема иногда связана с тем, что в папке с игрой звуковой файл назван неправильно. Исправляется просто переименованием. 
  3. Level design (дизайн уровней) – невидимые стены, пройти нельзя из-за чего запарывается прохождение или наоборот главный герой проваливается через текстуру и оказывается в конце игры (раннеры, обычно используют эти дефекты для быстрого прохождения)
  4. Artificial intelligence. Игрок не может двигаться. Слишком часто умирает. Не может открыть дверь.
  5. Physics. Объекты парят в воздухе
  6. Stability. Фризы, черный экран невозможность запустить уровни
  7. Performance. Низкий FPS, уровни долго грузятся, анимация персонажей тормозит
  8. Networking. Проблемы с соединением, невозможно получить доступ к серверу.

Сколько можно заработать?

Уровень заработной платы зависит от квалификации тестировщика,  например зарплата Junior от 30 до 40тыс. Чем выше навык специалиста, тем больше платят. 

Все зависит от желания расти профессионально, сегодня с помощью интернета можно работать, откуда угодно, даже из дома. Например, поискать вакансии тестировщика без опыта удаленно. Пример на картинке. 

вакансии тестировщика без опыта удаленно

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

Готовы пообщаться?Готовы пообщаться?Готовы пообщаться?

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кейсы