Because we have been doing software testing for two or three years! More or less have done some software performance testing, but also read some of the software performance aspects of books and materials. Feeling is the summary, one is free from forgetting, two is willing to share.
A mention of software performance, many people can not speak very clearly, I can not fully explain! But according to the people's habits, or first say the concept of it!
In general, performance is an indicator of the degree to which a software system or composition conforms to its timeliness requirements; second, performance is a feature of software that can be measured in time.
The timeliness of performance is measured by response time or throughput. Response time is the time that is required to respond to the request. For a single transaction, the response time is the time required to complete the transactions, and for user tasks, the response time is the end-to-end time. For interactive applications, such as typical Web applications, we typically describe the performance of the system with the response time the user feels, whereas for non-interactive applications (embedded systems or business processing systems such as banks), response time is the time required for the system to respond to events.
Usually, we should be able to feel the focus of software performance is multiple levels: The user is concerned about the performance of software, testers are concerned about the performance of software, product developers are also concerned about software performance. Of course, the specific content of the "performance" concerns of these different followers is not exactly the same.
User-focused software performance
From the user's point of view, software performance is generally the response time of software to user operation. For example, when a user clicks a button, issues an instruction, or clicks a link on a Web page, the user clicks from the start to the application system to show the results of this operation in a way that the user can perceive, the time spent is the user's visual impression of the software performance. As an example of a web system, the user's impression is illustrated.
Software performance that testers focus on
From the tester's point of view, the performance of the software system in the first place in the system response time, this one and the user is the same, but the testers in addition to focus on the general user's embodiment, but also care about the system state-related information, such as a business response when the state of the system is reasonable?
is the resource usage of the application server and database reasonable?
Whether the system can be extended
How many user access can the system support? What is the maximum amount of business processing for the system?
Where is the potential bottleneck of system performance
Which devices can be replaced to improve system performance
Can the system support 7x24 hours of business processing
Development of software performance concerns
Developers have all the concerns about users and testers (users are directly aware of performance, testers are testing performance), because for them, users and testers are object-oriented for the development of the product. In addition, developers also want to know how to improve the performance of the software by adjusting the design and code implementation, or how to adjust the system settings, and how to identify and solve the software design and development process caused by a large number of user access or long-time use of software failures, All the factors that make software performance poor and performance-related failures, as well as related performance bottlenecks.
is the architecture design reasonable?
Database design Problems
Is there a performance problem with the code?
Is there an unreasonable memory usage in the system?
Whether there is an unreasonable thread synchronization method in the system
Is there any unreasonable resource competition in the system?
Several key terms for software performance
1, response time mentioned above, that is, the system to respond to the request time. For example, it takes 1 seconds to return to the Login Success page from clicking the login button to login completion, and the response time for that operation is 1 seconds.
2. Throughput reflects the number of transactions that can be processed within a unit of time. For example, the system throughput is 10 per second for systems that require a user to log on for 1 seconds, and if the system supports 10 simultaneous users and the response time is 1 seconds.
3. Performance counting The Crying device describes some data metrics for server or operating system performance. For example, for Windows systems, the amount of memory used, process time, CPU occupancy, and so on.
We as testers, of course, care about software performance testing to give users good and reasonable performance of the software. About the classification, methods and tools of the software performance test after the whole!
Software performance-concepts, points of interest, terminology