Introduction to the Design of Data Environment

Source: Internet
Author: User

Writing this articleArticlePreviously, I googled "Performance Test Data" and found that different articles have different positioning for performance test data. Therefore, I think it is necessary to first locate the performance test data I am talking about here.The performance test data refers to the basic data during execution in the performance test scenario and the data environment in the performance test environment.The necessity of preparing data environment is self-evident. It's like, you need to find a red bean from 10 green beans and from 0.1 million green beans. Which situation can better reflect your intelligence? Therefore, the software performance test should be performed on a database with a certain amount of data so as to truly reflect the software performance.

So what kind of data evnironment is reasonable? The answer is of course the best data from the production environment, because the data is real. However, it is difficult for many performance tests to obtain data from the real production environment, because the system has not yet been put online during performance tests. Why? Therefore, how to design data close to the production environment is the focus of our discussion.

1. Determine the Data Type

Test data can be divided into the following three categories based on different systems:

A. Basic data

This type of data refers to the basic data of the entire tested system business. For example, customer data in the billing system and agent data in the call center system.

The characteristics of this type of data are the basis of all data, and the data volume is relatively fixed, or the change is not big (of course, without resizing, generally, the expansion is caused by a certain amount of data or the increase in business volume, which also causes the system to upgrade ).

B. Business Data

This type of data is derived from basic data based on the business of the tested system. For example, in the billing system, the customer's purchase records, Bill records, call records in the call center system, the number of contracts generated, and the number of program list data and on-demand videos in the digital TV system, and various VOD records.

This type of data is characterized by association with basic data, which is the core data of the tested system, which reflects the business and will linearly increase or exponentially increase with the launch time of the tested system.

C. Historical Data

This type of data means that expired business data or some systems need to strictly track user operations. Therefore, the modification history of some basic data or business data will be kept in the database, easy to search. For example, modify the basic information of a customer, purchase records of a customer, and historical orders.

This type of data is characterized by performance impact on the query function, although it is not displayed on the UI.

2. Determine the data volume

Generally, the data volume is not directly provided in the functional spec. In functional spec, only the customer or market personnel can predict the business growth of the entire tested system.

For example, I recently calculated the call center performance test data. In the functional spec, the number of agents on the go-Online page is displayed. Generally, the call frequency and the growth rate of the number of customers are displayed. In this way, we can calculate the customer data volume in the next two years based on the customer's growth rate. Using the number of agents, we can calculate the average call frequency at a peak of 1.5 times, the peak value is two times to calculate the increase in the number of daily call records, so as to calculate the number of call records in two years.

In addition, not all functional spec will provide a detailed description of the tested system business volume. In this case, tester needs to have business insights, bold assumptions, and be cautious in verifying the information. We recommend that you use tester to determine the data of each item based on your understanding of the business.AlgorithmAnd then boldly assume the basic data volume, form a complete design document, submit it to the manager, or directly call relevant personnel to carefully verify your bold assumptions. [PS: After determining the data volume, it is best to go through the review of managers, market personnel, and even customers and reach a consensus.]

3. Sort data relationships

This is the key to the entire set of data. We need to associate basic data with business data one by one.

For example, assume that the system under test is a ordering system. How many historical changes, call records, and orders should be associated with a customer. How many customers should have order records, and how many customers have no order records, etc. The design of these data will involve the number of records from which the system queries a customer and the number of records returned by a customer in the current month in the future performance test scenario, this is also a good measure of the tested system performance.

4. Optimize the Data Structure

This is mainly the Data Optimization for the query operation. For example, we need to test the performance of a customer who queries orders within a certain period of time. In this case, we must randomly or follow a certain rule to distribute the order generation time of the customer to which the order belongs in the order table. This can effectively avoid blank query results for some customers, some customers query tens of thousands of results, which makes it impossible to measure the performance of the tested system.

The above is my summary of the performance test data design. Although it may not cover all aspects of the test data design, I think it can also provide a way of thinking. In fact, the data or data design focuses on different tested systems are different. For example, in the design of performance test data for digital TV systems, in addition to customer data, basic data on services, such as program orders and movie data, must also be considered; when designing the data relationship, the focus is to design the proportions of different types of products ordered by the customer, so as to determine the number of orders for the current month. Therefore, I think the key to being able to design good performance test data is to be familiar with the tested system business.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.