steps of the performance test process---detect (to standardize performance testing)
Performance testing of the work of a multitude of, the most afraid of is like a headless fly blindly test, not only time, but also accumulated less than experience, team and individuals are difficult to grow, (the next time the performance test, or a random survey).
We need to develop step-by-step implementation of steps so that we can move forward step-by-step towards the goal. According to Microsoft's research, the process of performance testing should be six phases, namely discovery, exploration, proposal, execution, review, closure.
The original text reads as follows:
1, Discover the problem: find the problem.
The most important step in this process is to find (Discover) the problem, to detail the problem (discribe), and to record (document) correctly and in detail. Before going to the next step, we testers should ask themselves these questions:
• Is there a concise description of the problem?
• Baseline of the user and where to look
2, Explore the conditions: Explore the causes and provide a clear definition and positioning for the problem.
The main task of this step: to widely collect relevant data, try to understand every aspect of the system, avoid the deep analysis, missing a key phenomenon and go astray; Focus: Explore (Explore), find Evidence (Evidence), establish (establish) The whole question of the context of the hypothesis.
Sometimes at this stage you can find the key points, such as hardware damage, a hard disk block or memory block, or some other program to eat all the memory, so that SQL Server no memory available, or the program often dead, the CPU and so on.
3, Track down possible approaches: provides possible solutions.
The main task of this step is to analyze the correlation between the data in depth, and to make assumptions about the whole problem, and then formulate the corresponding strategy (plan). If the previous step is not detailed enough, in this step we may be misjudged, leading to a half-day effort, but just can not find the bottleneck point.
The most important action of this step is to draw up a plan. A good plan, you can know the direction and steps.
4, execute the most likely approach: Execute the most likely solution.
This is the simplest step in the Detect method, as long as you follow the plan outlined in the previous step. However, in implementing the plan, you still need to be aware of the system's response (you may want to abandon the current plan at any time, as new evidence may prove to be a mistake in your previous judgment, so revise your plan, or even go back to the previous step to redesign the plan.) Do not be impatient at this time, because the whole performance testing process is to test the team's careful and endurance, knowledge breadth and depth. , but also be careful to see if there will be new problems and seriously affect the implementation of the current system, do not slow the original system, and your test has become the last straw crushing camel.
5, check for success (repeat previous steps if required): Confirm the solution is successful or not.
The main task of this step is to collect data again to verify that the plan is successful or not. If the hypothesis is correct, continue to collect the relevant data to establish the next steps, and if this step finds that the results of execution are not as expected, prove our assumptions wrong. This will be very popular tuo, and then give up the method of performance testing, because it can not tolerate the loss of the whole time. In fact, the goal of the wrong performance is often the case, this methodology is to you in the wrong current, stop to think about it, the most important thing is to clearly know this time is wrong, so the new steps can be more approximate to the goal. Systematic mistakes are part of the whole plan, and stepping on the wrong path to success is the norm of performance testing.
6, Tie up loose Ends: finish finishing work.
Repeat the first five steps until you reach your goal.
But when we finish the goal, we still have to pay attention to the following questions:
• Whether the solution has a marginal effect, resulting in other problems such as: for a certain type of query work to establish a large number of indexes, after the original normal new, modified, deleted have appeared performance problems.
Whether the problem is really eradicated, or just a symptom of a piecemeal approach to the assumption of the problem, it is easy to specialize the problem, only partially solve the phenomenon. For example: Adding an index or slightly changing the query syntax, easing the current bottleneck, but when the user slightly increased, or the use of different query methods, the old problem recurred.
• Do you want to build a plan for continuous tracking
When you are not sure that the problem has been eradicated, it may be necessary to develop a plan for continuous tracking. Decide whether you want to keep track of some of the counters, whether or not certain phenomena will occur, if so, how to resolve and so on. This will not only let users feel at ease, but also let you know how much benefit the previous behavior, the next performance test will be a more complete solution.
Performance testing and adjustment requires patience and perseverance, to fully communicate with the user and coordination, each step is carefully, as far as possible to expand the breadth and depth of the team's knowledge. This requires daily training, not a touch.
There are steps to be made in the performance testing and tuning process, make sure that each action brings you closer to the target, collects all kinds of information properly, and each test action affects the system itself, causing the phenomenon to be seen as the result of the system interacting with you, and be careful not to be misled by your own recklessness.
Other:
Defining bottlenecks
The so-called bottleneck is that the whole system could have been smoothly executed, but if there is a point in the system can not handle the demand, resulting in the entire system execution efficiency is stuck, this point is the bottleneck. So the definition of bottlenecks is defined as follows:
Bottleneck = amount of processing > actual processing of demand arrival (throughput)
In our today's distributed computing system, it is quite complicated to find out where the overall process card is, because the bottleneck of the system can be quite large, so we need to focus on what is stuck in the overall system process, such as Web services, where the components include SQL server/com+/ Iis/ie, in the overall response time, if IE spend 2 seconds (because the PC is old, and the execution is very complex), ASP processing time 0.5 seconds, com+4 seconds, SQL Server0.5 seconds, we can say that these points have bottlenecks, but the cost-benefit of the solution is different.
Overall performance bottlenecks to find and solve the process: first find out what the system has bottlenecks, and then formulate plans to overcome each item. Method: Repeatedly looking for different bottlenecks, first deal with the lower execution cost but the performance impact of the larger parts