ОБЗОР

 

Пакет TestBytes 4.0 фирмы Logic Works упрощает создание данных для тестирования

 

Для надежного тестирования приложений СУБД необходимо иметь хорошие тестовые данные. Подобрать их очень непросто, но теперь этому может помочь продукт TestBytes фирмы Logic Works (Принстон, шт.Нью-Йорк).

TestBytes генерирует таблицы со столбцами, удовлетворяющими требованиям заданного шаблона

Первоначальная версия TestBytes была в своем роде первым образцом генератора тестовых данных для СУБД. Испытания в PC Week Labs показали ее перспективность, однако при этом отмечалось, что создание подходящих данных требует выполнения большого числа операций, производимых вручную. Новая версия продукта имеет возможность использования ключей и автоматизирует процесс генерации данных. Стартовая цена TestBytes 4.0  -  $1295. Продукт значительно облегчает подбор данных для тестирования приложений СУБД и будет полезен для администраторов баз данных и разработчиков прикладных программ.

 

TestBytes 4.0 (по существу, это второй выпуск продукта) реализован как в 16-, так и в 32-разрядном вариантах, что позволяет запускать его под любой версией Windows. По результатам испытаний 32-разрядной бета-версии продукта в Тестовом центре PC Week Labs мы обнаружили, что создать базовую структуру тестовых данных стало значительно проще.

 

Если первая версия, TestBytes 3.0, требовала явного задания всей структуры таблицы данных со спецификацией составляющих ее столбцов, то версия 4.0 восстанавливает структуру таблиц, используя имеющуюся базу данных, и выводит на экран ее полное структурное описание.

 

Для испытания этой новой возможности мы провели восстановление структурных схем баз данных двух типов, созданных с помощью СУБД Oracle8 и Microsoft SQL Server 6.5. Бета-версия TestBytes корректно распознала специфику полей БД, отнеся их к нужному (текст, число или дата) типу, и установила ширину этих полей в соответствии с форматом исходной таблицы. Последующая генерация случайного набора данных, соответствующего образцу исходной БД, производится простым нажатием кнопки.

 

TestBytes легко манипулирует таблицами с установленными ключами, однако не поддерживает других ограничений, которые могут накладываться на данные, например условие отсутствия совпадения значений или ограничение на величину данных в определенном столбце таблицы. Поддержка условия уникальности значений могла бы стать ценным дополнением продукта.

 

TestBytes может использовать модели данных, созданные с помощью инструмента проектирования баз данных ERwin фирмы Logic Works, причем в этом случае восстановление структуры данных осуществляется еще проще.

 

За одну операцию TestBytes 4.0 может генерировать целый набор таблиц, что значительно ускоряет работу. Число строк таблицы, генерируемых за один запуск программы, ограничено 10 миллионами. Это удовлетворит большинство пользователей. Однако в некоторых случаях бывает желательно иметь тестовые данные, состоящие из сотен миллионов записей.

 

Продукт может генерировать таблицы с полями, удовлетворяющими сложным маскам. Это позволяет без труда создавать сугубо специфические виды полей, скажем пользовательские коды, образованные четырьмя буквами, за которыми следуют две цифры, обозначающие год. В состав пакета входит также набор всевозможных форматов для генерации даты и времени.

 

Фирма Logic Works позаботилась, чтобы TestBytes поддерживал ссылочную целостность. В версии 4.0 можно генерировать внешние ключи с индивидуальными кардинальными числами (в первом выпуске значения внешних ключей создавались с одинаковым кардинальным числом). Например, устанавливая соответствие по ключам между двумя таблицами, мы можем для каждого значения первичного ключа генерировать от 1 до 100 внешних ключей. Такая возможность полезна при создании наборов данных, аппроксимирующих взаимосвязи между объектами реального мира, например, когда продавец может иметь порядка 100 счетов.

 

При генерации внешних ключей TestBytes позволяет располагать значения первичного ключа как случайным образом, так и в последовательном порядке. При испытаниях мы могли также ограничивать значения внешних ключей, используя условие Where языка SQL. Это дает возможность генерировать связи только между данными, которые находятся в пределах ограниченной области, например для продуктов с ценой, не превышающей заданное значение.

 

К сожалению, TestBytes пока не может задавать кардинальные числа для столбцов, не участвующих в связях через внешние ключи. Например, можно создать столбец, содержащий половину заказов из Калифорнии, а другую половину из различных штатов, однако правильное распределение генерируемых данных требует большой дополнительной работы.

 

В реальном мире часто встречаются более сложные распределения данных (типа нормального статистического распределения), основной чертой которых является неравномерность. Генерация данных такого типа (data skew) выходит за рамки возможностей TestBytes.    

 

ТИМОТИ ДИК (PC Week Labs)

 

Резюме ДЛЯ РУКОВОДИТЕЛЕЙ

 

Новая версия TestBytes значительно облегчает генерацию данных для тестирования СУБД и их приложений. Продукт полностью удовлетворит тех потребителей, которым достаточно получить относительно простые наборы тестовых данных. Однако тем, кому требуется не случайное, а более сложное распределение данных, пока придется создавать собственные генераторы данных.

 

Методика оценки: www.pcweek.com/reviews/

 

meth.html.

 

TestBytes 4.0 Beta.Logic Works,

 

Принстон, шт.Нью-Йорк,

 

(609) 514-1177;

 

www.logicworks.com

 

Позволяет быстро создавать шаблон тестовых данных путем распознавания структуры пользовательской БД; поддерживает ссылочную целостность; может генерировать сложные пользовательские коды; генерирует связанные группы таблиц.

 

Не может создавать распределения данных, не удовлетворяющие ссылочной целостности; не может генерировать столбцы с условием отсутствия совпадающих значений; поддерживает только случайные распределения данных без заданной статистической закономерности.

Версия для печати