Know something bout Performance testing
In order to make you more clear to performance test plan, described here in the format of the test plan.
A brief introduction.
Introduction part need not too much description, no more than project background, causes of the performance test, and the performance test coverage range and so on, almost all project documents are explained in the beginning of the project.
2. The performance test requirements
Looking for the tested object and pressure points
To test the object is not imagined, but after analysis and data collection system.Taking several typical pressure point
Login: for general system, the login is the precondition of the user operating system, if the user simply can't log in, then the other functions will be useless.Such as network game, open a new suit, players crowded broken head only to log in.
Query: the query is compared commonly consumption system and database
resources.Search engine is a typical query function, if you input content in the input box, a long time won't get the result.I want to be known as the "Internet portal" the search engine will not exist.
Trade: for some e-commerce systems, the performance requirements of the transaction process is very high, if transaction costs the user for a long time.I would rather go to the supermarket to buy things.Of course, in addition to speed, the success rate of demand for the deal is also very high.Otherwise, the damage is immeasurable.
System under test should be the most important basic function, and the user the most frequently used functions.
The general performance requirements include:
System capacity: how many user registration system's maximum.
Access number: the number of users access system at the same time.
Concurrency: the number of concurrent an operation at the same time perform, a system should have the different combination of concurrency operation (usually users have permission to operate).
The maximum number of users with the best users: system under the maximum number of concurrent users, system under concurrent users of the data in the best condition.
Response time: the user submits an operation to get the response time interval.
Throughput: every second processing of TPS system
Key factor is the pressure of a performance test, the performance is in the system design to meet the maximum performance under pressure.Concurrency or less than the peak value of system normal operation, data amount not less than three months the amount of data system normal operation.
In describing the number of concurrent users, always with the corresponding time limit.Performance of the system in essence should be used per unit time the number of system processes the request and the request response time.Unit to deal with in the course of time, number of requests is business throughput of the system.Virtual reduced the number of concurrent users can use the following formula: (real users by each user requests)/(total request response time + real users always think time) = (virtual users x per user request number)/(total request response time + virtual users always think time) = throughput.
3. The test environment
The test environment here mainly refers to the software hardware and network environment.
The author thinks that the performance test is best within the environment of an independent, it is not subject to interference from the outside, to ensure that test data is independent and effective.If you now to an online site to conduct stress tests, so you get the data is not independent, because when you doing pressure test, other retail investors access to the system.
The software environment here mainly refers to project operation environment, such as adopting what kind of operating system, middleware, and database.
The hardware environment here in addition to the main internal components, including the host CPU, memory, disk and motherboard, CARDS, etc., transmission medium and router should also be taken into consideration,
The network environment:
In addition to consider testing machine and the network environment is system server in a local area network (LAN), should also ensure that the network of independence.If in the
course of the performance test, other machines are also consumed a router resources.The router can also affect the transmission speed of a database.
4. Data preparation
In many cases, we are ready to test data, such as the repeated login system does not allow the same user, you must to generate a legitimate user data.Sometimes to test the query system, and only if the system has a certain amount of data to verify the actual performance of the system.There are two data in a database, and twenty million pairs of data in phase a query operation, on the system caused by the stress is not the same.
Required data analysis system can refer to the following ways:
Data analysis is helpful to determine the magnitude of history.From the historical data, this paper find out the peak volume of data.
From other similar or the same system, data analysis, find out the peak volume of data.
No history or related system can refer to, is to estimate the performance of the system data, include the system capacity, the number of concurrent data, estimate later after review or revision to the related personnel, according to your agreement of performance test.
Test data and real data, the same best if you can get real system run 3 months of data, we can on the basis of performance testing.
About the data generation, we can be done to a tool, such as database data generation tool, the size of the file generation tools, etc.
5. Testing tools
It has already been introduced how to analyze requirements, demand to determine down, we can consider what kind of tool for introducing performance requirements.
, of course, the introduction of tools in addition to consider whether can meet the demand, also should take into account the cost of tool, it not only refers to the purchase cost of tools, and the tester for tool to study the cost.
About the choice of testing tools, behind can have a separate chapter introduction, here did not elaborate.
If you choose to performance test tool is not strong enough, you may also need to other auxiliary tools.If jmeter using badboy to record scripts, more can improve the efficiency of script development.In the process of pressure test may also need to record the performance of the software and hardware performance counters.Such as the monitoring server CPU, memory, counter, record log monitoring tools, middleware monitoring database performance monitoring tools, etc.
6. The test strategy
For a specific business system, the user generally spread in the each period of the day for a visit.In different times, the frequency of different users using the business system, and the system busy at different levels.In some specific conditions, may appear in a short period of time without the user's access to a business system.For the document processing subsystem, for example, may be there is a short time a large number of users to view and deal with one of the official document.When performance testing, should use the principle of "considering the worst".Is also the most frequently should be used in the user business system, the maximum pressure of the system test, the function of the system under the condition of whether each function and page can satisfy the requirements of the performance, system response time is too long.
Validation of system performance, on the other hand, must be
"comprehensive".Although the use of various functions in the system frequency is not the same, some features of the frequency relative to other features is lower, but the performance testing and optimization, can't ignore these functions, when preparing the test cases can only choose the most commonly used functions.For example, may all users access to a list of my notice, but generally only 5% of users will use to find a user information through the system Settings module;But when in the test, since we can't view the users information function of use frequency is relatively small, and ignore the function test.So here are to test the performance of the system, for different business, user access should be a reasonable allocation proportion.
On the test strategy, we should also consider that the same system performance under different hardware environment.So that the system meet the demand of cases, the hardware configuration can achieve an optimal state.Excessive add hardware to meet demand is also a kind of waste.Besides, increase the hardware equipment can not solve the problem of all performance.
7. Arrange manpower and time
Last one, is must according to the requirements of the project progress and scale, for the arrangement of the manpower and time.For a large performance tests, the demand of the early stage of the project research, the deployment of the environment, the choose and buy of tools or a development, personnel learning and use of test tools, performed after the performance test and data analysis and tuning of the late.All need to staffing.May need professional, system engineer, database engineer, software development engineers, network engineers and performance testing engineer to participate to cooperate to complete.Is not a performance tester can be all done.
I heard that the best performance test, need a dozen cities in several countries of its synchronization performance testing team.The preparation work requires a few months time.How to handle a simultaneous performance testing.The late summary and analysis of test
data.Is a very complicated process.Remains to be proven in this example, I think, for big
projects performance testing, personnel and time arrangement is also important.