Data Management Service (DMS) provides the Test Data Generate feature that is supported by a powerful algorithm engine. You can use this feature to generate large amounts of information at a time, such as random values, region names, and virtual IP addresses. This way, you can prepare test data with ease. This topic describes the Test Data Generate feature and shows you how to generate test data.

Prerequisites

  • A database that contains the table for which you want to generate test data based on specific fields is created. The generated test data is directly written to the database.
    Note Before you use the Test Data Generate feature to generate test data for the database, we recommend that you use the Database Clone feature to clone the database from an online environment to an offline environment.
  • The following types of databases are supported:
    • MySQL
    • PolarDB-MySQL
    • ADB3.0-MySQL
    • ADB2.0
    • DRDS
    • Oceanbase2.0-MySQL
    • Oceanbase1.0

Background information

In general, test data is required for functional tests or performance tests. You may use the following methods to generate test data:

  • Write and import test data. This method has low efficiency and is inapplicable to scenarios where a large amount of test data is required.
  • Maintain existing scripts. This method incurs high costs. Scripts must be modified for different tests. In addition, the data generated by using this method is not discrete enough.
  • Export data from an online environment and write the data to an offline environment. This method is not secure and may cause data leak.

The preceding methods are insufficient to meet the requirements of the actual development process in which test data is frequently required. This process requires high data security and controllable data discreteness. It also requires high efficiency to save time and complete more constructive work. To this end, DMS provides the Test Data Generate feature to help you generate test data with ease.

Usage notes

  • You can use this feature to generate test data for one table at a time. To generate test data for multiple tables, use this feature multiple times.
  • A maximum of one million rows of data can be generated at a time.
  • You can generate test data based on the following performance metrics. In this case, traffic throttling is enabled. This prevents database overload that is caused by instantaneous generation of excessive data.
    • One million rows of data with four fields can be generated in about 60 seconds.
    • One million rows of data with 40 fields can be generated in about 120 to 180 seconds.

Procedure

  1. Log on to the DMS console.
  2. In the top navigation bar, move the pointer over the More icon and choose Data Plans > Test Data Generate.
  3. On the Test Data GenerateTickets tab, click Test Data Generate in the upper-right corner.
    Note You can also right-click the table that you want in the pane to the left of the SQLConsole tab. In the shortcut menu that appears, choose Data Plans > Test Data Generate.
  4. In the Test data build ticket application dialog box, set the parameters in the Application step as required and click Submit. The following table describes the parameters.
    Parameter Description
    Task Name Required. The name of the task. This helps you find the ticket in subsequent operations and allows approvers to know the purpose of the ticket with ease.
    Database Name Required. The name of a specific database in a specific database instance. You must have permissions to manage the database in DMS. Enter a keyword and select a database whose name starts with the keyword from the matched result.
    Table Name Required. The table for which you want to generate test data. Enter a keyword and select a table whose name starts with the keyword from the matched result. You can specify multiple tables.
    Configure the algorithm Required. The algorithms that you use to generate test data. For more information, see Algorithms.
    Number of rows generated Required. The number of rows that you want to generate for the test data.
    Conflict Handling Required. Specifies how DMS handles conflicts. Valid values:
    • Skip when encountering data conflicts: If a primary key conflict or a unique index conflict occurs when test data is being generated, DMS ignores the conflict entry and continues to generate test data.
    • Replace when encountering data conflict: If a primary key conflict or a unique index conflict occurs when test data is being generated, DMS overwrites the conflict entry and continues to generate test data.
    Change Stakeholder Optional. The stakeholders of the ticket. Specify the stakeholders as needed. Only users who are relevant to the ticket, including those who participate in the approval process of the ticket, can view ticket details.
    After you submit the ticket, the ticket approval process starts.
    Note By default, the tickets that are submitted to generate test data are approved by database administrators (DBAs). For more information about the approval rules, see Test Data Generate.
  5. After the ticket is approved, DMS automatically starts to generate test data and write the test data to the specified database.

Algorithms

You can use one of the following algorithms to generate test data: Random, Customize, and Enumeration.

  • Random
    • INTEGER type: Two build types are provided. If you set the build type to Self-increasing sequence, you must set the Starting value and Step parameters. If you set the build type to Interval number, you must set the Minimum value and Maximum value parameters.
    • STRING type: Two build types are provided. If you set the build type to Variable length string, you must set the Minimum length, Maximum length, and Character range parameters. If you set the build type to Do not repeat string, you must set the Options parameter.
    • TIME type: Random dates and time values can be generated based on a specified time range.
  • Customize

    The Customize algorithm can be used to generate only test data of the STRING type, such as personal information, geographic location information, and industry-related common information.

  • Enumeration
    You must create a limited number of values for DMS to select.
    Note The Enumeration algorithm can be used to generate test data of the INTEGER, STRING, and TIME types.