Software Testing Industry Trend Analysis

14937602:

1 Introduction

This article first discusses the era and social changes brought about by the Internet, and then introduces the change of the software industry model from the Internet age, and finally leads to the demand changes of the testing industry affiliated to the software industry under the new situation, and analyzes the trend , and finally give the relevant practitioners career development suggestions.

The topic of this article is relatively grand, but it will still be brought together in the end to specific topics in the testing industry. In order to avoid being misunderstood as "anticlimactic", the following statement is made:

  • Please don't think that the opening topic is too big, a bit unconstrained and unintelligible. Because in society, the fate of small people is often bound to the big era, you can simply ignore everything, but once you are still pursuing your personal ideal of life (realizing the value of life) or just To improve the material conditions of life (Maslow's first, second and third levels of needs), one must understand what it means to follow the trend. You can fight the sky, the earth, and the reality, but don't fight the trend.
  • Please don't think that the final topic is too petty, because no matter what era it is, society is realized by living individuals, and the vast majority of us belong to such individuals. Then it will benefit the world. As those of us who are still in the status of small people in real life, we should be more down-to-earth first.

2 Great changes in the information industry in ten years

Gao Xiaosong mentioned in the "Great Navigation Theme" program of "Xiao Shuo" that he believes that so far, he thinks the two greatest discoveries in human history are:

  1. Age of Discovery
  2. internet age

Both things have a common feature, that is, to smooth out the world, so that people at that time can understand the world with a new perspective and thinking.

The era of great voyages was accompanied by great geographical discoveries, allowing independent islands in various parts of the world to be integrated into a world view, forming a great cultural collision, a great exchange of species, and a great migration of human beings.

Some of the main impacts are reflected in:

  1. food species exchange

    Europeans introduced potatoes and corn from the Americas. The lowest-yielding potato is also 18 times the highest-yielding wheat, and it does not depend on water. , which can be hundreds of times higher. It greatly solved the agricultural productivity problem of Europeans, and these two crops were introduced into China, which made China's population finally exceed 100 million during the Kangxi period, reaching unprecedented prosperity.

  2. viral exchange

    Europeans brought European malaria to America and smallpox from America. This resulted in a huge death rate for people on both sides.

  3. Mineral discovery

    The Spaniards discovered the world's largest silver mine in Bolivia, South America, which produced 4 billion taels of silver, while the then superpower China's Ming Dynasty collected only a few million taels of silver a year. As a result, Spain became the richest country in the world that year and was able to buy the whole world. A large amount of one billion silver with extremely strong purchasing power poured into China, forming a huge inflation, which indirectly led to the prohibition of the sea and the isolation of the country, so that it lagged far behind the process of globalization.

  4. human migration

    The earliest whites were concentrated in Europe. However, the great geographical discoveries in the Age of Discovery have led to the fact that America, Africa, Oceania and Southeast Asia are now full of European whites.

This series of events has affected the geographical, political and economic structure of the entire world.

There are too many similarities between the events mentioned above and today and the Internet age.

Whenever I preach the great power of the Internet to others, there will always be people who question it: the Internet does not produce some practical things like the manufacturing industry, but it is so hot now that there will definitely be problems.

In my opinion, the Internet does not produce new things, it is an opportunity to increase efficiency, optimize resource allocation, bridge the information gap, and create a more equal cognitive world. The reason why the Internet is so hot is that the state of our society is very inefficient and the information is very asymmetrical. Therefore, every time the Internet enters a field, it will bring about great changes in this field. All the rules of the model have been subverted. If the traditional model does not change, it can only be swept out of the historical process by the wind.

Regarding the development history of the IT industry in the past few decades, those who are interested can recommend "Top of the Wave" written by Dr. Wu Jun. The author writes the decades of IT industry and the ups and downs of the IT industry in a romantic style.  [ 2] .

The following article will mainly list some major events in the IT industry in the past ten years (2005-2015).

Xiao Shuo. The Great Voyage Series - The High Status of Black Slaves Demands Sky-high Prices. 20140110
Wu Jun. Top of the Wave. 2011

2.1 International situation

  • Nokia , the giant in the feature machine era  , sold its equipment and service business to Microsoft in 2014, and is now a vassal of Microsoft.
  • Motorola , which invented the first mobile phone  , has changed owners several times in the past ten years. It was first acquired by Google and later resold to Lenovo.
  • Google, which may have been relatively weak in the United States back then, has now grown into the world's top IT giant.
  • Microsoft, the most prosperous star of IT back then, has now stepped down from the altar and been replaced by a new star.
  • Facebook was founded by a freshman boy in 2004, and now it has become a pole in the IT world in 2015.
  • Apple launched the Iphone series in 2007, leading the new wave of mobile Internet.
  • Google released the first Android smartphone in 2008. Now it has been evenly divided with Apple in the mobile Internet era and stands shoulder to shoulder.
  • The era of mobile Internet applications is blooming everywhere. Various start-up companies are interested in digging around for gold.
  • Internet companies are caught off guard by attacking cities and territories in traditional industries.

2.2 Domestic situation

  • The PHS, an electronic communication device that was popular back then  , is probably no longer remembered by anyone now.
  • Tencent, which was not so eye-catching back then, has exceeded 100 million simultaneous online users in the past ten years, becoming a giant in the communications industry.
  • WeChat emerged within Tencent, making Tencent the first company to get a ticket for the mobile Internet era.
  • Alibaba went public, creating the largest IPO ever seen in the world. It also made Ma Yun the richest man in Asia.
  • It took Xiaomi 4 years to grow from zero to a market value of 40 billion U.S. dollars. It has also become a pole of China's Internet, and its prospects are unlimited.
  • Lenovo bought Motorola.
  • The millet model has slapped traditional electronic equipment manufacturers several times
  • Alipay made the state-owned banks tremble.
  • WeChat has made the state-owned communication giant feel a crisis.
  • The electronic boxes make the radio and television department sleepless.
  • Didi and Kuaidi have panicked the state-owned transportation management department.
  • Professionals have brought a more thorough revolution to the taxi transportation management industry.

Young people who grew up in this era have either created these histories, or witnessed these histories, or are creating these histories now.

2.3 Summary

The various aspects stated above are actually summarized as follows:

  1. The Internet era is an era that cannot be underestimated
  2. The impact of the Internet has only just begun, but its impact will never stop
  3. Internet companies have become the absolute protagonists of companies in the IT field
  4. The Internet has shifted from PC to mobile, and the future trend is to transform into the Internet of Everything
  5. If traditional industries do not keep up with the pace of the times in concept and technology, they can only sit back and wait for their fate to be harvested.

3 Changes in the software industry model

3.1 Two Business Philosophy

It may not be clear to everyone that although they are both called IT companies, IT companies can still be divided into two categories: outsourcing project-driven companies and independent product-driven companies.

3.1.1 Outsourcing project type

In Baidu Encyclopedia, "outsourcing" is introduced as follows:

In the process of implementing the management system, the enterprise outsources those non-core departments or businesses to corresponding professional companies, which can save a lot of costs and is conducive to efficient management.

Overall, the vast majority of outsourcing has the following characteristics:

  1. The barriers to entry are relatively low. Basically, CRUB with a database can provoke all information items.
  2. The technical lines are short. There are many things that need to be learned, and there is no need for precision drilling.
  3. The development process requires extreme discipline.
  4. Project-driven. Often what money to do.
  5. The project manager in the development team is the soul.
  6. The growth of the company is often quite satisfactory, which is somewhat similar to the manufacturing industry in the real enterprise.
  7. Every project has a development cycle. Many projects are one-off projects.
  8. Execution over creativity. Delivering to every customer what they want is done.
  9. It is physically intensive and relies heavily on manpower, and overtime is generally more serious.
  10. The rhythm is smooth. It can often form a situation where a hundred flowers bloom and coexist for a long time.
  11. The salary of practitioners is often linked to the amount of software output. The income is relatively stable, but the ceiling is also easy to reach. After all, people have limited manpower and energy.

This type of traditional IT company is currently packaged as a company that "provides IT solutions", such as Neusoft, iSoftStone, etc. are typical. The sales of these companies are often seen at various bidding sites, or there are some people from other companies in Huawei, many of whom are sent by these companies to develop on-site, and the employees inside often have a kind of "equal work, different pay". sense of loss.

This type of company, personally thinks that it will gradually be concentrated in a small number of large groups, or scattered among some part-time individual software engineers. Because this service has always been needed by the society, and the transformation and development of society must be dedicated to special tasks, and outsourcing will definitely not die out. This market will always exist, but the type of livelihood of practitioners is to earn some hard money and fight for physical strength.

Baidu Encyclopedia. "Outsourcing" entry

3.1.2 Independent product type

This type of company, the mainstream Internet companies that everyone is familiar with basically belong to this type. This type of company has the following characteristics:

  1. At the beginning of the company's establishment, it has its own field of focus, and it is often a small entry point.
  2. The technical line is long. Like BAT, each company has its own unique technical height after it has developed to its current size.
  3. Product driven. Focus on catering to customer pain points.
  4. The product manager in the development team is the soul.
  5. Although it is also known as project-driven, in fact, different iteration cycles of the product are implemented in stages according to the project. For example, the QQ client is still under development since Tencent started its business.
  6. Projects are not one-time projects, but continuous and cumulative projects.
  7. The need to be creative outweighs the need to execute.
  8. It is intelligence intensive. Although overtime is also often serious.
  9. The pace is super fast. It is also easy to quickly form a monopoly situation or be completely eliminated.
  10. The treatment of personnel has always been very different for people of different levels. But the overall can have a relatively high level.

At present, the major companies in this category in China are: TABLE Internet giants.

3.2 Two production methods

3.2.1 Software Engineering

In the traditional software industry, software products are produced and sold on CD-ROMs in a manner similar to physical objects, and the software output method also strictly abides by the software engineering process.

  1. demand analysis. Strictly organize documents according to standards, a long cycle.
  2. system analysis. Strictly organize documents according to standards, a long cycle.
  3. system design. Strictly organize documents according to standards, a long cycle.
  4. System Development. Organize a large number of people to start steadily executing and advancing the project process according to the design document, a long cycle.
  5. software test. Organize a large number of people to test the function according to the design document, a long cycle.
  6. Software delivery. After both internal testing and customer validation testing, the software is released to the market and, with luck, can be sold for several years.
  7. Then spend N a long time to develop the project according to the above method, or develop the next generation of product functions.

This kind of production method is very similar to traditional manufacturing companies, and if this model continues to develop, it will definitely copy the model of traditional manufacturing companies more and more, because it is necessary to pursue the standardization of processes, so as to ensure production and scale. structuring and ordering.

Software developers who have worked in traditional project-driven software companies must be impressed:

  1. Meetings, communication, review, confirmation.
  2. Docs, docs, docs...
  3. Centralized closed-door mass production.
  4. Retreat to develop a product that conforms to the documentation.

Why is there such a strict review process, why are there so many meetings and documents? In fact, the behaviors mentioned above are just means of operation rather than purpose. The real purpose is to prevent the following situations from happening:

  1. Avoid disputes between Party A and Party B

    From the proposal of requirements to the final completion of the functional software agreed at the beginning, the cycle is long, and there are often quite a lot of uncertain risks. The participants of the software project are bound by the agreement, so it is necessary to communicate and record with Party A, and at the same time Developer

  2. reduce communication costs

    Because the cycle is long, there are many developers, and communication costs are reduced, as many documents as possible must be required.

These are all development processes created in an era of information asymmetry and unsmooth information flow. A new software production idea will be mentioned later.

3.2.2 Agile development

This is a software production idea in the era before the rise of the Internet.

The main development process is as follows

  1. Identify the most important line goals for this phase.
  2. Requirements analysis design and development. Necessary documentation only, for a short period.
  3. Continuous integration and continuous automation testing and release.

The main features are as follows:

  1. The product's new feature release cycle requirements are extremely short.
  2. The realization of requirements and customer confirmation cycle is very short.
  3. Each short cycle has a version that is shippable and running online.
  4. A good product can last forever.
  5. What you do often has strong inheritance and inheritance.
  6. Because of the existence of the Internet, most problems can be digested and solved in the development site.
  7. Because of the continuous online release, you can always let the practice test the product, and directly keep in touch with the front-line needs at any time.

The biggest feature of this development model is: fast!

  1. The iteration speed is fast.

  2. New features are released and presented to customers fast.

  3. Problems are found quickly.

  4. Problems are resolved quickly.

  5. If the direction is wrong, the project will die quickly.

    This is actually an advantage. If it is a pit, it is also a good thing to be exposed in time

3.3 Personal experience and insights

The aforementioned two companies and the two models currently have a considerable market in China. From a personal point of view, I am more optimistic about independent product companies and development models.

My first entrepreneurial experience was to develop a large-scale software system for two years, but in the end it was not successfully delivered and was stillborn. This painful experience and lesson made me deeply fear and resist the outsourcing business model from now on. The project I did in my first venture was very tiring, very hard-working, and at the same time, the ending was very miserable.

After the failure of the first venture, he joined the current entrepreneurial team. It is a complete Internet operation and production model, and it is completely a sense of pleasure after a long drought and rain. As a member of the development team, your code is running on the production server all the time, and the functions you develop every day are effective online. Every character you type plays its role, and it will be used for future development in the future. paving.

4 Changes in software testing

I spent a lot of space talking about the big background and big changes before, and now I have officially started to enter the topic of "software testing". Personal knowledge is still necessary. Because most developers are a group with relatively simple thinking and social circles, and the objects they deal with are often codes or machines, and they are often unwilling to jump out of technical thinking and habits, and examine what they do from a higher perspective. Because I was such a technician before, I often entrusted all the route selection to others, and I lacked the ability to think independently. As a result, although I worked hard, I always failed to achieve the desired effect.

As an ordinary person, it is inevitable that the fate of the individual will fluctuate with the background of the great era. It is very important to have the ability of independent thinking. Being able to gain insight into the trend and follow the trend will surely get twice the result with half the effort.

4.1 Overview of software testing

Software testing (English: software testing) describes a process used to facilitate the verification of software correctness, integrity, security and quality. In other words, software testing is a review or comparison process between actual output and expected output [4] .

Whether it is a traditional enterprise or an IT enterprise, there will be such a post called QC (abbreviation of QUALITY CONTROL, Chinese "quality control"), which is responsible for quality control. In the manufacturing enterprise, the corresponding quality inspection is carried out on specific items.

Regardless of whether it is physical industrial production or software industrial production, the ultimate goal is to deliver the product to the corresponding user or usage scenario, so that the product can play its role stably. So since there is handover, there must be acceptance. As for the discovery of product problems, from the perspective of the manufacturer, it is best to digest and solve them internally, rather than letting users find out after they are put on the market, which will greatly damage the product and corporate image. Therefore, every enterprise needs such a role for quality audit and check.

In the traditional physical production industry, product quality control is mainly divided into four stages  [5] :

  1. Feed control (Incoming Quality Control abbreviated as IQC)
  2. Process Quality Control (In Process Quality Control abbreviated as IPQC)
  3. Final inspection verification (Final Quality Control abbreviated as FQC)
  4. Outgoing Quality Control (Outgoing Quality Control abbreviated as OQC)

Also in the software industry, especially the current outsourcing or crowdsourcing collaboration model is gradually emerging, the software industry has gradually formed a so-called supply chain like the physical industry, and also produced quality control positions like traditional industries.

  1. Acceptance test as a package
  2. The company's software process optimization, and small version iterative testing
  3. The company's stage release version test
  4. Delivery testing for downstream enterprises

In conclusion, software testing is an essential step in software engineering to deliver reliable software. If you are interested, you can check the books related to software engineering. But when looking at these, please only look at the definition of software testing and the role it plays in software engineering. The specific operation methods behind can be ignored, because with the rise of the Internet and mobile Internet in recent years, many traditional software Engineering organization methods and concepts have been seriously outdated, and have been gradually eliminated by the industry. As a link in software engineering, software testing methods have also undergone tremendous changes, which will be discussed later.

Baidu Encyclopedia. 'Software Testing' Entry
( 12 )  Baidu Encyclopedia. 'QC' entry

4.2 Current working experience

Regarding the experience of practitioners, the facts discussed below are all from the current popular community "Zhihu".

How to become a good software tester? 

  1. The basic principles of software testing, I call it the era of testing 1.0, such as software testing (Douban);
  2. Combined with agile development, I call it the era of testing 2.0, such as agile software testing (Douban);
  3. Test is Dead, the test is "dead", adapting to the requirements of the new era of the Internet (such as Lean Entrepreneurship (Douban)), "It doesn't matter whether the cat is black or white, as long as it catches mice, it is a good cat", when you jump out of the "test" circle , Thinking about the value of testing, I call it the era of testing 2.5, such as Google Software Testing Way (Douban), Continuous Delivery (Douban),
  4. Combining testing with complexity (Douban), I call it the era of testing 3.0, but there are still relatively few practices now

Does QA have a future in China? 

The main points of the article:

  1. QA is a more promising job
  2. Black box manual testing work will gradually be replaced by white box and automation.
  3. Testers who use third-party automated testing tools such as QTP will be in an awkward situation. Because it's essentially just black box automation.
  4. The trend of test engineers is getting closer and closer to development.
  5. Test engineers with code development capabilities or data analysis capabilities have a bright future.


If it is said that the personal answers on Zhihu may have a strong subjective color, or the limitations of personal cognition. Then the demand from the talent market should be able to become a more objective basis for the wind vane. After all, the main purpose of planning your own career direction is nothing more than the following two points: read more related topics and replies from relevant personnel, and you can clearly feel that the testing position is developing in the direction of "automation, specialization and long-term technology" up.

4.3 Talent Market Demand

  1. High salary demand. The income from the work I do is considerable, which is the most real and what most ordinary people think.
  2. Value reflects demand. On the one hand, it is the embodiment of social value, which produces economic benefits and social effects; on the other hand, it is the embodiment of self-worth, which realizes life satisfaction. This need to reflect value will in turn affect the realization of "demand for high salary".

 This article researches the recruitment requirements and salary of test-related positions from Lagou.com, a vertical recruitment website on the Internet, in May 2015  .

When it comes to testing positions, salaries vary widely, as do requirements.

  1. "Northern Shenzhen and Hangzhou" because of the existence of Internet giants such as TABLE. Treatment is generally much higher than other cities.
  2. The major Internet giants recruit and test, and only recruit those who understand development. There is no difference in treatment and developers.
  3. In second-tier cities like Wuhan, the recruitment and testing are very low (often only a fraction of the testing positions of Internet giants), and basic process document maintenance and manual testing are required.

4.4 Specific needs and treatment

Using "test" as the keyword to search for jobs, it is found that the salaries of the jobs vary greatly. The following will compare the results of different salaries with examples.

4.4.1 High Salary Group

  • Jingdong

    • Require

      1. Familiar with the testing process and specifications
      2. Proficiency in software testing methods and common testing tools
      3. Experience in performance testing, automation testing, and security testing is preferred
    • treatment

      10K~20K

  • Millet

    • Require

      1. Design appropriate and complete test solutions for large-scale products
      2. Control the product quality and be responsible for the final quality of the product;
      3. Participate in the construction of a general automated test platform system;
      4. Develop and maintain testing and programming standards.
      5. More than 3 years of experience in performance testing, experience in building performance testing processes, setting performance indicators, analyzing performance data, and locating performance bottlenecks is preferred;
      6. Proficient in performance testing tools such as LoadRunner, webstress, Jmeter;
    • treatment

      15K~30K

  • Ali

    • Require

      1. Familiar with the testing process and specifications
      2. Proficiency in software testing methods
      3. Some common testing tools
      4. Familiar with the basic operation and configuration of Windows series and Linux operating system
      5. Familiar with the application of network protocols and network environment
      6. Familiar with commonly used automated testing tools, bug management tracking software, and version control software.
      7. Experience in performance testing, automation testing, and security testing is preferred
    • treatment

      More than 20K

  • Tencent

    • Require

      1. data structure

      2. algorithm

      3. database

      4. process communication

      5. Network ProtocolTCP/IP

      6. Performance testing/performance optimization/security/disaster recovery

      7. Software Engineering Theory and Testing Theory

      8. Basic tool usage

        • linux/python/shell
        • Java or C++ basics
        • wireshark
        • ab and webbench stress tools
        • Jmeter and loadrunner
    • treatment

      10K~20K

4.4.2 Low salary group

  • Wuhan Shenwei Information

    • Require

      • Familiar with software testing theory and methods;
      • Be able to skillfully apply a variety of testing tools and complete software testing tasks on time;
      • Strong English language expression ability and document writing ability;
      • Computer and related majors, bachelor degree or above;
      • Able to work independently and have good teamwork spirit;
      • No experience required, experience in retail is preferred
    • treatment

      3K~5K

  • iSoftStone

    • Require

      • Experience in mobile application testing, experience in testing on android system is preferred.
      • Understand testing theory and methods, be familiar with software testing process, and be able to write test plans, test cases, test progress, and test reports.
      • Good communication skills, teamwork awareness, strong sense of responsibility.
      • Trial work, work carefully and carefully, with patience.
    • treatment

      4k-6k

  • Curly net

    • Require

      • College degree or above in computer related majors;
      • Ability to write test plans, test cases and test reports based on requirements documents and design documents;
      • Have a strong interest in and rich experience in software testing, and have a strong ability to analyze and locate problems;
      • Have strong expression and communication skills and document editing skills, think carefully about details, and have considerable logic skills;
      • Familiar with conventional testing software (such as Loadrunner, QTP, etc.);
      • Familiar with PHP scripting language, Mysql database, server working principle is better;
      • Those who are familiar with Web and database development technology are preferred, those who are familiar with b2c e-commerce and b2c online transaction process are preferred.
    • treatment

      4k-7k

4.4.3 Comparison and Summary

  1. Internet giants already only need high-end testers.
  2. A high-end tester is actually a developer who understands testing.
  3. The low-end testing work of Internet companies is directly outsourced. (For example, Tencent outsourced to iSoftStone)
  4. The salary gap between high-end and low-end testers can reach nearly ten times.

By summarizing the skill requirements of more high-end testing positions, draw the following skill and transaction tree for your reference:

5 Final remarks

Since leaving campus, I haven't sunk down for a long time and have written something seriously. The main reason is that when I first stepped into the society, I made a very serious mistake. I always wanted to use "tactical diligence to cover up my strategic laziness". Fortunately, it is not too late to start to have this awareness now.

On the one hand, the above content is a summary of my changes in thinking and career planning in the past three years. At the same time, I hope that it can be used as a reference for colleagues who are walking on the same path and have also been confused.

All of the above conclusions are derived from:

  1. The author's personal life experience.
  2. Exposure to audiovisual digital consumer products.
  3. Opinions or facts generated by major social and career sites.
  4. Read related professional books.

Although it is said that the source of evidence should be enriched as far as possible, there must be some personal subjective color in the process of material selection, and the author's experience cannot represent everyone's experience, so I share this article and hope that this point of view can be spread to let more Many people have seen that, just like the development idea of ​​the front-end Internet products, "Let the product go online as soon as possible and accept more user tests as soon as possible, so it is natural to distinguish whether it is good or bad", so everyone is welcome to like or shoot bricks.

This is the first article in the follow-up software testing series, with an overview to set the tone and direction. The relevant technologies and techniques under this tone and direction will be shared later.

Finally: The complete software testing video learning tutorial below has been sorted out and uploaded. If you need it, you can get it for free [guaranteed 100% free]

 These materials should be relatively complete for friends who do [software testing]. This kind of learning materials also accompanied me through the most difficult journey, and I hope it can help you too! Everything should be done as early as possible, especially in the technology industry, we must improve our technical skills.

Guess you like

Origin blog.csdn.net/m0_68405758/article/details/130117025