Сегодняшний гость — Александр ван дер Берг, опытный тестировщик программного обеспечения, который может пролить свет на эту часть отрасли.

Что такое хороший тестер?

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

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

Хороший тестировщик также разрабатывает автоматизированные тесты, требующие минимального обслуживания. Это означает, что тесты имеют хорошую архитектуру и требуют от тестировщика навыков программирования. Автоматические тесты также должны быть надежными и при одинаковых условиях всегда показывать одинаковый результат. Автоматические тесты не должны быть ненадежными, потому что это приводит к потере доверия к результатам тестирования.

Что вы искали в людях, когда проводили собеседования с кандидатами в младшие коллеги?

Я искал разные вещи:

  • Опыт работы с инструментами и в технической [основной] области, которую мы использовали в компании. Когда мне, например, понадобился кто-то для автоматизации тестирования мобильных приложений, соискатели, которые автоматизировали только программное обеспечение Windows Desktop, не подходили наилучшим образом, потому что им нужно было сначала изучить автоматизацию тестирования мобильных приложений и используемые инструменты.
  • Талант находить ошибки. Я проверил это, показав несколько скриншотов с веб-сайта или приложения компании и спросив соискателя, как следует тестировать эти экраны.
  • Навыки программирования для автоматизации тестирования. Я всегда проверял знания Git и программирования с помощью небольшого упражнения. Это отфильтровало многих претендентов на работу, потому что некоторые люди пишут в своем резюме все, что они когда-либо устанавливали на свой компьютер, но не имеют практических знаний ни в одном из них.
  • Моя рекомендация для соискателей: сосредоточьте свое резюме и заявления о приеме на работу на область, которую вы хорошо знаете и в которой хотите работать. Если вы хотели бы изменить область тестирования, то напишите для этого хорошую мотивацию. И пусть ваше резюме будет кратким: никто не тратит время на чтение резюме на десяти страницах, когда они получают десятки заявок каждый день.

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

Как обычно, я бы сказал, что тестировщиков ищут много. Возможно, это изменится, когда ИИ будет проводить тестирование, но кто-то с опытом тестирования должен будет сказать инструменту ИИ, что делать. Таким образом, задачи работы по тестированию изменятся, но работа все равно будет нужна.

Как вы думаете, почему так сложно найти хороших тестировщиков?

Только два процента кандидатов на работу, которые я получил за последние несколько лет, обладали навыками и знаниями, необходимыми для компании, в которой я работал.

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

Другие люди работают в тестировании только ради денег, которые вы можете заработать в ИТ, а это означает, что они не очень мотивированы и не умеют это делать, и на самом деле не заинтересованы в том, чтобы стать лучше.

Немногие люди любят тестировать И хорошо в этом разбираются. Большинство людей хотят создавать новые вещи.

Как прошел ваш день в качестве тестировщика?

Это зависит от компании. Некоторые компании структурировали тестирование и автоматизацию тестирования в Scrum-спринтах так же, как и для разработчиков. В других я не знал, что буду делать на следующий день, потому что возникало много неожиданных вопросов и задач. Для некоторых компаний я проводил только ручное тестирование; для других цель состояла в том, чтобы автоматизировать как можно больше тестов или помочь разработчикам в настройке системы непрерывной интеграции и развертывания. Я также работал параллельно с тестированием в качестве поддержки третьего уровня и анализировал проблемы, о которых сообщали клиенты, потому что тестировщики обычно очень хорошо знают все части и подсистемы продукта.

Из того, что я слышал, компании часто ищут автоматизацию тестирования, но в итоге требуют ручного тестирования. Каков ваш опыт в этом?

Это есть и всегда будет смесью ручного тестирования и автоматизации тестирования: часто невозможно автоматизировать каждый тест. Цель должна состоять в том, чтобы автоматизировать как можно больше тестов, чтобы уменьшить усилия по ручному тестированию. Автоматизацию тестирования не следует откладывать, потому что, когда всегда нужно проводить слишком много ручного тестирования, тесты никогда не будут автоматизированы.

Кроме того, исследовательское тестирование всегда будет ручным и всегда будет необходимым.

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

Как обычно происходит сотрудничество между тестированием и программированием?

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

Как узнать, подходит ли им эта работа?

Самое главное, чтобы вам нравилась ваша работа. Только тогда у вас появится мотивация выполнять работу качественно и совершенствоваться в ней.

Возможно, в течение пробного дня можно познакомиться с отделом, коллегами и задачами.

Если вы не уверены, возможно, лучше не начинать; или попробуйте и смените работу, если она не подходит. Смена работы не является большой проблемой, и в любом случае работа не вечна.

Кому бы вы порекомендовали тестирование в качестве работы?

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

Узнать больше

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

Первоначально опубликовано на https://how-to.dev.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .