2023 ultra-detailed performance testing process, have you got it?

 Performance testing: Use tools to simulate a large number of user operations to verify the load on the system.

The purpose of performance testing: to find potential performance problems or bottlenecks, analyze and solve them; to find performance change trends and provide reference for subsequent expansion of the system. Test monitoring: benchmark testing, configuration testing, load testing, stability testing, monitoring hardware and middleware.

1. Learning business: Learn system functions by viewing documents and operating the system manually.

2. Requirements analysis: Analyze the non-functional requirements of the system (pay attention to information such as business volume, business distribution, user scale, performance indicators, etc.), determine the scope of performance testing, and understand performance indicators.

1. Collection of system non-functional requirements

(1) System architecture:
(2) Business process:
(3) User information:
(4) Whether the system is related to a third-party system and whether a baffle (Mock program) is required.
(5) Does the system have an archiving mechanism: If the database has an archiving mechanism? ? ? , you can move some useless or outdated information to the archive library, which reduces the data in the current database and helps improve system performance.
(6) Performance indicators: throughput rate, response time, transaction success rate, CPU, memory, disk, and bandwidth usage thresholds.

2. System non-functional requirements analysis

Determine the scope of performance testing and clarify performance indicators

For example:

Response time 2-5-8 principle:
When users get a response within 2 seconds, they will feel that the system's response is fast;
when users get a response between 2-5 seconds, they will feel that the system's response speed is okay;
when users When a response is received within 5-8 seconds, the system will feel slow, but acceptable;
and when the user still cannot receive a response after more than 8 seconds, the system will feel terrible, or the system has become unresponsive. .

CPU, memory, disk, network bandwidth, etc.

System hardware indicator threshold

These indicators are relatively abstract and should be further refined during monitoring and analysis. For example, CPU performance indicators in Linux are divided into important indicators such as user utilization, system utilization, and average load. The specific data of the above indicators come from non-functional requirements, organizational requirements (feasibility indicators summarized by the company's operation and maintenance) or industry standard recommendations.

Analyze business volume; estimate TPS and concurrency utilization; analyze system protocols

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

3. Where do performance tests obtain requirements?

Generally, there will be some chapters in the requirements document describing the non-functional requirements of the system, but most requirements documents are relatively general and abstract in their description of performance requirements. When the requirements are unclear, performance test engineers usually need to take the initiative to consult the requirements providers (BA team, product team, etc.). For upgrading and optimizing old systems, you can consider whether there are historical test plans for reference, which may save a lot of trouble. Or we can just analyze the business data of the prototype system. The most direct way is to analyze the data of the prototype system, collect statistics on business volume, business distribution and other information.

3. Work evaluation: Decompose the workload, evaluate the workload, and plan resource investment (that is, how much manpower and how many working days are needed to complete the performance testing work).

4. Design model: After delineating the test scope, map the business model into a test model. Business model : business process, the type of business that the system runs in a certain period of time and its business proportion, that is, which business is running at what time, and what is the business volume?

Test model: The business that needs to be tested is analyzed and sorted out from the business model. Split the business into objects and what processes and links are involved in realizing this complete function. For example, "purchase goods", the specific process includes "log in->search for goods->submit order->pay order->exit". Next, clarify the business proportion and importance, with the purpose of:

(1) Clarify key test objects and arrange testing priorities

(2) Modeling. In mixed scenarios, virtual user resources are allocated and different loads are imposed on different business functions.

(3) Clarify the basic data and data volume required for relevant business functions in the "Requirements Analysis-Indicator Analysis", because the requirement analysis may only be a rough estimate. Whether the evaluation indicators are reasonable needs to be carefully analyzed.

Performance test scenarios: Design load scenarios based on user usage habits, such as which business test scripts are run together, which businesses are in sequence, how many concurrent users are run, etc. For example, WMS systems (warehouse management systems) will have an inventory function in WMS. This function should not be mixed with daily functions, because inventory is usually performed once a month. Therefore, when organizing test scenarios, try to be consistent with actual business conditions.

5. Write a plan

Clearly list the test scope, manpower investment, duration, work content, risk assessment, risk response strategy, etc. in the document.

  • System Overview
  • test environment
  • demand analysis
  • testing strategy
  • testing scenarios
  • test preparation
  • time plan
  • Test organizational structure
  • Deliverables list
  • Systemic risk

6. Develop scripts, record scripts or develop manually, add fixed timers to simulate ThinkTime, add synchronous timers to simulate rendezvous points, add IF condition controller judgment logic, and add post-processors to obtain parameters.

7. Test environment preparation The test environment includes servers and load machines. The hardware architecture and configuration of the production environment and test environment need to be estimated, otherwise the results will be greatly biased. Understand the differences between test environment deployment and production environment deployment, and whether to deploy at a 1:1 ratio. It is usually recommended to not consider the cluster when testing, but to use a single machine test, and then consider using the cluster after the test is passed. This way there is a comparison, which can better explain the problem.

8. Test data preparation: Prepare the master data and business data of the system under test. We know that changes in data volume will cause changes in performance. When producing test data, you must first pay attention to the quantity and prepare enough stock/historical business data, and second, pay attention to the distribution of the data. For example, if we calculate that we need 100 concurrent virtual users, we need to prepare at least 100 accounts and grant corresponding permissions (browse, post, delete, query) to the accounts. So how much data is enough to prepare?

Performance testing requirements often require us to sizing and quantify the system.

Data production methods can be accomplished using tools, SQL, or stored procedures.

9. Test execution Test execution is the key to performance testing. The results obtained by different executors of the same script may vary greatly. These differences are mainly reflected in scenario design and test execution. Scenario design; benchmark testing; configuration testing, load testing; stability testing; test monitoring; test monitoring; test execution. Generally, third-party performance testing will have a test access condition (Checklist). If it is within a project team, it will not be so strict, but the basic content will remain the same.

(1) Check the network environment

(2) Check test data

(3) Check monitoring equipment

(4) Script check

10. Defect management manages defects discovered during performance testing.

11. Performance analysis and performance tuning Performance test engineers work with developers to solve performance problems.

12. How does the test report infer the production environment configuration from the test environment?

For the reporter, what is reported is work and a report on the entire testing process. For the decision-making layer (stakeholders related to the report), what they care about is the results. The decision-making layer urgently wants to know Yes or No, whether the system can go online, and if not, what are the problems, and how can they be solved as soon as possible?

Finally, I would like to thank everyone who read my article carefully. Looking at the increase in fans and attention, there is always some courtesy. Although it is not a very valuable thing, if you can use it, you can take it directly!

Software Testing Interview Document

We must study to find a high-paying job. The following interview questions are from the latest interview materials from first-tier Internet companies such as Alibaba, Tencent, Byte, etc., and some Byte bosses have given authoritative answers. After finishing this set I believe everyone can find a satisfactory job based on the interview information.
 

Insert image description here

Guess you like

Origin blog.csdn.net/IT_LanTian/article/details/132904681