Тестировщик ПО: как не стать «плохим» специалистом?
В жизненном цикле разработки тестирование является важным этапом, предваряющим выход проекта в массы. Каждое приложение проходит множество итераций тестирования перед тем, как попадёт к конечному пользователю.
Представьте себе качество приложения, разработчики которого решили миновать фазу тестирования! Недовольство пользователя нетрудно вообразить, — ведь это чувство вам тоже знакомо, верно? Уже не вызывает сомнений, что тестирование приложений необходимо, и для этого требуются «хорошие специалисты». Но как же выявить плохого тестировщика?
Признаки плохого тестировщика
Слабые коммуникативные способности
Так как тестирование начинается на самых ранних этапах жизненного цикла разработки (ещё на стадии анализа требований), роль тестировщика имеет большую значимость, а разработчики требуют фидбек сразу же. По этой причине тестировщикам следует обладать хорошими коммуникативными навыками.
И эти навыки нужны не только на начальной стадии, а вообще на всех. Тестировщик должен быть способен ясно выражать свои мысли. И тут не важно, идёт ли общение через сеть или устно, общается ли он с командой разработчиков или с другой командой тестировщиков.
Вот признаки, которые определяют тестировщика, обладающего слабыми коммуникативными способностями:
- отсутствие энергии для общения;
- боязнь высказывать свое мнение;
- чувство уязвимости;
- недостаток подготовки.
Недостаток технических знаний
Помимо хороших коммуникативных способностей, тестировщик должен обладать глубокими техническими познаниями, что позволяет произвести хорошее впечатление на стороны, заинтересованные в качестве проекта. Если технические знания тестировщика недостаточно глубоки, то это, скорее всего, вызовет серьёзные сомнения в качестве проекта вообще.
Кроме того, во время совместного обсуждения разработчики часто используют технические термины, и если тестировщик не разбирается в данной тематике, то его действия могут сыграть значительную негативную роль в процессе разработки.
Вот список факторов, оказывающих влияние на уровень технических знаний:
- отсутствие необходимой для обучения самодисциплины;
- недостаток практики;
- недостаток энергии или энтузиазма.
Написание баг-репорта без анализа бага
Во время работы тестировщик обязан завести баг сразу же после обнаружения того, что фактический результат не соответствует требованиям. Сделать это как можно скорее действительно важно, но тестировщик обязан ещё и исследовать баг, попытавшись выяснить его причину.
В большинстве случаев наиболее правильный подход — изучить причину, по которой происходит баг, и попытаться воспроизвести его ещё дважды. Перед тем как заводить баг, тестировщик должен изучить проблему, чтобы после этого было возможно подробно и грамотно её описать.
Вот факторы, которые следует учесть, прежде чем завести любой баг, так как из-за них проблема может оказаться вовсе не багом:
- некорректные данные тестирования;
- нестабильная среда тестирования;
- неправильная последовательность тестирования;
- неправильно сформулированные требования.
Отказ от следования процедурам контроля качества
У каждой организации есть различные процедуры контроля качества, которые позволяют успешно претворить в жизнь разрабатываемый проект. Индивидуальная и командная производительность обычно зависит от следования этим процессам. Тестировщики, которые отказываются следовать данным процессам, могут поставить под угрозу проект, что в свою очередь вызовет недовольство клиента.
Вот примеры подобных отклонений от процедур контроля качества:
- неиспользование правильных шаблонов тестовых артефактов;
- не следование процессам обзора;
- указание более старых версий документов из-за отсутствия контроля версий во время тестирования.
Тестирование, основанное на допущениях
Есть множество связанных с ПО вещей, о которых тестировщик строит предположения, осуществляя в дальнейшем тестирование только с учетом этих предположений. Они могут состоять из технических и нетехнических моментов рабочего процесса ПО, и есть все шансы, что эти предположения окажутся неверны. В этом случае тестировщик упустит критический баг.
Так что никогда не тестируйте ПО, опираясь на предположения! Добейтесь от разработчиков или аналитиков чётких и понятных требований. Если какие-то конкретные требования для вас неясны, задавайте вопросы без всяких сомнений. Баг, пропущенный из-за неправильных предположений, может стоить огромных затрат для проекта.
Вот примеры предположений, которые могут возникнуть в ходе тестирования:
- разработчик лучше понимает, чего он хочет добиться от ПО, поэтому его код наверняка правильный;
- утверждение требований, на которые не ссылается ни один документ;
- некоторый функционал не тестируется без какого-либо обсуждения или одобрения.
Не следование принципу «Протестировать — значит сломать»
Тестирование, в основном, это процесс поиска багов, а настоящий баг — очень хорошо спрятавшийся баг. Поэтому каждый тестировщик обязан использовать и позитивные, и негативные подходы к тестированию, чтобы обнаружить подобные баги.
Тестировщик также обязан применять этот принцип при тестировании приложения. Следуя сценариям тестирования, он должен успевать проверять ситуации, которые не описаны требованиями, но могут возникнуть во время рабочего процесса.
Если тестировщик проводит тестирование лишь согласно требованиям, «идеальному» сценарию работы с приложением, он может пропустить критический баг, который скрывается в таком месте, о котором разработчики даже не подозревали.
Вот факторы, которые мешают следовать принципу «Протестировать — значит сломать»:
- используются только позитивные подходы к оценке работы системы при полном исключении негативных;
- не используются исследовательское и Ad Hoc тестирование;
- недостаток внимания в процессе тестирования;
- тестирование лишь идеальных сценариев использования ПО.
Застой в развитии навыков тестировщика
Индустрия разработки ПО изменяется каждый день: постоянно появляются новые технологии и инструменты, которые могут использоваться в процессе тестирования. Тестировщик обязан регулярно обновлять свои знания об этих инструментах. В первую очередь это будет выгодно именно для него, если он сможет использовать в своих проектах новые наработки и подходы.
Плохие тестировщики просто выполняют свою «норму», не тратя ни минуты времени на углубление знаний, улучшение языковых и технических навыков. Они не пытаются ни научиться чему-то новому, ни найти свежую информацию об индустрии разработки ПО.
Следующие факторы могут вызвать застой в развитии навыков тестировщика:
- нежелание повышать свою квалификацию;
- монотонность рабочего процесса;
- боязнь выхода из «зоны комфорта».
- отсутствие четкого представления о собственных карьерных целях.
Отсутствие способности взглянуть на приложение с точки зрения пользователя
Обязанность тестировщика — убедиться в том, что приложение работает согласно требованиям. Однако, помимо этого, он должен уметь смотреть на приложение с точки зрения конечного пользователя. Плохой тестировщик ограничится спецификациями и наверняка пропустит неучтённые в них моменты.
Плохой тестировщик не может понять, что именно нужно потребителю. Он боится задать лишний вопрос о том, что вызывает у него сомнения. Это может быть вызвано недостатком уверенности или технических знаний.
Каждый тестировщик должен чётко видеть приложение с точки зрения конечного пользователя и понимать насколько оно удобно в работе.
Халатность
Иногда тестировщик может откровенно лениться во время тестирования, но нужно помнить, что если это войдёт в привычку, то настоящим профи ему никогда не стать. Хороший тестировщик обязан убедиться, что он обеспечивает разработчика детальными отчётами, баг-репортами и тест-кейсами.
Примеры халатности во время тестирования:
- тестировщик забыл добавить скриншот;
- баг был заведён с неполной или неправильной информацией;
- вместо точного баг-репорта тестировщик написал чрезмерно растянутый и полный «воды»;
- был написан некорректный тест-кейс, или же были пропущены шаги в текущем тест-кейсе;
- тестировщику не хватает способности воспринимать информацию на слух, из-за чего он может пропустить важные моменты.
Тестирование может выполнить любой
Если тестировщик считает, что тестирование — это легкая работа, и что она может быть выполнена каждым, кто имеет минимум необходимых знаний, то он явно не понимает базовых концепций тестирования. Думающий так тестировщик — откровенная угроза проекту.
Тестирование — это, в какой-то степени, навык, который вы развиваете, обучаясь и приобретая опыт. Каждый тестировщик обязан постоянно углублять профессиональные знаниями, обладать хорошими техническими и коммуникативными навыками, способностью выходить за рамки привычного мироощущения и т. д.
Комбинация всех этих качеств делает вас хорошим тестировщиком, что позволит вам быть ценным сотрудником в любом проекте и организации.
Плохой тестировщик, как правило, строит следующие предположения о процессе тестирования:
- тестирование не требует никаких особых навыков;
- тестирование — лёгкая работа, которая может быть выполнена каждым;
- тестировщику нереально добиться карьерного роста — он всегда будет просто пешкой;
- тестирование — монотонная работа, и ничего нового в ежедневном рабочем процессе ожидать не стоит.
Как не быть плохим тестировщиком
Признаков, по которым вы можете отличить плохого тестировщика от хорошего, множество.
Если вдруг заметили кое-что подобное за собой, то вы, без сомнения, можете избавиться от этого. Однако вам потребуется целеустремлённость, желание учиться и умение концентрироваться во время тестирования. Также вы можете пройти дополнительную подготовку и сдать сертификационные экзамены, что, в свою очередь, поможет вам приобрести больше знаний и будет полезно при работе над проектом.
Вы должны выйти за пределы своих возможностей и научиться применять новые технологии и инструменты, копить новые технические знания. На рынке ПО доступно множество инструментов тестирования, которые вы можете изучить самостоятельно или с помощью коротких тренингов. После этого применяйте свои знания в текущих проектах.
Чтобы зарекомендовать себя как хорошего тестировщика, не стесняйтесь задавать вопросы, предлагать инновационные идеи и создавать небольшие утилиты, использующие макросы или автоматизирующие процесс тестирования, что позволит сберечь как ваше время, так и время ваших коллег.
Итог
Мы рассказали о признаках плохого тестировщика, большая часть которых актуальна и для других профессий. Если вы хотите стать хорошим тестировщиком, то вам необходимо как можно скорее от них избавиться.
По материалам Software Testing Help