Всякая более-менее значимая модернизация программного кода требует перепроверки его функционирования. Применяемые для этого испытания часто являются типовыми и могут многократно повторяться в последовательных циклах модернизации программы. Это утверждение верно и для настольных систем, и для «тяжелых» информационных комплексов – от веб-порталов, играющих представительскую роль, до систем финансового учета. Видимо, поэтому все больше руководителей осознают актуальность автоматизированного тестирования.
Основная цель автоматизации тестирования – сокращение расходов на испытания программы после ее модернизации. Периодически повторяемые однотипные проверки отнимают много времени в цикле разработки. Автоматизация сокращает этап тестирования и высвобождает главный ресурс компании – рабочее время специалистов. Другое, не менее очевидное преимущество такого тестирования – повышение качества испытаний, что гарантирует надежность продукта. Ведь убытки от дефектов, выявленных лишь на стадии промышленной эксплуатации, могут быть очень высоки. А неудовлетворенность заказчиков от них вообще трудно поддается исчислению.
Прежде всего, автоматизация позволяет повысить надежность ПО и снизить риск обнаружения дефектов на стадии промышленной эксплуатации. Повышается точность тестирования и возможность находить больше дефектов на ранних этапах. Становится возможным выявлять и устранять узкие места производительности системы на протяжении всего жизненного цикла разработки. С помощью автоматизации можно увидеть точную картину производительности системы на всех уровнях, включая ввод в промышленную эксплуатацию.
Технологически автоматизация позволяет использовать одни и те же тесты многократно. Тесты выполняются быстрее, что позволяет снизить издержки (высвобождается время, которое раньше уходило на ручное тестирование). Многократно возрастает тестовое покрытие. Есть возможность проводить проверки нового или модифицированного приложения на соответствие установленным требованиям по функциональности и производительности.
Автоматизация решает проблему подготовки исходных данных для тестирования, представляющих собой документы, входящие сообщения и т.п. Для комплексного тестирования необходимо создать значительное количество наборов этих данных. Как поступают при ручном тестировании? Естественно, ограничивают исходные данные, исходя из некоторых допущений. При автоматизированном тестировании нет необходимости ограничивать наборы исходных данных, что позволяет охватить гораздо больше функций продукта. Можно проводить тестирование на максимально полном наборе. И. по сравнению с ручным тестированием, автоматизированные тесты можно провести гораздо быстрее.
Важный вид испытаний – нагрузочное тестирование. Проводить его вручную очень затруднительно. Хотя всем известны случаи ручного нагрузочного тестирования, когда команда из 10 человек одновременно пыталась нагрузить систему, но это больше из области анекдотичных ситуаций. В то же время существует инструментарий для испытания программных систем под такими же нагрузками как во время эксплуатации, а также под пиковыми нагрузками. Этот инструментарий позволяет одновременно эмулировать действия любого количества пользователей в системе. Система, работающая в режиме 24х7 и обслуживающая миллионы клиентов, должна быть исключительно надежной. Средства автоматизированного тестирования позволяют выявить предел надежности и устойчивости.
⇐ Назад |