Manual test to the left, test development to the right

Insert picture description here
In the era of mobile Internet and big data, Internet companies usually have distinctive features such as “rich product features, large user base, complex business logic, frequent update iterations, mass data error tolerance, and high real-time requirements”. With the expansion of enterprise scale, users' requirements for data and business stability will become higher and higher, so-called quality first.

In this harsh background, the IT technical team must have the ability to deliver continuously in order to respond to the rapid iteration of products. And in this part of testing, it means that you must have automated testing, continuous testing and real-time quality monitoring capabilities in order to effectively guarantee product quality. The so-called efficiency is king.

Manual testing without understanding development is a new era of “illiteracy”

Only a little bit, manual test engineers who do not understand the development can not meet the requirements of the Internet testing technology system "quality first, efficiency is king", is already a new era of "illiteracy", has become the "optimized" object. On the one hand, there is not much room for advancement in work, and on the other hand, it is difficult to change jobs. The best result of others is to transfer to management with many years of experience (maybe okay in the early years, and now it is impossible). In the Career Development section of the TesterHome community, you can often see popular posts about various test middle-aged crises, layoffs, and career changes, which is disappointing.

At present, BAT and other Internet first-line enterprise social recruitment has almost no longer recruit traditional test engineers, but only recruit test development engineers. Part of the functional testing tasks will be handed over to interns and fresh graduates, while the rest will be handed over to part-time public testers and outsourced testers. However, outsourcing testing companies usually have poor technical personnel and high mobility, and generally cannot meet high requirements.

This is only an expedient measure for the testing industry during the transition period. The future test team structure will definitely be a management model led by test development engineers + a few test experts + test managers.

The salary of the test position increases, and the test development ushers in the golden age

The test industry purifies and cleans itself, just like the Nirvana of Phoenix, who is born in the fire. The typical change is that the technical content is rising, the responsibility is rising, and the return is also significantly improved. The salary of the test position has generally increased from the previous range of 3K-15K to 1W-3W.

Of course, the test employment threshold has also been significantly increased. Under the circumstances that excellent test development engineers and test architects are difficult to find, more and more companies have chosen to directly use R & D engineers to test. Their pursuit is simple: single test-> interface test-> basic smoke test, it can be automated. It would be more perfect if it could be done as a test-as-a-service like operation and maintenance.

The technology stack requirements and project actual combat experience are the most suitable and the most scarce intermediate and senior test development engineers (Alibaba P6 +). At present, it is a high salary premium in the talent market, which will be difficult to find. An excellent test development engineer may take 4 or 5 BAT major offers at the same time (annual salary starting at 50W +, and annual salary at 100W + are also widely available).

After communicating with BAT test managers / senior engineers in the industry, according to incomplete rough statistics, the current outstanding test development engineers account for only about 1% in the industry. This is the essential reason for the reliable test development of Pingchuan, taking high-paying positions, because the contradiction between supply and demand is really too obvious. Therefore, if you are passionate about test development technology and quality assurance, and hope to use this to earn a job income that can be said in Beijing, Shanghai and Guangzhou, now is the golden age of transformation into test development engineers!

Test development technology is also developing rapidly, and various new technologies and new applications are emerging. Internet giants such as BAT and TMD are generally landing full-link pressure testing, precision testing, big data testing, AI + testing, etc., and more small and medium-sized enterprises are also catching up. It can be said that the test has come in the future, but it is unevenly distributed. Whether you can seize new historical opportunities in the course of industry changes depends on whether you are ready?

What makes a qualified test development engineer?

I often see that many newcomers in the testing industry and traditional test engineers will have doubts, and even some primary test development feels that they are doing a lot of things, and it is not clear:

What is the job responsibility of a test development engineer?
What skills do you need to master to enter BAT?
How to ensure core competitiveness? Planning a growth path?
An excellent test development engineer needs to have the following core capabilities (the higher the rank, the more comprehensive the requirements):

  1. Basic Internet test ability: In-depth understanding of the Internet's cutting-edge test technology system and related theoretical knowledge; 2. Solid programming development ability: Familiar with Linux / Shell programming, can master a high-level development language (primary recommended Python, advanced recommended Java, even including Specific domain languages ​​such as Go / Rust); 3. In-depth code analysis capabilities: Sonar and other types of code static analysis and modeling techniques; 4. In-depth runtime analysis capabilities: coverage, code instrumentation statistics, Hook and other technologies; 5. In-depth test business capabilities: able to complete business modeling, user behavior and risk analysis; 6. In-depth key automated test project capabilities: interface, UI, mobile special automated testing; 7. Able to complete tooling and platform tasks Ability: able to create domain-specific tools and platforms; 8. Ability to complete online testing and online quality monitoring: performance stress testing, online data analysis and quality statistics; 9. Ability to complete company test process improvement and engineering efficiency improvement Ability: Promote DevOps, continuous delivery landing;

You can compare the above items to evaluate your own ability level and analyze the next direction of technology investment.

In addition, you can also fill out the "Quick Evaluation of Test Development Ability" form (obtained at the end of the address) produced by Hogwarts School of Testing. It only takes 5 minutes to clarify your own ability level.

Here is also recommended a clearer growth path diagram from traditional testing to test development engineers.
Insert picture description here
4.

Difficulties in test development learning and landing practice

From manual testing to automated test development, from waterfall mode to continuous delivery, DevOps, this transformation and upgrade road is a challenge for most test engineers and test teams!

On the one hand, the technical knowledge involved in test development is complex and has a certain technical threshold. On the other hand, each team will derive a variety of personalized actual combat problems when landing the automated test technology system.

Because quality assurance is a complicated system engineering, it is not a test that can be done at all. In addition to technical issues, the variable factors involved will also include business scenarios, team technical strength, development stage goals, management style, and even office politics. Objective impact.

A previous article "Typical confusion of mobile automation test landing, have you encountered it? "There are similar cases. Seeing someone else's testing technique is very good, can it just copy it over? How does automated testing work for your team? To what extent? Is it used for doctrine, or independent research and development? Can the quality of team members keep up? In one step, or gradually evolve? At this stage, is this input-output ratio worthwhile? If you switch teams and lines of business, can you get it from 0 to 1? Wait, in short, the ideal is beautiful, the reality is very skinny.

It can be said that mastering advanced testing techniques and tools in a short period of time and rapidly improving the level of testing techniques are achievable, even relatively easy. For example, various automated testing framework tools and pressure testing tools are used for learning. However, it is not so easy to make a correct choice in each stage according to the business situation of a specific company, balance the relationship of "quality-efficiency-cost", and be able to effectively deal with various practical problems.

Because behind this requires a lot of practical experience in the project, as well as the improvement of comprehensive quality capabilities (including case analysis and problem-solving practical skills, as well as superior communication skills and overall management capabilities). The word "skill" makes it easy to improve technology, but it is difficult to improve ability! Therefore, the reason why the test master becomes a master is not only because of the strong technical strength, but more importantly, it has experienced wind and rain, and has a variety of blood and tears experience to fill the pit! This is also a core challenge for test development engineers from entry to master skill growth.

(The article is from Hogwarts School of Testing)

Published 10 original articles · Likes0 · Visits10

Guess you like

Origin blog.csdn.net/weixin_46635091/article/details/105433363