Обычно в вакансиях перечисляют требования к техническим навыкам и опыту специалиста, а софт-скиллы (личные качества и навыки) упоминают вскользь или не приводят вообще. Сегодня поговорим о том, какие качества важны для работы тестировщиком.
Любопытство
У тестировщиков программного обеспечения есть общая черта — они стремятся узнавать новое. Любопытство часто помогает тестировщикам работать и добиваться хороших результатов. При тестировании специалист изучает функции и сценарии и ищет в них различия, глубоко погружается в систему, чтобы понять её поведение, — и за счёт этого обнаруживает важные ошибки.
Умение адаптироваться
ИТ-сфера постоянно развивается и меняется. Требования, технологии и даже сроки выполнения задач могут обновлять очень быстро. Но когда специалист умеет адаптироваться, он открыт новому и готов использовать более современные инструменты или находить творческие решения, чтобы ускорить свою работу.
Короче, хороший тестировщик — это тот, кто быстро подстраивается под новые технологии и подходы, чтобы получать классный результат.
Умение систематизировать и расставлять приоритеты
Тестирование программного обеспечения состоит из множества аспектов — от работы с кодом и документацией до общения с коллегами и пользователями и соблюдения сроков. В таких условиях тестировщику важно уметь расставлять приоритеты, чтобы успеть выполнить важные тестовые сценарии за отведённое время. Если не делать этого, придётся либо сдвигать сроки, либо сокращать количество тестовых сценариев из-за нехватки времени, что может привести к пропущенным ошибкам в релизах.
Способность быстро учиться
Способность быстро учиться перекликается с умением адаптироваться. Для эффективной работы тестировщику важно знать если не все технологии, то хотя бы те из них, которые используются в разработке программного обеспечения.
Клиентоориентированность
Хороший тестировщик понимает, что клиенты не владеют такими же техническими навыками. Они могут не разбираться в каких-то тонкостях работы программного обеспечения, путать термины и даже придумывать свои, чтобы описать то или иное поведение системы. Поэтому тестировщику нужно не забывать, что клиенты могут не обладать знаниями в той или иной предметной области или технологии и не продумать все обстоятельства и варианты использования ПО, которые могут возникнуть на практике.
При этом клиентом может быть не сам заказчик, а, например, руководитель отдела маркетинга. В этом случае тестировщик тоже должен уметь объяснить суть ошибки и то, что было сделано.
Умение общаться
Коммуникативность и коммуникабельность важны почти для любой работы, независимо от того, офисная она или удалённая. Коммуникативность — это умение доносить информацию до любого собеседника. Тестировщику часто приходится работать с нетехническими специалистами, и ему необходимо уметь объяснять им какие-то технические штуки.
Чтобы обсуждать с коллегами сложные для них темы и вопросы, нужно попробовать поставить себя на место собеседника и задавать больше вопросов, чтобы понять, что он имеет в виду или хочет вам сказать. Так получится не только извлечь пользу из обратной связи от коллеги, но и получить новый опыт — например, познакомившись с нестандартными суждениями о работе системы, с ожиданиями от неё и с необычным пользовательским опытом.
Коммуникабельность заключается в способности налаживать контакт с разными людьми, проявлять к ним интерес и терпение. При этом важно уметь не только говорить, но и слушать. Это значит не просто воспринять информацию на слух, но и убедиться, что вы поняли её именно так, как имел в виду ваш собеседник.
Поскольку сейчас большая часть общения происходит текстом, также очень важно уметь вести диалог в переписке. Люди часто склонны наделять собеседников в чатах лишними эмоциями, например приписывать им злость или раздражительность, если они пишут сухо и кратко. Поэтому важно показывать своё дружелюбие и открытость даже в короткой переписке в чате, чтобы собеседнику было комфортно.
Умение управлять своим временем
Даже если вы умеете систематизировать и расставлять приоритеты, может оказаться так, что время на задачи всё равно оценивается неадекватно. Обычно это приводит к тому, что вы планируете выполнить какую-то задачу за один срок, а в результате она занимает намного больше времени. Это не только снижает эффективность работы, но и может раздражать коллег — они ожидают получить результат именно тогда, когда вы обещаете, а не гораздо позже.
Чтобы научиться управлять своим временем, попробуйте проанализировать, как долго вы выполняете разные задачи. При продолжительном наблюдении у вас сложится ясная картина того, сколько времени вам требуется на то или иное дело, и вы сможете более чётко прогнозировать сроки. Но на всякий случай лучше закладывать запас, и для каждого человека он будет индивидуальным.
Можно просто всегда помнить, что всё, что может пойти не так, пойдёт не так, и даже уже отработанный процесс может застопориться из-за какой-то мелочи. Например, может сломаться компьютер, вы можете заболеть, коллега может долго не давать ответ на важный вопрос. Чтобы снизить риск сорвать сроки, попробуйте умножать примерное время работы на какой-то коэффициент, например 1,5 или 2. Если вам удастся выполнить работу раньше, будет только хорошо, а если успеть получится впритык, то вы хотя бы никого не подведёте.
Но не переборщите с этим: если всё время закладывать огромные сроки на задачу, команде это может не понравиться :-)
Способность работать в команде
Даже если тестировщик работает один, важно уметь работать в команде. Тестирование программного обеспечения — это часть большого процесса разработки, в котором задействованы разные специалисты, клиенты и пользователи. При этом работать в команде всегда сложно, ведь при этом приходится общаться с разными людьми — с разным образованием, уровнем развития и даже особенностями мышления. Но если вы этому научитесь — вас будут ценить в любой команде.