Introversion of testers, how to do performance testing from entry to practice? Breakthrough involution...


foreword

How to get started with performance testing? How to quickly improve skills related to stress testing and performance optimization?

I found that there are still many students who are still unable to get started, and their understanding of performance testing is still at the level of using tools for stress testing and then reporting statistics and reporting.

Let's talk about how performance testing goes from entry to practice.

1. Methodology

There is a saying that "If a worker wants to do a good job, he must first sharpen his tools".
I would like to add a sentence later: "If you want to sharpen your tools, you must understand its principles"!

Regardless of any kind of knowledge or technical field, if you want to gain something in this field, you must first master the theoretical knowledge in this field and have an understanding of the relevant underlying general knowledge, otherwise you will encounter problems in in-depth practice. Many cognitive biases lead to very different results.

Basic theoretical knowledge is not difficult to learn. You can find a lot of introductions to basic theoretical knowledge on the Internet, or there are many introductions to theoretical knowledge in some professional books.

Learning theoretical knowledge does not require rote memorization. The role of theoretical knowledge is to allow us to have a sufficient and comprehensive understanding of performance testing, know its context, and then use it flexibly in specific practice according to the guidance of methodology.

The general underlying knowledge, for technical practitioners related to the IT industry, is nothing more than knowledge about network protocols, coding languages, database storage, and operating systems.

This knowledge basically existed decades ago, and has not changed much until now, and it is expected that there will be no major changes in the future.

2. Business scenarios

Technology itself has no direct value. It must realize its value through the achievement of business goals or the realization of business activities.

All our testing activities are carried out based on specific business scenarios. Therefore, after mastering basic theoretical knowledge, the prerequisite for performance testing must be a deep enough understanding of business scenarios.

3. Tool components

The biggest advantage brought by the continuous development of technology is the emergence of various types of tools, and the role of tools is to assist people to improve the efficiency of doing things, and performance testing is no exception.

Before and after the actual pressure test is implemented, the performance test can be completed with twice the result with half the effort with the help of tools.

Here are a few for reference:
Pressure measurement tools: jmeter, gatling, locust, ghz, perfdog, airlab, sysbench;
monitoring tools: zabbix, cat, skywalking, jaeger, prometheus, grafana;
analysis tools: arthas, SystemTap, jconsole, visualvm , The built-in tools of the operating system;
service components: common ones such as redis, kafka, tomcat, feign, apollo, nacos, mybatis;
system architecture: the objects of performance testing are various application services and technical components, and it is necessary to understand the calling relationship of the entire system. Therefore, familiarity with the system architecture and data flow of the system under test is a must for performance testing;

4. Technical practice

In fact, performance testing is just a general term, and now people are more accustomed to calling it capacity testing or capacity assurance.

The essence of performance testing is a job that requires a lot of experience. It requires a lot of project practice and pitfall troubleshooting, positioning analysis and optimization problems, in order to accumulate rich technical experience and cases.

Above I have listed several representative types of technical practices. In fact, the essence is to ensure the stability of online services.

5. System construction

Performance testing or any technical practice is to establish a system in the end. The system is the best technical practice that is suitable for the achievement of one's own supporting business goals based on theoretical guidance.

I personally think that the five most important elements of system construction are as follows:

Organizational structure: personnel composition of the technical team, landing of newcomers, personnel training, knowledge base establishment, team goals and division of labor;

Process specification: A good process specification is to ensure that most of the team can follow the same goal and direction, and reduce internal friction;

Technical system: The technical team must build its own technical system, from technology selection, demo verification to technology implementation and continuous optimization;

Communication and collaboration: Nowadays, many tasks cannot be completed by ourselves alone, and require multi-person collaboration or even cross-team cooperation. Therefore, an efficient communication and collaboration mechanism is very important;

Performance culture: In fact, it is not just a performance culture. Every technical practice has its own culture. For example, the culture of testing is quality + efficiency. The essence of culture is a concept recognized and practiced by the team, a pursuit that is beneficial to business, team and personal interests.

In fact, no matter which technical field, you need to understand the theory before you can practice better. All technologies serve the business, and all technology practices are business-oriented.

The greatest value of technology lies in supporting the better development of business and reflecting its own value. At the end of technical practice, build a system that is most suitable for your team and business goals, and requires continuous improvement.

The following is the most complete software test engineer learning knowledge architecture system diagram in 2023 that I compiled

1. From entry to mastery of Python programming

Please add a picture description

2. Interface automation project actual combat

Please add a picture description

3. Actual Combat of Web Automation Project

Please add a picture description

4. Actual Combat of App Automation Project

Please add a picture description

5. Resume of first-tier manufacturers

Please add a picture description

6. Test and develop DevOps system

Please add a picture description

7. Commonly used automated testing tools

Please add a picture description

Eight, JMeter performance test

Please add a picture description

9. Summary (little surprise at the end)

Life is like a marathon, not how fast you go, but sticking to the end. So don't give up on your dreams, work hard and meet challenges and opportunities. Perseverance will lead to success!

There will always be various setbacks and difficulties in life, but as long as you strengthen your confidence and persevere in hard work, you will be able to overcome the difficulties and usher in the dawn of victory! Keep going, dreams come true!

There are never any shortcuts in life. Only by being down-to-earth and moving forward bravely can we reach the other side of success. Therefore, let us work hard together, constantly challenge ourselves, and achieve a brilliant life!

Guess you like

Origin blog.csdn.net/shuang_waiwai/article/details/130581859