Автоматизация тестирования с помощью BorlandSilkTestОлег Большаков
Тема нашей сегодняшней статьи - это автоматизация тестирования программного обеспечения с помощью известного программного продукта Borland SilkTest. Этот продукт входит в линейку средств тестирования Borland Silk и предназначен для автоматизации функционального и регрессионного тестирования (рис.1). Помимо этого продукта линейка Borland Silk включает следующие продукты:
Рис.1. Borland SilkTest Основное назначение Borland SilkTest - это выполнение регрессионного тестирования. Регрессионное тестирование - это тестирование, при котором выявляются ошибки в уже ранее протестированных участках программного кода. Регрессионные ошибки - это ошибки возникающие, когда после внесения в программу изменений перестают работать ранее работоспособные функции программы. SilkTest реализует это посредством эмуляции действий пользователя с интерфейсом тестируемой программы: SilkTest вместо пользователя выполняет действия с интерфейсом программы - нажимает на кнопки, вводит значения в поля ввода, выбирает пункты меню и прочее. Благодаря этому достигается тестирование методов работы конечного пользователя в максимально полном объеме. Конечно же, такая автоматизация снимает с тестировщиков значительные усилия на выполнение регрессионного тестирования, и самое главное - сводит к нулю влияние человеческого фактора при выполнении тестирования. Минимальная управляющая единица в Borland SilkTest - это тест-кейс (Testcase). Тест-кейс реализует тестирование определенной части функциональности программы. Тест-кейсы объединяются в тест-планы. Говоря общим языком, тест-план - это документ, в котором перечислены либо все тестовые примеры, необходимые для тестирования системы, либо часть тестовых примеров, объединенных по определенному признаку. В нашем случае тест-план - это контейнер, содержащий в себе любое количество тест-кейсов. Тест-планы можно структурировать, объединяя их в тест-планы более высокого уровня. Замечательной особенностью SilkTest (впрочем, говоря по справедливости - это есть и у других продуктов подобного уровня - Rational Robot, например) - является возможность формирования тест-кейса путем "записывания" действий пользователя с интерфейсом программы. Тестировщик запускает SilkTest, нажимает кнопку "Запись" ("Record") и выполняет необходимые действия с интерфейсом программы. SilkTest на основе этих действий формирует тест-кейс, в котором зафиксированы все действия тестировщика. Затем SilkTest может запустить этот тест-кейс на воспроизведение и повторить все записанные действия, а в конце теста отрапортовать об успешном (или неудачном) выполнении теста. Стоит упомянуть и скриптовый язык, на котором пишутся тест-кейсы. В SilkTest"е он называется 4 test и среди профессионалов считается одним из лучших. Самое принципиальное его отличие от языков аналогичных продуктов - то, что он является объектно-ориентированным. SilkTest выполняет компиляцию тест-кейсов в промежуточный код в виде модулей. Затем эти скомпилированные модули можно выполнить на другом компьютере с использованием средства Silk Agent. При этом нет необходимости устанавливать всю среду SilkTest, а достаточно установить только Silk Agent. Это очень удобно при организации удаленного тестирования, когда разработка и отладка тест-кейсов производится на рабочем компьютере тестировщика, а выполнение - на выделенных тестовых компьютерах или виртуальных машинах. Еще одна из интересных особенностей SilkTest, которая отличает его от конкурентов - "встроенная система восстановления" (built-in recovery system), которая восстанавливает тестируемое приложение в начальное (базовое) состояние, если тест прервался из-за неожиданной ошибки в приложении. В распоряжении разработчика имеется широкий набор встроенных функций для модификации, расширения и настроек этой системы. Конечно же, возможности продукта SilkTest в плане тестирования очень широкие. Но поднять процесс тестирования на еще более высокий качественный уровень можно с помощью интеграции SilkTest с системой управления тестированием SilkCentral Test Manager. Система SilkCentral Test Manager позволяет осуществлять полное управление процессом тестирования: планирование тестирования, составление расписания тестирования для автоматического запуска тестов без вмешательства человека, возможность запуска тестов на разных платформах и конфигурациях. И самое главное - обеспечить тесную интеграцию с системами управления конфигурациями и запросами на изменение. Например, с системой управления конфигурациями Borland StarTeam, благодаря чему достигается расширенное управление версиями и такими тестовыми ресурсами, как проекты и сценарии. А тесная интеграция с системами управления требованиями Borland CaliberRM и Borland DefineIT позволит сопоставлять определенным требованиям определенные тест-планы и выполнять функциональное тестирование на более качественном и управляемом уровне. |