Career development direction for testing career development prospects

As soon as you enter the test, it looks like a sea. Every test student needs to plan for his future in order to control his own future!
In testing, people often only pay attention to whether the software functions are complete and whether the performance meets the standards, but they ignore the pain and tiredness of the software testers!
The professional development of software testers is generally a watershed in 3 years. The development direction after 3 years can be roughly divided into management route, technical route, management + technical route.

The initial stage of testing:

Test engineer belongs to the junior domain of software testing career. Its scope of application is regular test practitioners who have entered the software test for 3 years. Its main work is to write test cases and execute according to the task plan assigned by the test supervisor (ie, direct supervisor) Test cases, submit software defects, including submitting periodic test reports, participating in periodic reviews, etc.

Management + technical route:

The first is the conventional route. This development route requires both management and technology, because the industry characteristics of software testing determine this factor: test engineers are promoted upward to test supervisors, test managers, and test directors until the higher direction of the consulting domain!

The test supervisor is an enterprise project-level supervisor. For small and medium-sized software companies, it can also be an enterprise-level supervisor. It belongs to the mid-level development domain and is applicable to test practitioners with 2 to 5 years of professional experience.

The content of its work is to allocate test engineers to perform module-level or project-level testing according to the plan arrangement of the project manager or test manager, and to control and supervise the tracking of software defects to ensure the smooth progress of each test link and phase.

Strictly speaking, this level belongs more to the test designer, because the establishment of the company's test process is done by a higher level test manager or related manager, and the test supervisor is responsible for the specific implementation of the process; and more work , Is to think about how to conduct more in-depth and comprehensive testing of the software.

The more creative work of the test supervisor is test design, and it is precisely that many companies ignore or do not have the energy to perform this work!

It should be said that a person who has been testing for about three years in an enterprise is easily promoted to that position, and the reason for the promotion is due to the excellence of personal testing technology, the richness of testing methods, and the monitoring power of the testing process. Closely related to the professional quality of execution!

The test manager is a higher-level test manager and belongs to the advanced test direction domain.

For large and medium-sized software companies, this position is especially important, and its professional requirements are relatively high. It is generally suitable for test practitioners of 4 to 8 years. When the management and technical capabilities are relatively mature, they can be promoted to this position in accordance with the specific environment. level.

The test manager is responsible for the planning and implementation of overall test work at the enterprise or large project level.

In addition to coordinating the entire enterprise-level or project-level test process, the test manager also needs to research and explore test methods under different software architectures and different development technologies to provide guidance and solution ideas for the company's test team members, while also being reasonable Allocate human resources for different special tests (such as business test engineers, automation test engineers, white box test engineers, and performance test engineers) to conduct comprehensive tests on the software;

In addition, in some enterprises, the test manager also needs to communicate and communicate with customers, and is responsible for part of the sales or technical support work.

Test Director, which belongs to the highest domain of the conventional development route. This position is generally established in large or multinational software companies, or specialized in test service companies, and companies that generally set up test directors.

This position is equivalent to the level of CTO or vice president, is the highest leader of enterprise-level or group-level testing, controls all the testing and testing resources of the enterprise, and manages all the testing and quality work of the enterprise. And its professional requirements are also a combination of technology and management.

1. Technical route:

1. Intermediate domain of technical route:

The technical route is divided into three and a half directions, namely automation test engineer, white box test engineer, performance test engineer and certification test engineer; the first three are applicable to the field of general software testing, certification test engineers are in the field of embedded testing, at least Currently only appears in the embedded field.

Automated test engineers, defined in the field of functional testing, refer to the so-called engineers who rely on automated test tools for software black-box testing.

In terms of the general environment, automated testing is an inevitable trend in the implementation phase of software testing, and the society's recognition of software testing and the demand for automated testing personnel will increase.

White-box test engineers, who are positioned at the code-level testing of software during the unit testing phase of the software testing cycle, including code walk-through, code function and logic testing, code memory leak checking, code running efficiency check, code test coverage analysis Wait.

If automated testing relies only on scripting languages ​​to complete the process of writing and debugging test scripts (because the focus of automated testing engineers is not on writing scripts), if the technical requirements for automated testing engineers are relatively low, then white-box testing engineers need to Complete mastery of large-scale program development languages, so its technical requirements are relatively high!

Performance test engineer, that is, the person who collects and analyzes the performance index of the software system and checks the operation efficiency after the system test phase and functional test.

In a test process that is as compact as possible, functional testing can be performed manually, and white-box testing can be omitted, but performance testing must be done unless the software is not a network software, that is, a stand-alone software!

Software testing can be divided into three major aspects from the macro perspective: functional testing, performance testing, security testing, functional testing shows that the software is done right, functional testing + performance testing shows that the software is done, the combination of the three shows that the software does Very good!

For the time being, security testing is not mentioned, this is the content of the next development domain, but in order to do a good job of the software, in order to truly ensure the quality of the software, performance testing can not be ignored;

Only because many companies currently do not perform performance tests due to time, cost and manpower constraints. Relatively speaking, performance test engineers have the highest technical requirements in the three technical routes, because the performance bottleneck of the software is ultimately implemented on the problem of code efficiency. Therefore, performance testing should be done well, and performance test engineers must understand development at least;

In order to find performance problems, you must understand the software development architecture; in order to locate performance problems, you must understand the principles and use of operating systems, network protocols, application servers, and even databases; in order to finally solve performance problems, you must target the problem based on the positioning problem. Optimize code, operating system, network architecture, server, database!

Of course, performance testing is a system engineer, definitely not for one or two people. For conventional performance testing engineers, it is enough to have the ability to locate performance problems.

2. Advanced domain of technical route:

Enter the advanced domain of the technical route. According to the four routes of the intermediate domain, it can be subdivided into five routes. They are senior automation test engineers, senior white box test engineers, senior performance test engineers, security test engineers, and standardization engineers. Senior technical talents are completely on par with regular testing managers and belong to the advanced field of software testing career development.

Senior automation test engineers are promoted from automation test engineers. If the conventional automated test engineer is only responsible for the design and development of the automated test script itself, then the job of the senior automated test engineer is the implementation of automated testing!

In other words, recording scripts-adding verification points-replaying scripts is only the initial stage of automation. To implement automated testing in an enterprise, a senior automated testing engineer must design a data driver, develop a test framework, and even develop small-scale tests independently within some enterprises. The precedents of tools (not commercial tools), these are also built on the senior automated test engineers have a deep technical background, leading other people to coordinate and complete things.

Senior white-box test engineers, whose work includes the contents of regular white-box test engineers, in addition to assisting test managers or test directors in tackling test methods and technical difficulties, so their technical level is even stronger.

If the conventional white-box test engineer is stuck at a code-level test of a certain programming language type, then the senior white-box test engineer will need to break away from the programming language itself, and combine different architectures and multiple development technologies to find code testing. Method, and has the ability to optimize the code.

The senior performance test engineer comes from the conventional performance test engineer. According to the technical requirements of the conventional performance test engineer, the senior performance test engineer should have the ability to design the overall performance test plan, as well as the ability to locate and optimize the performance of the software system!

In addition, we must also have a keen sense of insight and awareness of the application systems under the mainstream software development model.

Security testing engineers are relatively demanding. It is necessary to test students' full understanding of the software development model, implementation architecture and technology itself, in order to perceive and foresee the security vulnerabilities in the software system, and then know how to try to attack the software through the system vulnerabilities. System to achieve the purpose of testing.

At present, the domestic software industry's understanding of security testing is not yet clear, and the occupation is not popularized. It is generally limited to the testing of military, confidential, anti-virus, or other high-security software.

3. Expert domain of technical route:

In the technical route, the direction of continuing to improve upwards, we call it "technical experts"; if the scope of the technical positions described above are all located within the enterprise, that is, enterprise-level senior performance test engineers, then technical experts, we can Seen as a domain-level special talent!

With the continuous refinement of positions in the software testing industry, everyone can become a technical expert in the field in which they are good at. They can have their own unique insights and deep technical strength in the field of their own management. This type of talent can no longer engage in specific testing work, but provide industry-specific testing technical consulting and training, which has played a clear leading role in the development of the overall software testing industry.

2. Management route management

1. Intermediate domain in management:

Engaged in routine test engineers for about 1 to 3 years, after analyzing their personality characteristics, if they think that they are a type that tends to "high management-low skills", then if they want to achieve their career advancement, they can go to the intermediate level Transformation of configuration management engineers, quality assurance engineers, and business test engineers in the development domain.

Configuration management (SCM) and quality assurance (SQA) are both key process areas (KPA) in CMM, and they are also essential roles in modern software engineering. They are an important part of the software development team as well as software testing.

Only because the number of these two roles in software engineering is relatively small, it is not as large as software testing and even forms an industry, but it is at most a profession; another social phenomenon is that companies rarely directly directly from society. Recruit configuration management engineers and quality assurance engineers, and the usual practice is to select from the existing test staff within the enterprise, and the transformed test engineers become SCM or SQA.

Analyzing the reasons, we can perceive that SCM, SQA and software test engineers are all similar jobs that focus on software quality. The definition of the configuration management and quality assurance and the work content in the society are not popularized. It ’s better to sublimate from software testers!

Generally speaking, these two positions are reported to project managers or managers of the same level.

After the transformation, configuration management and quality assurance engineers must change their awareness that a large part (not all) of the work scope of conventional test engineers is limited to the testing process, while the work scope of configuration management and quality assurance is oriented to the entire software development. Process, the professional requirements of both attach great importance to the establishment of software engineering knowledge system and the ability to implement the overall process of software development.

In addition to the establishment and implementation of the enterprise configuration management process, the configuration management engineer generally involves the management and maintenance of configuration management tools, and the quality assurance engineer's more work is the control and maintenance of the software development process, so the technical requirements of configuration management Slightly higher than the quality assurance.

Business test engineer, defined as the person who faces the business logic and workflow testing of industry software.

A large part of the current types of software development are the application of industry software, such as ERP, SCM, CRM, OA, telecommunications, finance, finance, embedded, communications, mobile phones, games ... This requires personnel engaged in industry software testing With industry background and business knowledge, proficient in the industry's workflow.

From a lot of recruitment information for test engineers that require such experience in society, we are more certain of this trend; the so-called existence is the reason, since there is a demand in society, then it can be used as the direction of personal development.

Another feature is that the work content of business test engineers is mainly black box testing, which belongs to the functional category. Therefore, the technical requirements are not large. The business test engineers of some large industry software companies are well-paid, but they can not understand the technology at all. Because of the nature of its work, it does not require a lot of technical knowledge!

They do n’t even do software interface testing-they are handed over to regular test engineers for implementation, and they are fully concerned about the business and ease of use of the software. Due to their deep industry background, they can propose a lot of constructiveness for the software before it is officially released Opinions, and these suggestions are one of the key factors for software developers to improve product usability, increase user satisfaction, develop markets, and create profits!

2. Advanced domain in management:

When the direction of the intermediate domain of the management route continues to rise to the advanced domain, it will reach the configuration management manager, quality assurance manager, product manager, and business expert.

If configuration management engineers and quality assurance engineers are more focused on the configuration management process, the implementation of quality assurance processes and daily management and maintenance, then configuration management managers and quality assurance managers are more focused on the establishment and improvement of configuration management processes and quality assurance processes.

Generally in small and medium-sized software companies, these two roles may not be available, and all configuration management or quality assurance work is performed by engineers; however, large and medium-sized software companies are eager for senior configuration management managers and senior quality assurance managers.

The larger the software system, the larger the size of the software development team and the higher the probability of problems in the software development process. Efficiently managing the software development process and continuously improving the quality of software is the next step after each software company has no technical concerns. Urgently need to overcome the difficulties!

Business experts, who belong to the role of consulting and advisors in the industry, have almost separated themselves from the testing work themselves, and provide more guidance for the company's product demand analysis, design, development, testing and other links, and its purpose is to improve the ease of use of the software. Sex and stability, reducing unnecessary changes in demand later.

The position has also been established in large and medium-sized software companies in current hot industries.

Product manager, this position has been established in many companies, it can be said that it is a derivative of the quality assurance manager, but it is more focused on the quality control of software before productization, including software development process, software testing and other aspects of technology and management .

Management consulting domain: The highest development domain of the management route is the consulting domain, similar to the expert domain of the technical route. Talents with advanced skills in configuration management, quality assurance, software productization, and industry have rich experience, Profound management knowledge, vision and courage for the vision of software engineering, often working in professional consulting and training companies, providing IT industry management consulting and training services, and pushing the software industry forward.

Author: Mo marks
Source: CSDN
Copyright: This article is a blogger original article, reproduced, please attach Bowen link!

Published 15 original articles · praised 7 · views 4015

Guess you like

Origin blog.csdn.net/weixin_43988159/article/details/89012803