Руководство тестировщика по Agile тестированию

Руководство тестировщика по Agile тестированию

AWH

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


Какова роль QA в Agile команде?

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

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

· Они углубляются в критерии приемки, созданные бизнес-аналитиками, для написания тестовых примеров, визуализации рабочего процесса, тестирования стандартных элементов и проведения негативного тестирования.

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

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

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

· Документирование сценариев тестирования и выполнения тестов с доказательствами важно для тестировщиков, но оно должно быть минимальным и кратким.


Какие стратегии использует QA для проведения Agile-тестирования?

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

· Чрезвычайно важно иметь четкий план до начала тестирования. Перед началом тестирования спланируйте свое время и тест-кейсы, и это позволит вам сразу же погрузиться в тестирование после развертывания приложения.

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

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

· Выполнение приемочных испытаний, основанных на критериях приемки, чтобы обеспечить лучшее покрытие тестами. Каждый критерий приемки может иметь одно или несколько приемочных испытаний и ориентирован на заданные условия.

· Тестирование эффективности потока помогает определить, могут ли пользователи беспрепятственно перемещаться по продукту. Это помогает определить, сбивает ли вас с толку какая-либо часть потока, и помогает определить, нужно ли вам добавлять или удалять какие-либо шаги.

· Проверка бизнес-правил и определений данных - важная часть тестирования.

· Проведение исследовательского тестирования позволяет тестировщикам идти по неопределенному пути и находить скрытые риски и дефекты в приложении.

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

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

· Наличие приложений для обмена сообщениями в реальном времени, таких как Slack и Zoom, позволяет всем в команде быть на связи и быстро отвечать на важные вопросы.


Каковы преимущества Agile тестирования?

· Гибкое тестирование рентабельно. Это экономит время и деньги.

· Снижает объем документации.

· Он гибкий и легко адаптируемый, а изменения могут быть внесены быстро.

· Когда вы внедряете Agile тестирование, команда быстро осознает существующие пробелы в требованиях или используемых технологиях, и они могут найти работоспособное решение раньше.

· Постоянное общение помогает быстро устранять дефекты.

· Гибкое тестирование позволяет получать постоянную обратную связь от конечного пользователя.

· Ежедневные Agile-митинги помогают заранее определять проблемы и быстрее решать их.


В чем недостатки Agile тестирования?

Непрерывные процессы Agile разработки также порождает несколько недостатков в тестировании:

· Несмотря на то, что это не поощряется в Agile, иногда могут быть изменения в требованиях или истории могут быть исключены из спринта, что изменяет объем тестирования.

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

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

· Выполнение всех тестов для текущей итерации/спринта - одна из самых сложных задач для тестировщиков.


Заключение

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

Счастливые клиенты = счастливая организация!


Переведено командой QApedia. Подписывайтесь на наш канал.

Report Page