SilkPerformer — платный инструмент для автоматизированного нагрузочного тестирования веб-систем различного уровня сложности. Инструмент создан компанией Borland, которая в настоящее время приобретена британской компанией Micro Focus.
SilkPerformer является мощным и в то же время сложным(про это дальше) в использовании инструментом нагрузки и стресс-тестирования корпоративного класса. Визуальный сценарий и возможность тестирования нескольких прикладных сред с тысячами одновременных виртуальных пользователей позволяет тщательно проверить корпоративные приложения на надежность, производительность и масштабируемость, прежде чем они будут развернуты, независимо от их размера и сложности. Мощный анализ первопричин и инструменты управления отчетностью помогают изолировать проблемы и быстро принимать решения, тем самым минимизируя цикл испытаний и ускоряя выход на рынок.
Ключевые преимущества
Значительно снижены затраты на дефекты в многоуровневых корпоративных приложениях путём тестирования функциональности, совместимости и производительности удаленных компонентов в начале цикла разработки, еще до построения клиентских приложений. Можно быстро генерировать нагрузочные скрипты для веб-служб, .NET, EJB и Java RMI объектов. Кроме того, есть возможность использовать модульное тестирование в средах Java и .NET.
Технология TrueLog для HTML, XML, SQL, Oracle Forms, Citrix, TCP/IP, UDP и данных на основе протокола обеспечивает полный визуальный анализ первопричин с точки зрения конечных пользователей. TrueLogs визуально воссоздаёт данные, которые пользователи получают в течение нагрузочных тестов. Для HTML-страниц включаются все внедренные объекты. Это позволяет визуально анализировать поведение приложения, как ведут себя ошибки в ходе испытаний. Кроме того, присутствует подробная статистика времени отклика как отдельных запросов, так и целых транзакций.
Ключевые недостатки
- Простой язык. СЛИШКОМ простой язык. Там, даже, нету Replace функции у строкового типа. Там вообще практически ничего нету. Все нужно имплементировать собственноручно. В том числе и таймер/stopwatch.
- Собственная имплементация Xpath, лишь частично совместимая с общепринятой
- Собственная имплементация регулярных выражений. Очень и очень бедная[1]
- Отсутствие брейкпоинтов. Да-да, «современная» IDE не имеющая брейкпоинтов как таковых. Вам прийдется все логировать через print() и смотреть логи. Каждый раз. И заново проигрывать весь написанный тест, даже, если ваш тест проходит 20 минут.
- СверхСовременная среда разработки, в которой невозможно было поменять шрифт и его размер до 17.5 версии IDE. В то время как «точка с запятой» и «двоеточие» на первый беглый взгляд практически неотличимы.
- Абсолютно неинформативные ошибки (Конечно же, в этом плане запросто сможет потягатся IDE макросов в майкрсофт офисе, здесь немного лушче. НЕМНОГО.)
- Невозможность вызвать функцию возвращающую некоторое значение как параметр другой функции. То есть DoSomeAction(StrLen(«hello»)); может обернутся абсолютно неинформативной ошибкой, которая, даже не будет показыватся. Вместо неё будет пустрая строка в логе, пока не кликнешь по ней. Тогда ошибка будет показыватся, но более информативной она не станет. Поэтому нужно сначала результат StrLen («hello») присвоить в переменную. Причём, что интересно, так не всегда. Иногда это делать можно, а иногда нет. Точная причина такого поведения неизвестна даже самим разработчикам.
- Невозможность инициализировать локальную переменную (то есть вы сначала объявляете локальную переменную, а потом внутри метода уже присваиваете значение)
- Ряд типов данных невозможно объявить локальными в принципе.
- Вызываемая функция должна быть объявлена ДО функции которая вызывает. Напоминаю: этот язык и сама утилита существуют с 2006 года. СОВРЕМЕННЫЙ ЯЗЫК, а болячки те же, что и у паскаля созданного в 1970 году.
- Невозможность имплементировать собственный клас/тип данных.
- В новых версиях(в 2017 году) они добавили поддержку других браузеров (Не только IE). Это было сделано с помощью бесплатного Selenium. Напоминаю, что SilkPerformer платный и совсем не дешевый.
- Работа с масивом и листом так же нежелательна. Мало того, что она имеет скудный функционал, так еще и иногда этот скудный функционал вообще не работает (например, выдает левую ячейку, вместо запрашиваемой)
- Рекордер тестов, как и в любом серьезном продукте, бесполезен.
- Невозможно делать Drag-And-Drop действие во время тестов. Единственный шанс — имплементировать вручную его с помощью JS. А поскольку это всё делается в браузере на движке IE, то вы не сможете имплементировать это используя Xpath Selector (JS в IE его не поддерживает). Вам прийдется это делать с помощью CSS селектора, что в свою очередь повлечет за собой соответствующие этому селектору недостатки, а также невозможность придерживатся одного типа селекторов в рамках одного проекта.
Цикл проведения теста
- Настройка основных параметров, таких как имя проекта и тип приложения в процессе тестирования.
- Создание тестового сценария с помощью Recorder SilkPerformer, который производит захват и запись трафика через обычный браузер и генерирует тестовый сценарий.
- Настройка тестового скрипта для обработки информации о сессии, параметризованных входных данных и выполнении функций проверки входных и выходных данных.
- Определение рабочей модели нагрузки
- Запуск нагрузочного теста
- Анализ результатов теста на стороне клиента с помощью Performance Explorer и анализ серверных логов с помощью Server Analysis
- Быстрое и лёгкое создание детальнейшей отчётности по тесту, включая все необходимые графики
Тестирование с нескольких машин
SilkPerformer имеет гибкую настройку всех необходимых характеристик нагрузочного теста, одной из которых является возможность запуска теста с нескольких удалённых машин. Для этого необходимо установить программу-агент, поставляемую вместе с SilkPerformer, на удалённых машинах и настроить с ними связь в настройках SilkPerformer и среда готова для распределённого нагрузочного теста. SilkPerformer автоматически будет направлять на запуск выбранные сценарии на удалённые машины, запускать их по выбранной модели нагрузки, управлять процессом тестирования и собирать результаты после окончания теста со всех машин в управляющий монитор SilkPerformer.
Встраивание в автоматическую сборку проектов средствами Hudson и Jenkins
Вместе с SilkPerformer поставляется инструмент SilkCentral, имеющий web-интерфейс и API для управления удалёнными запусками нагрузочных тестов, сбора и анализа результата в автоматическом режиме.
Встроенный язык BDL
Нагрузочные скрипты в SilkPerformer описаны встроенным языком BDL (Benchmark Description Language). Язык алгоритмический. Про ключевые недостатки языка можно почитать выше.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .