Performance test Model Combat Analysis | Application of C/s architecture for performance testing _ Software Testing

Source: Internet
Author: User

Reprint: http://www.51testing.com/html/87/n-3725387.html

1. Basic concept of CS/CSS system architecture

1.1 System Architecture Definition

Although B/s structure, Java EE architecture is becoming more and more popular mode, but based on the traditional C/s structure of the application is also widely used in various industries. Especially in the financial industry, the Commercial bank counters-the core accounting system. On the one hand, traditional commercial banks generally have a large number of character terminals, such as the need for reuse of equipment, on the one hand, because they have a large number of high real-time demand high cabinet business, the use of traditional C/s structure or C/S/S structure of the application efficiency is more assured.

c/S structure is client/server structure. The traditional C/s structure is generally divided into two tiers: client and server side. The basic principle of the structure is that the client sends the SQL request to the data server, and the server returns the data and the results. The client is responsible for implementing the user interface function while encapsulating some of the application logic. Server-side database servers primarily provide data storage capabilities, and also provide partial application logic through triggers and stored procedures.

C/S/S structure is the client/application server/Database server three-tier structure, the middle of the addition of application server, usually implement the application logic, is the connection between the client and the database server bridge. It responds to requests from users for some sort of business task and deals with the database server, typically using middleware products such as Bea's tuxedo and IBM's CICS. (In fact, the application of the Java EE architecture also belongs to this three-tier or multi-tier structure, not included here.) )

Compared with the two-layer C/s structure, the three-tier or multi-layer c/s structure has the advantages of security enhancement, efficiency improvement, easy maintenance, scalability, sharing, openness and so on.

1.2 System Architecture

Characteristics of performance testing in 1.3CS/CSS system architecture

Performance impact factors of 1.3.1CS/CSS system architecture

Because of the following characteristics of the CS/CSS system, it is difficult for a test engineer to perform performance testing on a CS/CSS system:

* Various parts of the system use a variety of operating systems, performance differences;

* The use of a variety of databases on all aspects of the system architecture, as well as performance differences;

* Applications are multiple, divided into multiple categories, distributed on different equipment, including self-developed applications, third-party applications;

* The equipment and components in the system are connected and communicated through different protocols;

* The system has many internal interfaces and many performance bottlenecks, while the overall performance of the system is often dependent on the worst part; need separate testing and joint testing

* The performance index of the system is not only related to the application system architecture, but also to the business model applied in the specific industry;

* Industry applications using this architecture are often a 7x24-hour system;

* Industry applications with this architecture may have more cabinets, which can affect the selection and conversion of performance metrics;

* Each link is basically the exchange of data messages in the manner of communication, the format is often more complex.

So the system is a test for the depth and breadth of the knowledge of the test engineer. For such a system, how to use the test strategy, how to analyze test requirements, how to select a conversion calculation model for performance metrics, how to determine test content and rounds, how to design performance test cases, and so on, and to plan and implement many other issues in performance testing, need to follow a systematic approach.

The basic strategy of performance test in 1.3.2CS/CSS system architecture

1. Determine the scope of the test work

First of all, we can analyze the most likely bottlenecks in the stress test, and then adjust the test strategy or test environment purposefully, so that the stress test results reflect the performance of the software truly. For example, the server's hardware limitations, database access performance settings, etc. often become a constraint on software performance, but these factors are obviously not the user's most concern, we need to pass a number of settings before testing to minimize the impact of these factors.

In addition, the user is more concerned about which part of the system performance situation will also affect the scope of work. If the link is a new system, and some of the link is already a mature system is only a slight change, this may be a new system of local performance testing needs to be systematic and comprehensive.

2. Analysis of good customer performance testing requirements

Whether the customer has made a specific performance metric, or only provided user usage and historical transaction flow data, requires us to calculate the performance benchmark. The purpose of performance testing is to verify system performance or to determine the desired configuration of the target system. Whether you want to use test results to predict the processing power of different models. Whether you want to schedule performance tuning processes in each round of performance testing, and so on, requires targeted answers.

3. Plans and programmes for performance testing

The test plans and scenarios should pay attention to the resolution of the issues raised during the test requirements analysis phase.

4. Determine the test through the guidelines, performance testing plans, results to obtain customer recognition

To confirm with the customer, what is the standard for the performance metrics of the system, the plans and results of the various parts and steps of the performance test, and even the performance testing process, depends on the importance of the customer for confirmation and signature. The most important thing is to get the customer's approval.

Neutral Energy measurement and performance detection of 1.3.3CS/CSS system

Performance measurement

1. The performance measurement must be carefully planned before the performance test begins:

Software Performance measurement technology range is very wide. This can include performance measurement techniques such as logging, event count, event duration, sampling, and so on.

* Determine the performance measurement strategy: What we want to test.

* Plan what measurement tools are used in the performance test.

2. Representation of measurements

* Measurement results to reflect the impact of the performance of the important factors: workload load, software and computer system environment.

3. Repeatability of measurement

* Can control workload load, software and computer system environment, so that the testing process can be repeated.

Performance Detection Technology

Standard commercial tools can be used for performance measurement, but often the data provided by standard tools do not meet the requirements. Performance detection is the insertion of a code probe at the key point of the program to measure the execution characteristics of the software. Thus achieving the following objectives:

– More convenient performance data access

– Increased level of detail in the data

– More manageable data collection

Based on the recommendations of the SPE (software performance Engineering), software detection requirements should be part of the software architecture. Design software probes when designing software.

Therefore, in the process of performance testing in planning projects, it is advisable to consider the requirements of island performance detection in software design and prepare for better performance measurement in performance testing.

Type of performance test under 1.3.4CS/CSS system

A broad range of performance tests includes many types. Such as:

*scalability/load Testing (Scale/stress test): By increasing the pressure on the tested system until the performance metrics such as response time exceed predetermined targets or some resource has reached saturation point. This test can find the processing limit of the system and provide data for system tuning.

*performance Testing (performance Test): Test the performance of the system to meet production performance requirements by simulating the operating pressure volume of the production operation and using scenario combinations. If the actual commissioning of the structure test, to find the maximum throughput and the best response time to ensure the smooth line, security and so on.

*configuration Testing (Configuration test): Through testing to find the system of the optimal allocation of resources of the principle.

*concurrency Testing (Concurrent testing): Tests for multiple users accessing the same application, the same module, or data records for deadlocks or other performance issues.

*stress testing (limit test): The test system in a certain saturation, such as CPU, memory saturation in the use of saturated conditions, the system can handle the session capacity, and the system will be error.

*volume testing (capacity test): The maximum session capability that the test system can handle.

*reliability Testing (Reliability test): Run for a period of time by loading a system with a certain amount of business pressure (such as resource usage in 70-90%).

*failover testing (failure test): For systems with redundant backups and load balancing, this test verifies how much the user will be affected if the system is partially faulted and the user can continue to use the system.

In the actual performance test under CS/CSS system, the selection and combination of performance test types need to be carried out according to the specific conditions.

Component of performance test under 1.3.5CS/CSS system

Usually in a cs/css system, the user interface layer, the service logic layer and the data Service layer are divided into several levels, which correspond to the customer, application server and database server respectively. If in the financial industry application, the client carries on the cabinet surface business, deployed in outlets (including character Teller or graphic Teller), and also includes self-service services deployed on self-service devices; The application server mainly plays the role of routing function, business processing function and channel integration, while the core business processing system includes trading platform, Business logic, core processing, data processing and so on.

Because the business logic distributes in the different link, causes the system the internal interface to be many, the performance bottleneck is many, but the system overall performance often depends on the worst part. Therefore, the overall performance of the whole system testing may need to be for each link to do their own internal performance testing.

As an example of the following CS/CSS system financial industry applications:

In order to test the performance of the whole system, it is necessary to carry out internal performance test for each component, such as the pressure test of the background host, the pressure test of SNA Gateway, the pressure test of the large front system, the pressure test of the front-end system, the pressure test of the external system, etc.

In this internal stress test, in order to eliminate the impact of other parts of the system, separate parts need to be isolated, and the drivers and piles are replaced by software testing tools or by their own programming. In each part of the internal stress test, you can use the various performance test types described in the previous section for performance measurements as appropriate.

2. CS/CSS system Architecture in the performance test of the measurement calculation model

2.1 Defining Metrics items

When performing the model analysis of performance test, the key energy target should be determined first. It should be achieved through communication with the customer, which should address the performance concerns of the customer, that is, the customer's performance testing requirements are reflected in the key objectives. Performance goals should be clear and measurable. For example: Support 2000 concurrent users, 30 consecutive days without downtime, and so on.

Once you have identified the pass/Fail guidelines for key performance objectives and test performances, you need to define how to measure the pass/fail criteria for key performance objectives and for the test of your performances. The standard entries for metrics affect the selection of test methods and test tools. For example, if you want to measure the concurrent response time of 100 users, you must explicitly measure which of the following criteria:

* Response time for each concurrent user

Related Article

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.