We know that the software architecture restricts the choice of test strategies and tools in actual tests. How to select performance test strategies is what we need to know in actual work. General software can be divided into several types according to system architecture:
C / S
Client / Server client / server architecture
Three-layer architecture based on client / server
Client / server distributed architecture
B / S
Three-layer architecture based on browser / web server
Three-layer architecture L based on middleware application servers L
Multi-layer architecture L based on web server and middleware L
In each different system architecture, developers may choose different implementations, causing actual conditions. We cannot explain each technique in detail, here is just a way to provide you with how to choose a test strategy, helping to analyze the performance indicators of different parts of the software, and then analyze the performance indicators and performance bottlenecks of the overall architecture.
Due to the difference between engineering and projects, the measurement method, the evaluation method is also different. But there are still some general steps to help us complete a performance test project. Proceed as follows
1. Formulate goals and analysis systems
2. Select test metrics
3. Learning related technologies and tools
4. Formulate assessment criteria
5. Design test case
6. Run test case
7. Analysis test results
Formulate goals and analysis systems
The first step in each performance test plan will formulate goals and analysis systems. Only clear goals and understanding of the system composition will clarify the scope of test, know what kind of technology is to be mastered in the test.
the goal:
1. Determine customer needs and expectations
2. Actual business needs
3. system requirement
System consisting of system
The system is constituted here that includes a few aspects: system category, system composition, system function, etc. Understanding the essence of these content is actually helping us to clearly test the scope of the test, the appropriate test method of the elevator is tested.
System Category: Distinguishing System Category What kind of technology we have mastered, mastering the corresponding technology to perform performance tests can succeed. For example: The system category is a BS structure, and it is necessary to master HTTP protocols, Java, HTML and other technologies. Or CS structure, you may have to understand the operating system, Winsock, COM, etc. So the screening system category is important for us.
System constitutes: hardware settings, operating system settings are restrictive conditions for performance testing, and general performance testing uses test tools to imitate a large number of actual user operations, and the system operates under overload. Different systems constitute performance tests will result in different results.
System function: System function refers to the different subsystems provided by the system, a public document subsystem, a conference subsystem, etc. in an office management system, and the system industry is a link to be simulated in performance testing, which is necessary.
Select test metrics
After the first step, it will have a clear understanding of the system. Next we will put energy on software metrics, collect data related data.
Measurement related aspects:
* policy making
* Develop relevant processes, roles, responsibilities
* Develop improvement strategies
* Formulated results comparison
Learning related technologies and tools
Performance tests are used through tools, simulating a large number of user operations, increasing the system. So you need to master certain tool knowledge to perform performance testing. Everyone knows that performance test tools generally record users through protocols such as Winsock, HTTP. The protocol choice is software-based system architecture implementation (Web generally selects HTTP protocol, CS selection Winsock protocol), different performance test tools, scripting languages, such as Rational Robot, VU script, Type C language implementation.