Любой продукт, будь то сайт или мобильное приложение, проходит проверку на качество. В ИТ-сфере за этим следит тестировщик (Test Engineer).
В переводе с английского глагол «test» означает «проверять». Поэтому тестировать, проверять программное обеспечение с целью обнаружения ошибок (багов) в работе ПО и их исправления – вот главная задача такого специалиста.
Он имитирует ситуации, в которых могут оказаться конечные потребители, и выступает в роли эксперта по выявлению проблем в работе приложения, сайта, игры или другого программного продукта заказчика. Тестировщик удостоверяется в том, что ПО является надежным и с пользовательской, и с технической стороны.
Место в структуре компании
Специалист может быть внештатным сотрудником либо постоянным работником, входящим в проектную команду. Второй вариант предпочтительнее с точки зрения роста специалиста, так как тестировщик включается в активную деятельность по работе с продуктом на всех этапах его разработки.
Первоначально сотрудник становится младшим специалистом по тестированию (Junior QA Engineer/Tester). Эту позицию занимают сотрудники с малым опытом работы или без него. О последующих градациях должностей тестировщиков вы можете прочитать в нашей статье Карьера тестировщика: от джуниора к лиду.
Требования к тестировщикам
Чтобы начать работать в сфере тестирования, не обязательно иметь профильное техническое образование или предыдущий схожий опыт работы. Достаточно освоить основы тестирования программного обеспечения и иметь большое желание реализовать себя в этом направлении ИТ. В дальнейшем приветствуются навыки программирования на базовом уровне, знания технологий ПО, запросов, скриптовых языков.
У специалистов по тестированию есть негласный девиз: «Если вам кажется, что ПО идеально, значит, его плохо продиагностировали». На программный продукт нужно смотреть, «надев очки перфекциониста», постоянно задавать себе вопросы:
- Что не работает?
- Что работает?
- А что работает не так, как задумывалось?
Бытует мнение, что данная профессия монотонна и не требует креативности соискателя. Это не совсем так: вакансию предложат только тем кандидатам, которые смогут проявить смекалку и творчески подойдут к решению проблемы.
Обязанности тестировщика
Давайте коротко рассмотрим главные должностные обязанности тестировщика.
Контроль и поиск проблем
В первую очередь, специалист должен контролировать качество разрабатываемых продуктов и анализировать ошибки, которые могут возникнуть у конечных потребителей при их использовании.
Тестирование
Следующий этап – это разработка тестовых наборов и их регулярный прогон, подготовка тестовых данных, написание методики тестирования.
Анализ
Данные, полученные в процессе проверок, анализируются. Обнаруженные недочеты классифицируются и заносятся в базу.
Саппорт
Тестировщик не устраняет найденные проблемы и недочеты. Он регулирует и поддерживает процесс их ликвидации – находит недочеты и сообщает о них тем специалистам, которые занимаются их исправлением (например, разработчикам), а также дополняет необходимой информацией о дефекте, если такая требуется.
Документирование дефектов
Чтобы провести тестирование, зафиксировать его результаты, тестировщик должен корректно внести информацию в техническую документацию. Рекомендуется проверять документы на предмет полноты и актуальности данных.
Дополнительные пункты
Мы выделили основные, но должны упомянуть дополнительные обязанности, которые могут пригодиться для успешной реализации проекта. Они также могут прописываться в должностной инструкции.
- Понимание, организация и проведение разных уровней тестирования (от модульного до приемочного).
- Знание языков программирования, на которых ведется разработка продукта (JavaScript, Java, Python, PHP, C#, C++ и т.д.).
- Умение работать с системами отслеживания ошибок (bug tracking systems).
- Иметь навыки работы со средствами автоматического тестирования (каким, например, является Selenium для Java).
- Коммуникация с клиентами, разработчиками, аналитиками, другими тестировщиками.
- Знание иностранного языка (обычно английского) на уровне, позволяющем читать и заполнять техническую документацию.
Как мы видим, должность тестировщика требует высоких аналитических компетенций. Приветствуются также навыки технического писателя, системного аналитика.
Ответственность за результат
Оценка результата работы происходит по количеству найденных дефектов и степени их критичности. Для руководителя будет важно, сколько времени сотрудник затратил на проведение тестов. Нужно помнить, что некачественное и/или несвоевременное выполнение обязанностей может повлечь ответственность, предусмотренную трудовым законодательством.
Чтобы выполнять задачи успешно, нужны знания тестовых сред и понимание, как переменные окружающей среды влияют на тестирование конкретного ПО. Опираясь на эти навыки, анализ требований потребителей будет даваться легко, а эффективный план тестирования будет намечаться сам собой.
Выводы
Если вы ответственный, терпеливый работник, к тому же обладающий критическим складом ума, то присмотритесь к профессии тестировщика ПО. Эта специальность может оказаться по душе именно вам!