Автоматизация тестирования. Заметка о таинственном SilkTest
SilkTest — это действительно очень таинственная программа для автоматизации планов тестирования. Таинственная потому, что в Сети вы много информации по автоматизации тестирования вы не найдете. Цель этой заметки — кратко рассказать об основных возможностях программы и сфере ее использования.
Для чего можно использовать SilkTest?
SilkTest используется для автоматизации регрессионного тестирования. Конечно же, автоматическое тестирование не будет таким же интеллектуальным, как ручное тестирование, но зато позволяет выполнить действительно огромный кусок рутинной работы по тестированию в очень сжатые сроки.
Таким образом, можно проходить план принятия (acceptance) для каждой новой версии билда. Это особенно важно, если новые билды собираются каждый день. А если основное приложение еще и делиться на урезанные редакции — тут использование автоматизации просто не заменимо.
SilkTest — это универсальная среда тестирования. Но, в большинстве случаев SilkTest используют для GUI тестирования приложения в режиме «черного ящика». Хотя, можно найти удобное применение тестовой среды и в создании тест планов unit-тестирования и тестировать приложение исключительно в режиме командной строки.
Использовать SilkTest — это значит автоматизировать большую часть ручной рутинной работы, выполнять ее быстро и с очень большим процентом качества тестового покрытия.
Что такое процесс тестирования на SilkTest?
Как и в планах для мануального(ручного) тестирования — основной структурной единицей служит тест кейс. Тест кейсы самодостаточны сами по себе, и отвечают за тестирование необходимой части функциональности программы. Тестировать приложение с огромной «кучей» тест кейсов конечно же можно, но лучше объединить и структурировать тест кейсы в тест планы. Тест кейсы отвечают за проверку отдельной части функциональности. Тест планы позволяют увидеть общую картину тестирования определенной функциональности. В свою очередь тест планы для отдельных функциональностей можно включать в более общие тест планы.
Реализация описанных возможностей поддерживается средой SilkTest на достаточно хорошем уровне.
Сначала на специальном языке 4Test script описываются тест кейсы, который в последствии могут быть вызваны из различных тест планов. Тест кейсы в SilkTest -это функции которые могут быть вызваны из тест плана. Тест кейсы не возвращают значения, но они записывают информацию в общий отчет по тестированию.
Каждый тест кейс обязан вести лог своей работы. В результате завершения работы тест плана, мы получаем отчет, где логи от каждого тест кейса удобно структурируются по имени тест кейса и по месту его вызова в тест плане.
Создаем тест план. Тестируем «Hello World!»
Давайте создадим тест план, в котором в нескольких местах вызывается тест кейс SayHelloWorld(), который в свою очередь выводит текст «Hello World!» в отчет по тестированию.
Для начала создадим новый файл, где будут реализованы тест кейсы. Выбираем File->New... 4Test Script. (См. Рис 1).
Рисунок 1
Рисунок 2
[-] testcase SayHelloWorld() [ ] print («Hello World»)
Выбираем Run->Testcase — тест кейс запуститься, перед глазами мелькнет окно статуса времени выполнения, и мы получим отчет. В отчете будет находится лог работы тест кейса. В данном случае в лог будет выведена строчка «Hello world».
Выводить одну статическую строчку как-то не практично. А если нам понадобиться поприветствовать Васю, Федю, Ктулху?
Тест кейсы могут принимать параметры. Перепишем тест кейс так, чтобы он мог принимать имя в качестве параметра:
[-] testcase SayHelloWorld(string sName) [ ] print («Hello » + sName) [ ] print («I think,{sName}, that you are the best!!!»)
Рисунок 3
Запускаем тест кейс со строковым параметром «World» и получаем в результате:
Hello World
I think,World, that you are the best!!!
Тест кейсы могут (и должны) быть универсальными. Их работа может зависеть от принимаемых параметров. А один и тот же код, может выполнять разные действия по тестированию.
Наверно, если во всем проекте тестирования находиться лишь один тест кейс без параметров — вполне приемлемо запускать его непосредственно из редактора тест кейсов.
Но, если в проекте больше одного тест кейса, либо один тест кейс может запускаться с различными параметрами — необходимо составить тест план.
Для этого жмем на New и выбираем Testplan.
Тест план можно сделать таким, как показано на рис 4.
Рисунок 4
Как видите, для запуска необходимого тест кейса используются ключевые слова script и testcase. Вызовы тест кейсов оформлены в логической иерархической последовательности. Именно в такой же последовательности они будут выведены в отчете.
Планы можно запускать как полностью, так и по частям, которые могут быть отмечены маркером. Запустим план полностью(Run->All tests) — и мы получим результат, изображенный на рис 5.
Рисунок 5
Как видите, логическая структура отчета полностью соответствует структуре тест плана.
Не нужные блоки можно сворачивать, что делает работу с редактором очень удобной. При необходимости, можно вернутся к интересующему тест кейсу и перезапустить только его. Если бы в наших тест кейсах были ошибки — они бы были отмечены красным.
Вот такой вот этот «таинственный SilkTest».
Заключение. Полезные ссылки.
Конечно же, реальные тест планы намного сложнее чем тест план приведенный в примере. И SilkTest создан так, что средствами среды, даже сложнейшие тест планы можно сделать аккуратными и наглядными. О работе с SilkTest можно писать очень много. Для того, чтобы не увеличивать размер этой вводной заметки до размеров руководства или учебника, мной было упущено очень много вещей.
Я не упомянул про:
1. усовершенствование запуска тест кейсов в тест плане;
2. возможности мощного и гибкого языка 4Test script;
3. объектную ориентированность языка сценариев;
4. средства для работы с графическими изображениями;
5. средства тестирования Веб-сайтов и, Java-приложений;
6. создание тест кейсов на основе записанных действий;
7. и многое-многое другое;
Цель этой заметки — обратить внимание на программу. А если Вас интересует более исчерпывающая информация — советую обратиться к единственному известному мне хорошему руководству по SilkTest на русском языке.
Скачать SilkTest с
Исходник проекта можно скачать отсюда.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
36 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.