Принципы Agile-тестировщиков

Все в команде Agile - это тестировщики. Любой может подобрать тестовые задания. Если это правда, тогда что особенного в Agile тестировании? Если я определяю себя тестировщиком в Agile команде, что это действительно значит? Нуждаются ли опытные тестировщики в разных наборах навыков, отличных от соответствующих у тестировщиков в традиционных командах? Что помогает им в их повседневной деятельности?

Кто такой Agile-тестировщик?

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

Кто является Agile-тестировщиком? Он член команды, который проводит гибкое тестирование. Мы знаем многих Agile-тестировщиков, которые начали заниматься другой специализацией. Разработчик становится тестировщиком и выходит за рамки модульного тестирования. Исследовательского тестировщика, привыкшего работать в гибкой манере, привлекает идея Agile команды. Специалисты в других ролях, такие как бизнес или функциональные аналитики, могут иметь одни и те же черты и выполнять большую часть той же работы.

Навыки важны, но отношение имеет большее значение. «Без отношения, мастерство - это ничто». Пришлось нанимать многочисленных тестировщиков для наших Agile команд. Тестировщики склонны видеть общую картину. Они смотрят на приложение больше с точки зрения пользователя или клиента, а это означает, что они, как правило, ориентированы на клиентов.

Что делает команду «подвижной»? Для нас Agile команда - это та команда, которая постоянно фокусируется на том, чтобы делать свою работу лучше и поставлять наилучший продукт. По нашему опыту, это требует тонны дисциплины, обучения, времени, экспериментов и совместной работы. Это не для всех, но это идеальный вариант для тех из нас, кто любит динамичную команду и сосредотачиваться на постоянном улучшении.

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

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

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

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

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

Применение гибких принципов и ценностей

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

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

Принципы, которые мы считаем важными для гибкого тестировщика:

  • Обеспечение непрерывной обратной связи.
  • Предоставление необходимых услуг клиенту.
  • Включение личной связи.
  • Имение храборости.
  • Простота.
  • Постоянное совершенствование практики.
  • Самоорганизовывание.
  • Сосредоточенность на людях.
  • Получение наслаждения от процесса.

Превнося ценность

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

Члены команды выполняют много ролей, а гибкая разработка имеет тенденцию избегать классификации людей по специальности.

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

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

Во время сеансов оценки и планирования истории Agile-тестировщики рассматривают каждую функцию с разных точек зрения: бизнес, конечный пользователь, поддержка производства и программист. Они рассматривают проблемы, с которыми сталкиваются во время ведения бизнеса, и то, как программное обеспечение может их решить. В начале каждой итерации они помогают удостовериться, что клиент предоставляет четкие требования, и они помогают команде разработчиков превратить их в тесты. Тесты стимулируют развитие, а результаты тестирований обеспечивают обратную связь о прогрессе команды. Тестировщики помогают поднимать вопросы, чтобы не было пропущено тестирование. Это больше, чем функциональное тестирование. Клиенты не всегда знают, что они должны упоминать их производительность и надежность, а также проблемы с безопасностью, но тестировщики думают о них. Тестировщики также стараются максимально упростить подход к тестированию и инструментов. По завершении итерации тестировщики проверяют,было ли завершено минимальное тестирование было.

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

Заключение

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

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

Отношение важно, и оно стирает границы между тестировщиками, программистами и другими ролями в гибкой команде.

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

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

Внимание: если вы «действительно» НЕ часть команды
Если вы являетесь тестировщиком, и вас не приглашают участвовать в заседаниях планирования, стендапах или проектных встречах, возможно, вы находитесь в ситуации, когда тестировщики рассматриваются как-то отдельно от команды разработчиков. Если вас приглашают на эти собрания, но вы не выступаете, то у вас, вероятно, создается представление о том, что вы не являетесь частью команды. Если бизнес-эксперты сами пишут статьи и определяют требования, вы не являетесь тестировщиком, который является членом гибкой команды.
Если это ваша ситуация, ваша команда подвергается риску. Скрытые предположения, скорее всего, останутся незамеченными до конца рабочего процесса. Команда не может наилучшим образом использовать навыки каждого члена команды, поэтому она не сможет создать наилучшее возможное программное обеспечение. Связь может оборваться, и будет трудно идти в ногу с тем, что делают программисты и заказчики. Команда рискует быть разделенной нездоровым образом между разработчиками и тестировщиками, и повышается шанс того, что команда разработчиков изолируется от команды заказчика в конечном итоге.
Как вы можете избежать этого? Посмотрите, сможете ли вы сработаться с разработчиками? Попросите их показать вам, над чем они работают. Попросите их взглянуть на тестовые сценарии, которые вы написали. Пригласите себя на встречи, если вас никто не пригласил. Сделайте себя полезными, тестируя и предоставляя обратную связь, и становитесь необходимостью для команды.
Помогите клиентам разработать их истории и приемочные тестирования. Проталкивйте термин «целая команда» и попросите команду работать над проблемами тестирования. Если ваша команда испытывает трудности с адаптацией к гибкому развитию, предложите поэкспериментировать с некоторыми новыми идеями для итерации. Предложите принять правило «Сила трех», чтобы способствовать хорошему общению.