当前位置:网站首页>The first performance test practice, there are "100 million" a little nervous
The first performance test practice, there are "100 million" a little nervous
2022-08-05 03:59:00 【Pit player】
Recently, a fan did a performance test and kept asking me questions. He felt that he didn't even know the basic concepts, so he started to work vigorously. If there is a problem, he expects me to solve it by hand.
"Sharpen the knife without accidentally chopping wood", we have figured out the skills of performance testing, and the test will be much smoother.
Confirm requirements
Determine performance requirements and performance testing plans, determine the scope of performance testing (which scenarios are covered), performance testing strategies, the number of concurrent users, and pressure methods.
Assignment of time, personnel, and tasks. Generally, time for performance testing is reserved in the overall test plan.The performance test plan is the core content before the performance test is carried out, and it determines the index standard of how the performance test is carried out.
It mainly includes performance requirement research, performance testing scope, performance testing strategy, number of concurrent users and pressure methods, performance testing plan, use cases, etc.The most important part of the performance test plan is to calculate the number of concurrent users.
There is a core content in performance testing that cannot be avoided when talking about performance testing, which is the calculation of the number of concurrent users.At present, the evaluation strategy for a large number of concurrent users used in performance testing is the 80-20 rule.
By evaluating the system peak period and peak period with the project team (including customers and products), get the number of users in the peak period.
Assume that the peak period of this e-commerce system is 10:00 am on Double Eleven. The number of users during the peak period (for seckill/group purchase activities) is 10W, and the peak period is 15 minutes.Then we can calculate the number of concurrent users through the 20-80 rule, that is, 80% of users will complete the transaction in 20% of the time, and the calculation result is: (10W80%)/(15 minutes 60 seconds 20%)=80000 people/180 seconds = 444.44 people.
Because the company's products are not only to meet the current performance requirements, but also to meet the performance requirements of the next 3 years, and the company's business is growing (no growth will be killed), and it is expected to grow by 20% (leader saidAfter 3 years, the number of concurrent users is: 444.44 * 1.2 * 1.2 * 1.2 = 768, then the number of concurrent users per second is 768.
It can be seen from the above that the number of threads we design in the thread group is 768, the Ramp-up value is 1, and the duration is 10 minutes (common standard).
Script recording
Record the performance test script and enhance the script to make the performance test script as close as possible to the actual situation of the performance test (parameterization, association, timer, rendezvous, assertion).
Parameterized
- csv data file settings
- User variables and user parameters
- Function Helper
Association
Extraction of previous response data: JMeter creates a regular expression extractor by adding a post-processor to the previous request. The regular expression extractor contains the reference name, that is, the name of the parameter, which can be filled in arbitrarily.
The regular expression should be filled in according to the response. The response can be obtained in the view result tree. In the view result tree, use the RegExpTester mode to view the response to obtain the data to be associated and the left and right boundaries. Use (.*?) instead.The template is generally 111, and the matching number is generally followed by 1.
Association of request data: Replace the request data that needs to be associated with the reference name of the ${} regular expression, that is, the parameter.
Assertions
There are four main types of operations to respond to assertions:
- Contain: Expected results should be wrapped in actual results
- Match: use regular expressions to match
- Equals: exact equality (rarely used)
- Substring: Same as contains, but cannot be matched using regular expressions
Run
Run performance scenarios, collect performance test results (aggregated reports, active threads per second, transaction response time per second, average transactions per second, point records per second, throughput rate), and analyze performance bottlenecks (through chart analysis).
Issue performance test report
Process description, chart and text description, defect analysis.
Don't fight alone to learn technology, it is best to be able to warm up in a group. Here you are invited to join our software testing learning exchange group: [769146372], remark "Join the group", everyone can discuss and exchange software testing together, learn togetherIn all aspects of software testing such as software testing technology, interviews, etc., there will be free live classes to gain more testing skills. Let's advance Python automated testing/test development together and move towards a high salary.
Friends who like software testing, if my blog is helpful to you, if you like my blog content, please "Like", "Comment" and "Favorite" with one click!
Good article recommendation
- In the past few years, I have been to Ali and small companies to test for young peopleA piece of advice for members...
- The road of testing and development, what I have learned from testing in a large factory for four years
- Industry insiders tell the truth: I will only test those that have no future, I panic...
- Why do software testing have to learn automation?Talk about the value of automated testing in my eyes
- Teach you how to write an eye-catching software testing resume, but you can’t receive itI lose the interview invitation
- In 2022, is it still suitable to switch to software testing in the current environment?
边栏推荐
- The sword refers to Offer--find the repeated numbers in the array (three solutions)
- You may use special comments to disable some warnings. Three ways to report errors
- What is the function of industrial-grade remote wireless transmission device?
- Based on holding YOLOv5 custom implementation of FacePose YOLO structure interpretation, YOLO data format conversion, YOLO process modification"
- rpc-remote procedure call demo
- 新人如何入门和学习软件测试?
- public static
List asList(T... a) What is the prototype? - [BSidesCF 2019]Kookie
- DEJA_VU3D - Cesium功能集 之 057-百度地图纠偏
- UE4 更改组件变量 (以修改第一人称角色模板的最大行走速度和跳跃高度为例)
猜你喜欢

token, jwt, oauth2, session parsing

Some conventional routines of program development (1)

Shell script: for loop and the while loop

[TA-Frost Wolf_may-"Hundred Talents Project"] Graphics 4.3 Real-time Shadow Introduction
![[MRCTF2020]PYWebsite](/img/d4/57e8e5ee45b742894679f3f5671516.png)
[MRCTF2020]PYWebsite

阿里本地生活单季营收106亿,大文娱营收72亿,菜鸟营收121亿

Web3.0 Dapps - the road to the future financial world

leetcode-每日一题1403. 非递增顺序的最小子序列(贪心)

【Mysql进阶优化篇02】索引失效的10种情况及原理

多御安全浏览器新版下载 | 功能优秀性能出众
随机推荐
[论文笔记] MapReduce: Simplified Data Processing on Large Clusters
Dameng 8 database export and import
将故事写成我们
大佬们,我注意到mysql cdc connector有参数scan.incremental.sna
Solana NFT开发指南
35岁的软件测试工程师,月薪不足2W,辞职又怕找不到工作,该何去何从?
UE4 opens door via interaction (keyboard key)
UE4 通过与其它Actor互动开门
bytebuffer 使用demo
Defect detection (image processing part)
多御安全浏览器 V10.8.3.1 版正式发布,优化多项内容
Redis1: Introduction to Redis, basic features of Redis, relational database, non-relational database, database development stage
A 35-year-old software testing engineer with a monthly salary of less than 2W, resigns and is afraid of not finding a job, what should he do?
Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?
JeeSite新建报表
[CISCN2019 South China Division]Web11
数组常用方法总结
Acid (ACID) Base (BASE) Principles for Database Design
如何解决复杂的分销分账问题?
Developing Hololens encountered The type or namespace name 'HandMeshVertex' could not be found..