Некоторое время назад компания Borland рассталась со своими многолетними "наработками" в области сред быстрой разработки приложений, и окончательно сосредоточилась на средствах поддержки жизненного цикла приложений (ALM - Application Lifecycle Management).

Вся стратегия ALM опирается на четыре базовых концепции Borland:

Software Delivery Management (управление поставкой программного обеспечения)

Requirements Definition & Management (определение и управление требованиями)

Lifecycle Quality Management (управление качеством жизненного цикла разработки)

Change Management (управление изменениями)

Одним из важных шагов в успешной реализации концепции Lifecycle Quality Management являлось приобретение Borland компании Segue с линейкой программных продуктов Silk. Тем самым Borland "закрыл" последний сектор "колеса ALM" - управление качеством.

Продукты Silk представляют собой общую базу для реализации концепции. Наиболее существенное обновление линейки Silk с момента приобретения было выполнено Borland в версии продукта 2008.

Основное назначение Borland SilkTest - это выполнение регрессионного тестирования, то есть такого тестирования, при котором выявляются ошибки в уже ранее протестированных участках программного кода. Регрессионные ошибки - это ошибки возникающие, когда после внесения в программу изменений перестает работать то, что работало раньше. SilkTest реализует это посредством автоматизации процесса тестирования приложений через графический интерфейс пользователя (GUI). SilkTest обращается к тестируемому приложению точно так же, как это делает реальный пользователь - через его графический интерфейс пользователя, благодаря чему достигается тестирование методов работы конечного пользователя в полном объеме. Говоря по-простому, SilkTest вместо тестировщика выполняет серию действий с элементами пользовательского интерфейса - нажимает на кнопки, вводит значения в поля ввода, выбирает пункты меню и прочее. Однако эти серии, или говоря правильно - сценарии, должны подготавливаться заранее - записываться в виде макроса или путем прямого редактирования скрипта сценария. После подготовки скриптов можно средствами SilkTest организовать их периодическое выполнение в определенной последовательности, например, после каждой новой сборки.

Фредерик Брукс писал: "Вследствие внесения новых ошибок сопровождение программы требует значительно больше системной отладки на каждый оператор, чем при любом другом виде программирования. Теоретически, после каждого исправления нужно прогнать весь набор контрольных примеров, по которым система проверялась раньше, чтобы убедиться, что она каким-нибудь непонятным образом не повредилась. На практике такое возвратное (регрессионное) тестирование действительно должно приближаться к этому теоретическому идеалу, и оно очень дорого стоит"[1]. В настоящее время Borland SilkTest оспаривает это утверждение, так как позволяет существенно снизить затраты за счет максимальной автоматизации регрессионного тестирования.

Еще одна важная часть полного процесса тестирования программного обеспечения - это нагрузочное тестирование. Нагрузочное тестирование - это выполняемые тесты производительности, в которых система подвергается различным нагрузкам. Цель данного тестирования - оценить способность системы правильно функционировать в случае превышения планируемых нагрузок при реальной эксплуатации. Дополнительно нагрузочное тестирование определяет характеристики производительности (время отклика, число транзакций и пр.).

В серии Silk нагрузочное тестирование обеспечивается продуктом SilkPerformer. Тесты, которые тестировщик подготавливает в среде SilkPerfomer, могут сымитировать работу нескольких тысяч реальных пользователей, тем самым выявив возможные проблемы производительности и узкие места системы любой сложности и масштаба. С помощью сценариев можно протестировать любой вариант нагрузки, например, отдельный поток запросов к веб-сайту, или заранее определенное поведение приложения при обычной ежедневной нагрузке. Сначала определяются все узкие места, затем функции диагностики и анализа помогают устранить проблему, сокращая цикл "тестирование-устранение проблемы", а также время вывода разработки на рынок. При этом поддерживается принятие решений о версиях, связанное с производительностью приложений.

Набор интерфейсов и протоколов, поддерживаемых продуктом SilkPerformer, позволяет протестировать практически любое современное приложение с самой различной архитектурой: HTTP(S)/HTML, Unicode (UTF-8), SOAP (XML), WAP2 (WTLS, MMS), i-mode, потоковые медиа-данные (MS, Real), Macromedia AMF, FTP, LDAP, MAPI, IMAP, SMTP/POP, SSL, CORBA (IIOP), Java RMI (EJB/J2EE), .NET Remoting, (D)COM, Oracle Forms, Citrix ICA, ODBC, ADO, Oracle Call Interface (OCI), DB2 CLI, TCP/IP, UDP и др.

И наконец, третий продукт из линейки Silk - это Borland SilkCentral Test Manager. Продукт представляет собой консоль управления, которая обеспечивает управление всем процессом тестирования приложений в целом - начиная с определения требований к тестированию, соответствующих требованиям и спецификациям, планирования, составления расписания и выполнения тестов, и заканчивая отслеживанием и устранением проблем.

Например, в Test Manager можно импортировать требования из системы управления требованиями Borland CaliberRM (или создать их вручную) и сопоставить им тестовые сценарии, тем самым, обеспечив полное управление функциональным тестированием.

Также Test Manager представляет возможность управления всеми типами тестов, начиная с тестирования блоков на стадии разработки и до финальных приемных испытаний конечных пользователей. В Test Manager реализована система доступа на основе ролей ко всем требованиям приложения, спецификациям, планам тестирования, метрикам качества, результатам тестирований и отчетам.

Так, в результате SilkCentral Test Manager обеспечивает совместную работу специалистов по обеспечению качества, разработке и производству; улучшает прозрачность процесса тестирования и повышает эффективность процесса за счет сокращения времени выпуска продукции и улучшения качества программного обеспечения.

Все три продукта из линейки Silk можно использовать независимо друг от друга, но их ценность в процессе тестирования возрастет многократно при совместном использовании, а также при интеграции с другими продуктами поддержки жизненного цикла разработки программного обеспечения от Borland: StarTeam, CaliberRM, DefineIT, Gauntlet и др.