Division of Software testers

Source: Internet
Author: User

 

I recently read something about agile testing, but it seems vague. On the one hand, because they do not see the real environment and process, maybe they do not have a fixed pattern and process. It is like telling people to "be brave" and "Work hard ". Some people are brave in facing their lives, some are brave in challenging themselves, and some are brave in facing failures and setbacks. Okay! They have all achieved "brave" and may not be clear about how to do it. Or everyone has their own practices. However, they also rely on "brave" to overcome the difficulties they do not face. Of course, agility is not a simple word. After not exploring and summarizing, we have accumulated and summarized a considerable amount of experience for our reference.

 

Based on the topic of this article, let's talk about the division of labor among software testers! I mainly talk about the test division in the traditional software testing process, because I haven't figured out whether the test division is swollen yet.

 

Group test

 

This method may not be called "group test" in professional tests ". Because according to my own understanding, the term "group test" is probably equivalent ".

That is, the test mode means that all Testers in the company can build a project and All testers can test a project in a centralized manner.

 

First, let's talk about the advantages of this division of labor:

1. Because each member of the test team has advantages and disadvantages, the personnel complement each other at work. Defects in the software can be quickly identified. One of the three stinks is a Zhuge, and one of the more experienced tests may not necessarily have three levels. Generally, many problems are discovered by the tester.

2. Another advantage of a large number of people is that testing projects can discover more people defects in a faster time. To sum up, we can find more problems in a shorter time.

Let's talk about the disadvantages of this method:

1. One person opens his mouth and the labor cost is very long (staff salary, average staff time investment, testing machine and other hardware resources investment ).

2. When you need to test multiple projects at the same time, do not mean it, in order, please arrange in the back.

3. repetitive work and the same defect can be detected by All testers at the same time, or the repetition rate is very high.

4. personnel levels are difficult to differentiate. Some testers may not find a defect during a project test, but some testers discover almost all the problems. Maybe the tester who has not found any defect in this project has found many defects in the next project.

5. Missed tests are the responsibility of the entire test team. (This is not a clear shortcoming. It depends on whether the team atmosphere is positive or negative .)

(Maybe you want to take a look at this analysis to see if there are too many things missing. Maybe you are interested to continue reading it. I will explain it later .)

 

Okay! There are too many disadvantages in group testing, just like eating a pot of rice at the early stage of the country, which is definitely a hindrance to development. Let's look at several ways of division of labor.

 

 

Division of labor by test content

One project test includes document test, usability test, logic function test, Interface Test, configuration and compatibility. We can assign different test content to each person based on their characteristics.

Advantages of content Division:

1. The division of labor is clear, and each person is aware of the content and focus of his/her tests.

2. The responsibility is in place. The defects that pass the missed test can clearly identify who is responsible.

 

 

 

By test process

 

Our project testing process is generally required. We can formulate testing plans, write test cases, execute test cases, and output test reports. We can divide them according to various stages in the process.

Different personnel are responsible for different testing stages.

Advantages:

1. The process is clear, just like the waterfall test project development process. Different personnel are responsible for the work at different stages.

2. The difficulty and skills required for dividing each stage of the process.

Test plan developers need to have overall control over the entire project's working hours, resource allocation, testing content, and implementation process.

Case reporters need to have a deep understanding of project requirements, test methods, and test points.

Case executors need to be careful, use defect systems, communicate with each other, and assist R & D personnel in locating defects.

The output test report personnel need to test the project process, defect quantity, type, distribution. Use Case execution and other statistics. You can also use the test execution personnel.

 

 

By project module

 

This division is necessary for medium and large projects. There are many project modules and functions. Different testers are responsible for the functions of different modules, which makes the test work clearer.

1. High personnel utilization. Why??Different personnel are responsible for different functions. There will be no overlapping or repetitive work.

2. It is easier to mine deep defects.AIf a person tests this function today and tests that function tomorrow, he cannot have a deep understanding of the internal logic and business of the tested function. What we find is only a superficial defect. If a person is responsible for the functions of a module for a long time, it is easier to find more in-depth defects. Often, deep defects are fatal.

 

 

Division of labor by test Type

 

We know that in addition to functional testing, the software requires unit testing and interface testing in the coding stage. In the system testing stage, to improve the function testing efficiency, some modules may be automated. We also need to consider the performance and security of the software. These types are also the most common categories in my project. Tests can be assigned to testers based on these types. Of course, its professionalism also imposes high requirements on testers.

The characteristics of this division of labor.

1. high requirements for professional skills. In addition to low requirements for manual testing (on the surface, this is the case), other categories require high professional skills. For example, security testing requires understanding of network protocols, programming technologies, script attacks,SQLInjection, vulnerability analysis, and other skills.

2. The interaction between different categories is low. Zhengguo requires different skills for different categories. Although they work as "tests", a unit test person cannot perform performance tests.

 

 

Questions about the classification method above

 

After reading the above several methods of division of labor, are you familiar with the division of labor between testers? However, no company is working in a single way according to the preceding method.

Taking the author's current company as a long-term Internet product with many features, each tester is responsible for different functional modules, the tester is basically done by one person from the test plan to the test report. Of course, for relatively large and urgent version iterations, many people will collaborate to test the version (the collaboration method is generally to further segment the version function to each person ). Professional security personnel guide function testers to perform security scanning and Analysis on their own functions. An independent performance testing team is available to test the performance of product versions that require performance. Independent Function automation personnel can automate the work of functions suitable for automation.

My company's Work Division includes almost all of the above methods of division of labor. So why do I need to divide the preceding single division of labor? This helps us to clarify the division of labor for testing. In actual work, there are large projects, small projects, client software, Internet products, projects within a few days, and "permanent" projects. Once the development is completed and delivered, there are also non-segment iterative updates. Depending on the project, we can select an appropriate method of division of labor to apply to the project.

 

 

 

Relationship between input personnel and defects discovered

 

In the case of labor splitting, this is also a problem that must be considered. There is a close relationship between the number of people invested in a project, the time spent, and the number of defects found.

 

Relationship between input time and defect discovery:

Under certain conditions, the more time invested, the more defects found. However, there is a rule that the less new defects are found in the later stage. Assume that the total software defect is100, Found in the first week50Problems, and the second new discovery20The second week may only find10New defects. Moreover, the inevitable result is that the test cannot discover all the defects.

 

Relationship between number of input personnel and Defects:

Under certain conditions of time, the more people are invested, the more problems are found. It can be seen that the more people are invested, the higher the overlap of defects discovered by personnel. Of course, you can say that the division of the content that each person wants to test will not overlap. As a functional module of a system, there must be an inevitable link between them. PossibleADuring testingBPersonnel Test the function and discover problems, whether it is to tellBDefect orAPersonnel directly submit defects (of course, you can pretend not to see them, waitB), Which is an inevitable overlap.

 

Of course, more clearly divided tasks effectively reduce the degree of overlap. Synchronization also reduces the number of defects detected and increases project risks. Unless you invest more time in testing. The relationship between the two needs to be carefully weighed by the test Manager.

When the project does not have sufficient emergency testing time, you can invest less people to extend the testing time to discover more defects. In case of project emergency, more personnel are required for testing to detect more defects as soon as possible. In the case of high project quality requirements, more people and time should be invested for testing. In the case of low testing time and low project quality requirements, you can invest less people and time for testing.

 

Bytes --------------------------------------------------------------------------------------

 

This article is over, but there are still many questions that I have not made clear (or I have not yet made clear ).

1.Personnel foundBFunctional Module defects (BModuleBPersonnel responsible for testing) What should we do? Submit a defect ticket and notifyBPersonnel, letBPersonnel ticket. Ignore directly, waitBThe tester finds out.

2. In case of project emergency, personnel investment, and time investment, some modules are considered not to be tested.

3. the career development of testers is closely related to the division of labor among testers.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.