Рейтинг: 5.0/5. на основе 2 оценок.
Пожалуйста, подождите...

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

Решить сложные задачи и повысить скорость проверки программных продуктов можно с помощью привлечения инструментов и техник автоматизации тестов.

Самая актуальная задача, возникающая при работе со сложными проектами, кроется в эффективном развертывании необходимых тестовых условий сложной иерархии для эффективного прогона среды, требующей максимально разностороннего подхода. Подобные задачи весьма характерны для продуктов, в которых применяются XML-технологии и SQL-интерфейсы для баз данных, а также большое число других разнообразных программных компонентов.

Структура тестовых данных

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

Тестовые данные

Тестовые данные

Традиционно в состав тестовых данных входят:

  • Реальные тестовые данные: нужно выполнить проверку, соответствует ли система и ее функции установленным требованиям, хранятся ли данные так, как нужно;
  • Вымышленные тестовые данные: стоит протестировать, правильно ли система считывает недопустимые значения, выводит верные сообщения для пользователя, говоря ему о том, что данные неверны;
  • Пограничные значения;
  • Неверные значения данных: необходимость тщательно проверить, как реагирует система на ввод информации в неправильном формате, есть ли данные об ошибках;
  • Отсутствие значений: крайне важно протестировать продукт на использование полей без значений, а также прогон приложения при кроссплатформенном тестировании.

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

Инструменты для тестовых данных

Инструменты для тестовых данных

Databene Benerator

Сегодня в сети можно встретить массу материалов, посвященных нагрузочному и юнит тестированию. Каждый пытается писать тесты, программный код создается только через TDD на основе jmeter/ab.

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

И да, в юнит тестировании проблема не стоит остро, а вот как быть с нагрузочным тестированием, где нужно проверить работу 1 или 10 миллионов возможных объектов?

На сцену выходит Databene Benerator. С его помощью можно добиться сразу 2 целей: правильно сгенерировать тестовые данные и максимально анонимно их «законсервировать».

Утилита работает на основе составленной вами XML-карты для быстрой генерации XML/CSV файлов прямиком в базу данных.

Поддерживает такие базы:

  • DB2;
  • Oracle;
  • MS SQL Server;
  • Derby;
  • H2;
  • PostgreSQL.

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

Плюсы использования:

  • Все сгенерированные данные находятся в одном месте, в одном формате. Команды запускаются исключительно через 1 операцию;
  • Для работы с программой не обязательно в идеале владеть языками программирования. К тому же область применения практически неограниченна;
  • Быстрота составления сценария + скорость смены данных. Большое число встроенных функций, с помощью которых можно качественно и быстро покрыть до 80% кейсов проекта, и все это пройдет быстрее, нежели ждать пока будут готовы написанные скрипты.

Минусы:

  • Специфический синтаксис;
  • Непостоянная поддержка сообществ. Даже на Stack Overflow мало информации.

Datatect

Особенности этой утилиты:

  • Применяет ODBC, для мгновенной генерации информации в любой удобный источник данных ODBC. Отлично подходит для базы данных в MS Access, Oracle, SQL;
  • Функции расширения через VBScript. Позволяет создавать ключи в различных блоках генерации тестовой информации, для оптимального расширения возможности представленной утилиты;
  • Оптимальное взаимодействие между ключами, когда столбцы внешнего ключа запрограммированы на «вытягивание» ключей их родительского списка или таблицы.

DTM Data Generator

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

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

Что интересно, разработчики DTM Data Generator всегда идут навстречу пользователям и постоянно стараются совершенствовать продукт именно так, как хотят этого клиенты.

Главная «фишка» утилиты – функция распознавания зависимости между родительскими и дочерними таблицами. Также Data Generator умеет распознавать установленные свойства check constrains для определенной группы популярных СУБД.

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

Кроме того, отдельно можно выделить:

  • Функция Wizard – быстрое создание нужных правил генерации тестов;
  • Работа с шаблонами для генерации тестовых данных – качественный инструмент для разработки сложных и многоуровневых значений внутри одной базы;
  • Возможность генерации SQL сценария, отвечающего тестовым значениям.

EMS Data Generator for MySQL

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

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

Утилита EMS Data Generator

Утилита EMS Data Generator

Структурно можно выделить следующие особенности данного приложения:

  • Работа на основе кодировки Unicode;
  • Взаимодействие с легко понятным внешним интерфейсом меню параметров;
  • Оперирование созданными группами информации в сценарии SQL без функции выполнения запросов на стороне сервера;
  • Создание таблиц для группы баз данных;
  • Работа над поддержкой сразу нескольких видов данных MySQL;
  • Круглосуточная поддержка.

dbForge Studio for SQL Server

Корпорация Devart выпустила довольно популярный инструментарий dbForge Studio for SQL Server, предоставляющий собой полезную утилиту для быстрой генерации тестовых данных, а также возможность быстрого сравнения информации и схем с разных БД.

Этот генератор данных – полезный инструментарий, помогающий разработчикам и тестировщикам, оказывающим услуги тестирования ПО быстро и удобно наполнять требуемые таблицы на SQL Server необходимыми данными:

  • Мгновенная разработка большого числа тестируемых данных;
  • Многошаблонная настройка нужных параметров для каждого вида таблиц;
  • Оперативный просмотр тестовой информации;
  • Возможность моментального экспорта информации в SQL-скрипт.
Утилита dbForge Studio

Утилита dbForge Studio

Ruby-plsql-spec

Специализированный фреймворк для проведения юнит-тестирования SQL с применением Ruby. В состав утилиты входят две библиотеки:

  • Ruby-plsql;
  • Фреймворк BDD.

SeLite

Данная утилита является современным расширением в семействе инструментов Selenium. Базовая суть – постоянная возможность оперировать базой данных, которая основывается на SQlite и максимально изолирована от приложения.

Работая с SeLite, вы сможете находить важные ошибки на сервере, а также делить скрипты между созданными тестами и работать с мгновенными снимками.

Приложение взаимодействует с такими базами: PostgreSQL, MySQL и SQLite.

Прочие программы

Остальные сегодняшние инструменты, такие как DBMonster, Turbo Data, Data Generator, позволяют комплексно обеспечивать заполнение таблиц базы данных значительным числом корректных данных.

В их возможности также входит:

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

Есть группа инструментов, к примеру – AGENDA и HTDGen, которые могут генерировать данные не только на базе установленных ограничений, но и при использовании SQL-запросов внутри тестируемого продукта. Такой подход дает определенную гарантию того, что созданные SQL-запросы не будут возвращать пустые значения.

Установленные ограничения

Установленные ограничения

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

Оставить комментарий