Поведенческое регрессионное тестирование

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

Работа с имеющейся кодовой базой (code base), которая тестировалась в минимальном объеме или не проходила тестов вообще, подобна прогулке по яичной скорлупе: каждое движение, производимое вами, может что-то разрушить. Кроме того, когда вы работаете с программным обеспечением, ущерб не всегда становится очевидным сразу — по крайней мере, не без всестороннего, в масштабе всей системы, тестирования. Но такое подтверждение работоспособности не всегда возможно или легко реализуемо, учитывая частоту изменения, ограниченные ресурсы и неясные сроки окончания, с которыми сталкивается большинство разработчиков. В результате многие разработчики вносят свои дополнения и изменения, а потом скрещивают пальцы и надеются на лучшее.

Если ваш код испытывает недостаток в тестах, поведенческое регрессионное тестирование (Behavioral Regression Testing) — лучший метод, обеспечивающий быстрый и легкий способ определения, нарушают ли произведенные изменения существующую функциональность. Что такое поведенческое регрессионное тестирование? Это тест на основе «базовой линии» (baseline test), который собирает данные текущей функциональности кода проекта. Чтобы обнаружить изменения относительно этой базы, вы выполняете свою развивающуюся кодовую базу относительно некоторого комплекса тестов на регулярной основе. В большинстве случаев такой комплекс тестов может быть сгенерирован быстро, с использованием автоматизированных инструментов юнит-, блочного или модульного тестирования (unit-testing). Как только этот комплекс тестов будет готов, вы можете пошагово улучшать его интеллектуальность и ценность путем добавления большей совокупности тестовых данных, модификации автоматически сгенерированных совокупностей, а также поддержки его в соответствии с намеренными изменениями программы. Результирующий тестовый комплекс служит как гарантия безопасности в обнаружении изменений, позволяя вам изменять код без страха случайных изменений или разрушения намеченного поведения этого кода.

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

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

Похожее

Оставить комментарий

Ваш e-mail не будет опубликован.

Поиск

Новости в картинках