A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
He has been engaged in software testing for 10 years since graduation. From nothing to testing technicians to test management, there are confusion, pain, detours, and shortcuts during the period. Today, I would like to summarize my testing experience over the past 10 years. One is to give myself a new motivation, and the other is to give some suggestions to new and confused testers, I hope you will not take any detour.
First, let's talk about the testing career plan, that is, what to do. The so-called direction is more important than effort. This is definitely a truth. If you can understand this truth when you are new to a testing job, you will be able to become an expert in a testing field within five years. At that time, whether it is salary or self-confidence, it will be a natural thing. Unfortunately, we get too much information that testers can learn and understand everything. As a result, the tester of the three-legged cat Kung Fu gave a crash. Then, is it useless for testers who understand everything? No. You can move towards testing and management positions. Speaking of this, this introduces the first way to test career planning: Test Management. So it is easy to think of another way of career planning, testing technical experts. In the field of testing technology, there is nothing more than performance testing experts and automated testing experts.
The three directions of the software testing career plan are clearly defined, and the next step is how to select a suitable direction. Below are some of my suggestions.
About selecting test management: first of all, you must not be a technical-sensitive person. This is easy to judge. Second, you must be a person who is good at communication and organizational and coordination. Third, you have a strong long-term ability to withstand pressure. You can withstand criticism from your leadership and blame your subordinates. I was able to suffer a grievance and suffered a loss. Fourth, you are passionate about management. If you used to be a student cadre, it would be even better. In short, your EQ is higher than your IQ. In terms of personality, you are more suitable for testing and management.
About selecting a performance testing expert: This is the opposite of a testing manager. First of all, you do not like organizing and coordinating such a job, when you go to school, you must not be a student cadre or a student cadre. Second, you are not necessarily a technology enthusiast, but you do not reject the technology. You have a strong hands-on Ability And Enjoy practice. You can calm down and learn. Then you have the potential to become a technical expert.
About choosing an automated testing expert: similar to a performance testing expert, if you are familiar with a programming language or have the confidence to learn a programming language, congratulations! You have the potential to become an automation testing expert. Generally, Performance Testing experts and automated testing experts are technically connected.
Determine the development direction of the test, and then how to implement it. There is a well-known 10000-hour law theory. It takes 10 thousand hours for a person to become an expert in a certain field. In this proportion, if you work 8 hours a day and 5 days a week, it takes 4-5 years to become an expert in a field.
About how to grow to a test management talent: First, you must become a function testing expert. By participating in the testing of at least two complete projects, you output the testing theory, the testing process of a complete project, the testing activity, and the testing result in testing. Second, try to select an industry such as China Telecom, payment, online shopping, and communication to become a business expert in this field. Because the role of the test Manager is often the role of half a requirement. Third, try to participate in functional testing, performance testing, and automated testing in the first three years, it lays a good technical foundation for the recruitment, testing plan, personnel assignment, and Task Arrangement of subsequent testing management. To put it bluntly, testing management is also a technical management position, without some technical skills, it is difficult to carry out subsequent management work.
About how to grow into a performance testing expert: just entering the testing management position, you must be responsible for functional testing tasks. No access to performance testing. What should I do? My suggestion is: self-study or participation in training courses. If you are a person with strong self-management ability, we suggest self-study. If not, we suggest you participate in specialized performance testing training courses. Before attending the training class, you 'd better get a general idea of the basic knowledge of performance testing.
The learning process of performance testing is roughly as follows:
1) First, understand the architecture of a system, understand how each server interacts with each other, the data flow of the system, and the pressure points of the system, so as to determine the performance test requirements and indicators, that is, the pressure on those features must be taken into account, and the pressure on those features is huge. For example, for a shopping website, the most typical login function and the order submission function need to support the number of concurrent users, and each concurrent user can complete the operation within several seconds, the stability of the system under pressure for a long time.
2) Select the test tool. For HTTP-based applications, generally, LoadRunner can complete the performance test and learn LoadRunner's trilogy: loadrunnergenerator) scenario setting and execution (LoadRunner Controller) and result analysis (LoadRunner analysis.
For applications that cannot use existing tools to perform performance tests, you need to write your own tools. Therefore, an excellent performance testing engineer must be able to use a programming language.
3) In practice, we must practice more. After LoadRunner is installed, LoadRunner contains a ready-made performance test project-aircraft ticket booking system. It can be used to train LoadRunner.
4) The purpose of performance testing is to find the bottleneck of the system's processing capability, and system tuning is the ultimate goal. If you can further improve the tuning skills of various business servers and database servers, it is a huge addition to performance testing.
About how to grow into an automated testing expert:
Automated Testing is different from performance testing. Performance Testing mainly tests the performance of servers, while automated testing is based on front-end considerations, the purpose is to replace some manual tests and consider the stability of the client's long-term operation. Automated Testing includes automated testing for web sites, automated testing for PC clients, and automated testing for mobile phones. Testing on each terminal is a big field. We recommend that you study the automation testing technology of a terminal in depth.
Automated Testing of web sites: commonly used open-source testing tools: Selenium framework + a programming language (Python recommended), or paid software qtp, selenium is recommended, because it is open-source and free, there is no piracy problem, and it can be expanded, so large domestic first-line companies like to use.
PC Client automated test: Common Test Tool: qtp. Paid software is used by many small companies in China.
Android mobile automated testing: commonly used testing tools such as monkey, monkeyrunner, robuloud, and appium are open source software. The same is true for all top-notch companies in China.
Automated Testing on the Apple side: common testing tools: instrument, fonemonke, broomine, and test unit provided by the iPhone SDK.
No matter which terminal is used for automated testing, it is necessary to master a programming language.
Finally, let's talk about soft power. A good testing technical expert, I think it must have the following features:
Continuous learning ability: the development of computer technology is changing with each passing day. If you do not continue learning, you will find that you can only be a cheap manual tester within two years. So if you can study at work best, if you can't, make sure you have 2 hours of self-study after work. After several years, you will be able to see how much progress you have made.
Communication skills: I think we can cultivate them in two ways: first, the communication skills in daily work: the communication with developers, products, O & M personnel, and customer service personnel should be timely and accurate, smile more, listen more, and maintain a good and relaxed relationship with colleagues. Second, the communication skills on formal occasions, such as project weekly meetings, review meetings, and summary meetings, must be prepared in advance. What should we talk about and what should we talk about? I will practice it in private, in this way, we can clearly express ourselves, be calm, and be generous, leaving a good impression on leaders and colleagues.
Team Cooperation capability: First of all, we need to emphasize the overall concept and put aside the idea of fighting independently. In actual projects, it is embodied in mutual collaboration, resource sharing, and joint advances and advances among team members. This era is no longer a time when heroes create myth. Only by the concerted efforts of the team can the project be done well. Such people are often the company's favorite and most willing to train.
Together with excellent people: the so-called near-Zhu Chi, near-Mo Hei. I work with a boss and a good person, find a good partner, and often attend lectures and technical forums for some cool people, it will definitely save you a lot of detours.
There are many other soft powers, but I personally think the above are important.
It is time to take things to come, especially in the technology industry, to lay a solid technical foundation in the first few years, which will be of great help to future technical management or technical expert routes.
I have written so much without knowing it. I hope that some of my workshop will help my new students and students who are still confused about testing.
10 years software testing work summary
Start building with 50+ products and up to 12 months usage for Elastic Compute Service