I've seen a little bit of agile testing lately, and I've seen a lot more blurry. On the one hand, because there is no real environment and process, perhaps it does not have a fixed pattern and process, it is like telling people to "brave" "effort". Some people in the brave face of life, some people in the courage to challenge themselves, some people are brave to face failure and frustration. All right! They all achieved the "brave", brave how to do, perhaps not clear. Or that everyone has his own way of doing it. But they also rely on "bravery" to overcome the difficulties they face. Of course, agile is not a simple word, after the previous do not explore and summarize, but also accumulate and summarize a considerable amount of experience for us to learn from and reference.
According to the topic of this article or to talk about the software Testers Division of labor it! Mainly to talk about the test division in the traditional software testing process, because the test division in the agile test I haven't figured out if it's a swollen situation.
Group testing
Perhaps this is the way it is in professional testing, probably not called "collective testing." Because I am based on my own understanding of the meaning of the term is called collective testing "collective testing."
The test pattern is that all the testers in the company stick together a project, and all the testers focused on a project.
First of all, the advantages of this method of division:
1, because each member of the Test team has a good shortage of staff in the work of mutual advantage. Can quickly identify defects in the software. Three Stooges the top of a Zhuge Liang, a rich experience of testing does not necessarily have three levels of general survey from the staff found more problems.
2. Another advantage of being a lot of people is that the test project can find more people's defects in a faster time. To summarize is to find more problems in a shorter time.
Again, the disadvantage of this approach:
1, a person a mouth, the human cost is very long (personnel wages, the average staff time input, testing machine and other hardware resources input).
2, when you need to test multiple projects, do not mean, in order, please queue up in the back.
3, the work is repeated, the same defect, can be found by all testers at the same time, or called repetition rate is very high.
4, the level of personnel is difficult to distinguish, in a project testing process, some testers may not find a flaw, some testers have found almost all the problems. Perhaps a tester who didn't find a flaw in the project found a number of flaws in the next project.
5, the leakage test is the responsibility of the entire testing team. (This is not a clear drawback, it depends on whether the atmosphere of the team is positive or negative.) )
(maybe you're saying that if you're missing too much from this analysis, maybe you'd be interested to keep looking, I'll explain later.) )
All right! There are too many shortcomings in collective testing, like the "General" in the early days of the nation's founding, and certainly hinder development. Let's take a look at several ways of division.
Division of content by test
A project's tests include documentation testing, usability testing, logical functional testing, interface testing, configuration and compatibility, and many more. We can assign different test content to each person according to the characteristics of the person.
The advantages of the Content Division method:
1, the Division of labor is clear, each person is clear their own test content focus.
2, the responsibility in place, through the leakage of defects can be clear who is the responsibility.
divided by test process
Our project testing processes typically require, develop test plans, write test cases, execute test cases, output test reports, and so on, and we can divide them according to the stages in the process.
Different people are responsible for the different phases of the testing process.
Advantages:
1, the process is clear, like the Waterfall Test project development process, different stages of work by different personnel.
2, to divide the process of each stage of difficulty and skills required.
Writing test planners requires working time, resource allocation, testing content, and the overall ability to control the entire project.
The use case discrimination personnel, needs to the project demand, the test method, the test point has the thorough understanding.
Use case executives need to be careful with defect systems, communicate, and assist in locating defects.
The output test report personnel need to test the process of the project, the number of defects, type, distribution. Use case to carry out statistics, etc. Can also be performed by a test executive.
Divided by Project module
For medium and large projects, this division is necessary, the project module is very many, the function is also very many. Different testers are responsible for the functions of different modules, which makes it clearer to use the test work.
1, the personnel utilization rate is high, why say so? Different people are not responsible for the same functions. There is no overlap or duplication of work.
2, more easy to dig depth defects, if a personnel test this function today, tomorrow to test that function, he can not be tested the function of internal logic and business have in-depth understanding. What is found is only a superficial flaw. Then if a person is responsible for the function of a module for a long time, it will be easier to find more depth defects. And often the depth of the flaw is deadly.
According to the test type Division
We know that software in addition to functional needs testing, software in the coding phase requires unit testing, interface testing, in the system testing phase, in order to improve the efficiency of functional testing, some modules may be functional automation, we also have to consider the software performance, security and other issues. These types are also the most common categories in my project. We can assign test jobs to testers based on these types. Of course, their professional requirements for testers are also relatively high.
The characteristics of this division of labor.
1, the requirements of high professional skills, in these categories in addition to manual testing requirements are lower (on the face of this), other categories require a higher professional skills. For example, security testing requires skills in network protocols, programming techniques, scripting attacks, SQL injection, vulnerability analysis, and so on.
2, the different classification between the low interactivity, the country for different classification needs of different skills, although the same as "test" work, but a unit test people can not let it do performance testing.
Questions about the above classification method
Look at the above several ways of division of labor, you are not every kind of test personnel division of labor is familiar, but no company is a single in accordance with some of the above-mentioned work.
Take the author's current company, is a long-term Internet products, product features more, each tester responsible for different functional modules, testers from the test plan to test reports are basically a person to complete. Of course, for larger and more urgent versions of iterations, there will also be many people collaborating on the version test (the way in which collaboration is generally subdivided into each person's version functionality). Safety testing is conducted by a professional safety officer to guide functional testers to conduct safe scanning and analysis of their own functions. Have an independent performance Test team to perform performance testing on product versions that require performance. Automated work for automated functions in independent functional automation personnel.
The author of the company's way of working almost includes all of the above division of labor. Why, then, do I have to divide that single division of labor? This helps us to clarify the various ways of dividing the work of testing. In the actual work, there are large projects, there are small projects, there are client software, there are Internet products, there are short to several days of the project, there are "permanent" projects. Once the development has been delivered, there are no iterations to update. Depending on the project situation, we can choose the appropriate division of labor to apply to the project.
The relationship between the input personnel and the discovery defect
In the Division of labor, this is also a must also consider the problem, on a project, the number of personnel invested, the time invested, and the number of defects found to have a close relationship.
the relationship between input time and the discovery of defects :
In the case of a certain person, the more time invested, the more defects found. But there is a rule that the less new defects are found in the later stages. Assuming the total software defect is 100, the first week found 50 problems, the second new discovery 20, the second week may only find 10 new defects. And one corollary is that testing cannot find all the flaws.
the relationship between the number of input personnel and the defect :
In times of certain circumstances, the more people put in, the more problems found, you can see that the more people put in, the staff found that the higher the overlap degree of defects. Of course, you can say that the division of the content to be tested by each person does not overlap. As a system of the various functional modules, there must be a certain connection between them. It is possible that a personnel will be involved in testing the function of B personnel testing, and found the problem, whether it is to tell B defects or a personnel directly submit defects (of course, you can pretend not to see, waiting for B to find), this is an inevitable overlap.
Of course, dividing a clearer task effectively reduces the overlap. Synchronization also reduces the number of defects found and increases project risk. Unless you invest more time in testing. This relationship needs to be carefully weighed by the test manager.
In cases where the project does not have sufficient time for emergency testing, fewer people can be invested and more defects will be discovered by prolonging the test time. In the event of a project emergency, more personnel testing is needed in order to find more defects as soon as possible. In the case of high project quality requirements, more people and time should be put into the test. When the test time is low and the quality of the project is not high, less personnel and time can be put into the test.
--------------------------------------------------------------------------------------
This article is over, but there are a lot of questions that I'm not clear about (or, I'm not sure about at the moment).
1, a personnel found the B function module defects (b module by the B personnel responsible for testing) How should be handled? Own the defect list, tell B personnel, let B personnel bill of lading. Directly ignored, waiting for the B testers to find out.
2, the project emergency situation, personnel input, time input, in some cases, consider some modules do not test.
3, the development of professional development of testers, which is closely related to the division of labor of Testers.
The Division of Testing personnel