Тестирование – важный этап при разработке программного обеспечения. Выполняется или непосредственным разработчиком, или специально обученным человеком. Очень часто – отдельной командой специалистов.
В данной статье будет рассказано о том, как пройти собеседование на тестировщика, а также с какими целями и задачами будет сталкиваться соискатель. А еще стоит изучить этапы тестирования и вопросы, которые могут задать потенциальному работнику.
Определение тестинга
Тестирование – процедура исследования или испытания игры/программного обеспечения, имеющая в качестве цели проверку соответствия реального поведения с ожиданиями. Помогает:
- обнаруживать ошибки;
- обеспечивать интеллектуальную проверку ПО;
- проводить техническое обследование приложения или игры;
- наблюдать за ходом выполнения программы в специальных условиях;
- отслеживать жизненный цикл контента;
- выявлять ситуации и обстоятельства, которые можно отнести к нежелательным для ПО.
Существуют разные виды тестирований. Для каждого принято нанимать на работу или отдельного человека, или специалиста-универсала (что обойдется дороже). Главное – такой специалист должен хорошо разбираться в разработке ПО: этапы, методологии, жизненный цикл, техники и виды тестирования и т. п.
Виды тестирования
Вопрос по проведению тестов важен для каждого проекта – как для небольшого, так и для крупномасштабного. Это – основа, которая поможет определять работоспособность полученного продукта.
Существуют разные виды тестирования:
- Статическое. Не требует для проведения проверки непосредственного запуска программы. Ему отдают предпочтение в самом начале работы – инженеры проводят проверку проектной документации, а также спецификаций. Они будут вычитывать уже готовый код.
- Динамическое. Требует запуска соответствующей утилиты. Такой вариант осуществляется после статического. Тестеры будут проверять поведение контента, когда тот запущен. Это помогает определить время отклика, а также нагрузку на память и процессор задействованного устройства.
- Функциональное. Это то, как ПО справляется с изначально поставленными задачами.
- Нефункциональное. Позволяет оценить производительность системы, а также ее надежность и безопасность. Отвечает за нормализацию функционирования софта с окружением – операционной системой, а также подключенным оборудованием.
- Тестирование по принципу «черного» ящика. В этом случае работать предстоит только с интерфейсом. Разработчику/тестировщику не потребуется программная кодификация. Будет оцениваться производительность программы, а также проведена проверка на наличие всех изначально поставленных задач проекта. Осуществляется поиск ошибок в интерфейсе.
- Тестинг по типу «белого» ящика. Работник будет иметь доступ к коду. Он отвечает за проверку структуры и логики всего программного обеспечения, а также ее отдельных компонентов. Обычно такое тестирование непосредственно выполняет разработчик/программер.
- Ручное. Поиск багов, неполадок и ошибок вручную. Сторонние программы и приложения для реализации задачи не привлекаются.
- Автоматическое. Для того, чтобы его осуществить, нужно использовать специальное ПО. Оно помогает без ручной проверки обнаружить неполадки софта.
Все это – задачи тестировщика. Такой специалист может концентрироваться на одном типе тестирования или сразу на нескольких. Обычно вопрос решается за счет повышения оплаты труда тестера, если у него уже есть достаточный опыт и багаж знаний.
Проверка на разных этапах
Тестирование – это многоуровневый процесс. На каждом этапе разработки принято проверять отдельные моменты, а также решать конкретные вопросы:
- Модульное тестирование. Осуществляется в самом начале. К тому моменту уже готовы куски кода. Приложение тестируется по блокам (модулям): классам, объектам, функциям и так далее. Тесты будут писаться отдельно для каждого элемента. Это – тестирование работоспособности части кода. Относится к низшему уровню.
- Интеграционное тестирование. Второй этап. Позволяет определить связи между уже проверенными компонентами. Здесь решается вопрос взаимодействия ПО с операционной системой и оборудованием.
- Системный тестинг. Осуществляется в момент принятия заказчиком итогового софта. Цель – убедиться в том, что продукт будет отвечать изначально установленным требованиям.
На разных этапах разработки выбирают различные цели процесса:
- Во время написания кода нужно решить вопрос по обнаружению максимального количества ошибок и сбоев для своевременного исправления.
- При приемочном тестинге проводится демонстрация работоспособности софта.
- Во время сопровождения утилиты тестирование помогает решать вопросы, связанные с багами и неполадками. Речь о тех ошибках, что появились после внесения корректировок в программное обеспечение.
Стоит отметить, что с самого начала идеальное тестирование провести не получится. Особенно если речь идет о больших проектах. Тестер найдет хотя бы несколько ошибок в работе программного обеспечения.
Зато при грамотно составленном коде можно надеяться на то, что критических ошибок в приложении не будет обнаружено ни на одной стадии реализации проверки.
Тестировщик – это…
Тестировщик – специалист, который:
- проверяет работоспособность кода и его блоков;
- устанавливает, насколько софт решает изначально поставленные заказчиком цели и задачи;
- проверяет интерфейс и функционал;
- отлаживает работу получившегося контента;
- указывает на критические и мелкие ошибки, баги;
- удостоверяется в том, что программное обеспечение или игра готовы к релизу.
При тестинге игр в качестве проверяющих могут выступать члены потенциальной целевой аудитории. Именно это помогает сразу понять, насколько продукт удовлетворяет требованиям клиентуры.
О личностных качествах
Вопрос о том, почему некоторым удается построить карьеру в выбранном направлении, а кому-то нет, интересует многих. Мало хотеть заниматься тестингом. Нужно еще обладать определенными качествами личности. Без них добиться успеха окажется весьма проблематично, как и в любой сфере деятельности.
Хороший тестировщик – это человек, обладающий следующими личностными качествами:
- стрессоустойчивость;
- наличие хорошо развитой логики и критического мышления;
- конструктивное восприятие критики;
- креативное мышление, которое помогает найти оригинальное решение поставленных задач;
- умение выполнять монотонную работу – иногда тестинг требует именно этого;
- навыки работы в команде;
- коммуникабельность;
- быстрая обучаемость.
Также основным качеством будет являться усидчивость. Неплохо, если тестер будет иметь хорошее самообладание и самодисциплину. Это особо актуально для тех, кто работает над крупным проектом без большой команды.
Знания
Собеседовать позовут лишь того, кто подготовит грамотное резюме. Попасть на беседу с потенциальным работодателем – это лишь первый этап трудоустройства. Далее предстоит продемонстрировать свои навыки и умения. Без определенного багажа знаний тут не обойтись.
Хороший тестер должен разбираться в:
- компьютерной графике (особенно если речь идет о работе с играми);
- языках программирования (C++, JS, Java, Python и других – чем больше, тем лучше);
- иностранных языках (английский – это минимальная база);
- в видах и типах тестирования;
- базах данных;
- бизнес-аналитике (если речь идет о проекте для продвижения какого-то дела).
У тестировщиков игр дополнительно должны быть познания в игровой индустрии. В идеале – личный опыт. Такой сотрудник будет не только специалистом, но и потенциальной целевой аудиторией. Поэтому ему будет оказано большее внимание, чем остальным кадрам.
Некоторые тестеры, которые только выбрали этот путь карьеры, могут обладать минимальными знаниями в области IT. По мере набора опыта придет и необходимый багаж знаний.
Как проходит собеседование
Вопрос о том, как проходит собеседование при трудоустройстве на роль выбранного кадра, беспокоит каждого потенциального соискателя. Полный перечень того, чем будут интересоваться в компании работодателя предугадать трудно.
Для начала стоит запомнить, что «собеседовать» будут по определенному плану:
- Отправка резюме работодателю.
- Изучение предложенной информации о соискателе с последующим приглашением на личную беседу.
- Собеседование со специалистом по подбору кадров. Обычно на данном этапе ждут ответов на вопросы, касающиеся резюме.
- Тестовое задание. Иногда оно небольшое, а где-то – крупное. Бывает и так, что при трудоустройстве вообще отсутствует тестировочная часть: достаточно личной беседы с потенциальным работодателем.
Иногда достаточно сделать небольшое практическое задание или оказать помощь в решении уже имеющейся у компании проблемы, чтобы оказаться принятым на работу.
О вопросах
Собеседовать соискателя – сложная и ответственная задача, к которой необходимо подойти основательно. В Москве и других регионах России (и мира – тоже) тестировщики – это востребованные кадры. Но найти хорошего специалиста в данной области бывает проблематично.
Задавать во время беседы могут совершенно разные вопросы. Вот самые распространенные из них:
- Почему выбрали именно это направление?
- Сколько хотите зарабатывать?
- Какой график работы хотели бы иметь?
- Что умеете делать кроме тестинга?
- Какие цели и задачи преследует тестирование?
- Какие виды тестинга знаете?
- Что относят к тест-кейсам?
- Какую роль в команде принимали ранее?
- Какие у вас были проекты раньше?
- Зачем вообще нужно тестирование?
Это – основные вопросы, которые встречаются более часто на практике. Они помогают понять, почему человек решил пойти по пути тестинга, а также какие цели преследует. Если сотрудник всего лишь гонится за зарплатой, в выбранной области добиться определенных высот ему вряд ли удастся. А здесь можно посмотреть, какие еще вопросы могут встречаться.
P. S. Большой выбор курсов по тестированию есть и в Otus. Среди них широко представлено и направление автоматизации. Есть варианты как для продвинутых, так и для начинающих пользователей.