В связи с набором учащихся на курс "QA Engineer" подготовили перевод материала.
Приглашаем также всех желающих на демо-занятие «Методологии разработки». На этом вебинаре рассмотрим методологии разработки scrum, kanban, waterfallи изучим роль тестирования в процессе разработки.
В составе QA команды мы должны предоставлять высококачественные продукты/услуги и обеспечивать реальную ценность для наших клиентов. Чаще всего компании признают, что они используют неправильную бизнес-модель или испытывают проблемы качеством. Эти ошибки создают пространство для обсуждения, в то время как привлечение QA специалистов, как правило, улучшает конкуренцию и обеспечивает более эффективные процессы тестирования.
Мы должны исключить из наших проектов следующее: "Тестирование может начаться только после того, как кодирование будет завершено", мы должны рассмотреть инновационные способы проведения тестирования на более раннем этапе. Но, как только мы осознаем наше предположение, мы должны двигаться дальше: "Есть ли какой-нибудь способ, которым я мог бы тестировать "по-умному"?". Мы можем переосмыслить нашу деятельность по тестированию и помочь нашей команде.
Работать, как одна команда
В команде Scrum "Тестировщики" больше не являются "Тестировщиками", а являются "только" членами команды, основной специализацией которой является "Тестирование". Разработчики" - это любые члены команды, которые могут кодировать. Каждый член команды имеет общую цель и считается ответственным за достижение этой цели. Члены команды с различными первичными специализациями должны сотрудничать для достижения этой цели.
Независимость тестирования не означает независимость тестировщиков.
Команды часто путают независимые с отдельными. Если структура отчетности, бюджеты и процессы остаются в отдельных функциональных областях, то разделение между разработчиками и тестировщиками неизбежно. Время тратится впустую на дублирующие друг друга встречи, разработчики и тестировщики не имеют общей цели, а также отсутствует обмен информацией.
Тренинги по тестированию, сообщество тестировщиков
Все члены нашей команды могут тестировать тщательно, при условии, что они знают, как сделать это правильно (каждый может тестировать соответствующим образом, а не упрощенно, как это бывает). Наша обязанность состоит в том, чтобы обучить их конкретной деятельности по тестированию, освоить QA мышление, а также расширить их знания о продукции, чтобы сделать их лучшими тестировщиками.
Цель отдела тестирования — сделать это обучение возможным. Обсуждение и обмен опытом необходимы, например, путем создания сообщества тестировщиков. Это могут быть люди, заинтересованные в тестировании, а не только те, у кого тестирование является их основной специализацией. Люди этого сообщества могут встретиться, а затем поучиться друг у друга или пообщаться в чате или в wiki.
Рассмотрим сообщество тестировщиков. Вы можете создать обучающуюся организацию, которая поможет вашим тестировщикам обмениваться идеями и помогать друг другу. Предположим, что QA менеджер (“менеджер-учитель”) станет лидером практики в организации. В этом случае этот человек будет обучать навыкам, которые необходимы тестировщикам для того, чтобы стать сильнее и лучше справляться с постоянно меняющейся обстановкой.
"Менеджеры как учителя принципов бережливого мышления, проводящие время, обучая и тренируя других".
“Умное” тестирование
Мы делаем "умное" тестирование? Для некоторых команд тестировщиков это может быть трудным вопросом; если вы спросите о других областях, на это может найтись ответ.
"Как бы иронично это ни казалось, задача тестировщика — проверить как можно меньше. Тестировать меньше, но тестировать "умнее"".
ФРИДРИКО ТОЛЕДО
Как мы можем тестировать меньше? Как мы можем повысить ценность, делая при этом меньше? Мы должны изменить наше мышление; тестирование — это не только поиск ошибок; мы должны позволить нашей команде улучшить качество кода, перейти к качественному мышлению, и автоматизация тестирования может помочь нам, но мы не можем полагаться на это и создать тысячи тестовых скриптов.
Проверка — это хорошо. Внедрение механизмов мониторинга может принести реальную пользу нашим клиентам; рассмотрим оба подхода как сдвиг влево — раннее тестирование и как сдвиг вправо — мониторинг систем и предотвращение возможных сбоев. Критическим аспектом "умного" тестирования является добавленная ценность; наши тесты должны это обеспечить; в противном случае, мы просто делаем “сложное” тестирование.
Постоянная обратная связь должна быть нашей главной целью для снижения бизнес-рисков и потенциальных сбоев в работе. Мы должны визуализировать тестирование как непрерывный процесс, учитывающий сбои. Возможность тестировать меньше, но чаще может помочь обеспечить быструю обратную связь и ценность для наших клиентов.
“Умное” тестирование, качественные продукты.
Надежный план тестирования — Наличие плана должно иметь решающее значение для успеха.
Внедрение автоматизации тестирования — Сосредоточение внимания на повторяющихся задачах и стратегии автоматизации тестирования на основе рисков (Не автоматизируйте задачи, которые не должны повторяться). Обратите внимание на визуальную автоматизацию тестирования.
Улучшение качества кода — Никакие коммиты не остаются не протестированными.
Непрерывное обучение — Исследовательское тестирование позволяет обнаружить важную информацию.
Performance / Load Testing & Security Testing — Чтобы избежать любого сбоя или любого риска для безопасности.
Метрики и Dashboards — Отслеживание ключевых показателей качества (например, дефектов производства, анализа рисков, дополнений к требованиям и т.д.). Постоянное совершенствование процесса обеспечения качества.
Мониторинг возможного риска на производстве — Тестовый мониторинг на производстве.
Заключение
Тестирование — это не только поиск ошибок. Цель тестов меняется — от поиска дефектов до их предотвращения, мониторинга тестов и в случае любого сбоя — их быстрого восстановления, улучшение качества кода и предоставления качественных продуктов или услуг. Эта принципиально иная точка зрения приводит к жизненно важным изменениям в том, как люди работают и взаимодействуют друг с другом.
Давайте перейдем от "сложного" тестирования к "умному"; это бесконечное путешествие, и мы должны продолжать учиться, расти и калибровать наш процесс. Проводя "умное" тестирование, мы сможем создать положительный эффект и улучшить тестовую среду.
Полезная литература
Извлеченные уроки в программном тестировании — (Lessons Learned in Software Testing) — Cem Kaner, James Bach, and Bret Pettichord.
Трансформация Тестирования — Непрерывное Тестирование на Предприятии для Agile и DevOps (Enterprise Continuous Testing Transforming Testing for Agile and DevOps) — Wolfgang Platz, Cynthia Dunlop.
Гибкое мышление (Lean Thinking) — Drs. Womack and Jones
Узнать подробнее о курсе "QA Engineer"
Смотреть вебинар «Методологии разработки»