One of the most common Classic Testing Mistake is about "Planning the Testing Effort". That means how should the whole testing team's work be assigned?
Test leads (or managers) often need to make an initial estimate of the number of people that will be required to test a particular product, before the information or the time to do a detailed task breakdown is available. One thing that is almost always available is the number of developers that are or will be working on that project. Now the question is how to estimate the total number of people that will test the application.
From the last one and the half year of my testing experience as a Technical Lead (Testing), I also encountered this type of problem. Management always wants to know that how many testers I am going to assign in a particular project for smooth and ontime testing. Initially, I was not sure how to estimate this number but now I am pointing out some facts that needs to be taken care before doing this estimation tasks. In my opinion, number of testers needed for a particular project depends on following points :
Test leads (or managers) often need to make an initial estimate of the number of people that will be required to test a particular product, before the information or the time to do a detailed task breakdown is available. One thing that is almost always available is the number of developers that are or will be working on that project. Now the question is how to estimate the total number of people that will test the application.
From the last one and the half year of my testing experience as a Technical Lead (Testing), I also encountered this type of problem. Management always wants to know that how many testers I am going to assign in a particular project for smooth and ontime testing. Initially, I was not sure how to estimate this number but now I am pointing out some facts that needs to be taken care before doing this estimation tasks. In my opinion, number of testers needed for a particular project depends on following points :
1. Tester Efficiency
2. Tester time spent on other matters
3. Values and speed of finding defects.
4. Number of developers working on the project.
5. Amount of functionality
6. Developer efficiency at removing defects before tests.
7. Developers efficiency at inserting defects.
2. Tester time spent on other matters
3. Values and speed of finding defects.
4. Number of developers working on the project.
5. Amount of functionality
6. Developer efficiency at removing defects before tests.
7. Developers efficiency at inserting defects.
1.Tester Efficiency :
If your testing team members are efficient and sharp, you need less number of testers to test the application. That depends on the experience and the way of working of the tester. In one of my previous company, I was leading a team of three testing engineers. Out of those three, one resource was too good in testing. I always kept that resource with me in each application testing (if possible) for smooth testing. Infact. in my initial years of testing experience, my manager always trust me for testing of any of the application. And I always done my best to keep his trust alive. As a tester, what I believe is that, you should be methodical, systematic, tactful and diplomatic (but firm when necessary).You should be skeptical, especially about assumptions, and wants to see concrete evidence.
If your testing team members are efficient and sharp, you need less number of testers to test the application. That depends on the experience and the way of working of the tester. In one of my previous company, I was leading a team of three testing engineers. Out of those three, one resource was too good in testing. I always kept that resource with me in each application testing (if possible) for smooth testing. Infact. in my initial years of testing experience, my manager always trust me for testing of any of the application. And I always done my best to keep his trust alive. As a tester, what I believe is that, you should be methodical, systematic, tactful and diplomatic (but firm when necessary).You should be skeptical, especially about assumptions, and wants to see concrete evidence.
2. Tester time spent on other matters
If your testers are busy with different projects (maintenance/deployment phase), then as a test lead, you should consider this point for estimation. This is because if you consider that tester a full resource and he might be busy in some other project, your current application will suffer a lot. And also switching testing tasks from one project to another project frequently reduces the quality of testing. In one of my previous company, as a member of testing team, I was engaged in four different projects simultaneously as a main resource of test team. I tried to convince this point to my management that I am not able to perform well in testing for each application as switching from one project to other project frequently is diverting my mind. Surprisingly, the management agreed on that and done the needful to prevent the testing for all the applications.
If your testers are busy with different projects (maintenance/deployment phase), then as a test lead, you should consider this point for estimation. This is because if you consider that tester a full resource and he might be busy in some other project, your current application will suffer a lot. And also switching testing tasks from one project to another project frequently reduces the quality of testing. In one of my previous company, as a member of testing team, I was engaged in four different projects simultaneously as a main resource of test team. I tried to convince this point to my management that I am not able to perform well in testing for each application as switching from one project to other project frequently is diverting my mind. Surprisingly, the management agreed on that and done the needful to prevent the testing for all the applications.
3. Values and speed of finding defects
Again, a crucial point for estimation. Although this point is more or less similar to the first point. But there is a difference. If one of your test team member is very quick to find out the bugs in the application, then, definitely that is one of the major resource in your team. That doesn't depend on the efficiency, but on the experience, attitude (Test to Break attitude) and way of working. Now as an experience of around 6 yrs. in testing, I can predict, just after viewing the application, the approximate number of good issues in it.
Again, a crucial point for estimation. Although this point is more or less similar to the first point. But there is a difference. If one of your test team member is very quick to find out the bugs in the application, then, definitely that is one of the major resource in your team. That doesn't depend on the efficiency, but on the experience, attitude (Test to Break attitude) and way of working. Now as an experience of around 6 yrs. in testing, I can predict, just after viewing the application, the approximate number of good issues in it.
4. Number of developers working on the project
This is directly proportional to the number of testers in any project. More the number of developers in the project, more the testers you require. Ideally the number of testers should be one-third of the number of developers in any project. i.e. if your application is being developed by 15 engineers, there should be atleast 5 testing engineers for proper testing. Again this equation can be changed if your team have some extraordinary testers. That means if your team have some good and intelligent testers that you can assume as a 1.5 resource (instead of normal 1 resource), you can change the number of testers accordingly. In one of my previous company, I was the only tester for a project where a team of 5 engineers developed the application. I am not saying that was done intentionally but it was due to the management issues. What I have done at that time is to work with developers and tried to get the bugs from them itself. I have done some diplomatic moves at that time and that project was successfully tested and delivered to the customer but not in the required time frame. A smooth working relationship between developers and testers is essential to efficient testing
This is directly proportional to the number of testers in any project. More the number of developers in the project, more the testers you require. Ideally the number of testers should be one-third of the number of developers in any project. i.e. if your application is being developed by 15 engineers, there should be atleast 5 testing engineers for proper testing. Again this equation can be changed if your team have some extraordinary testers. That means if your team have some good and intelligent testers that you can assume as a 1.5 resource (instead of normal 1 resource), you can change the number of testers accordingly. In one of my previous company, I was the only tester for a project where a team of 5 engineers developed the application. I am not saying that was done intentionally but it was due to the management issues. What I have done at that time is to work with developers and tried to get the bugs from them itself. I have done some diplomatic moves at that time and that project was successfully tested and delivered to the customer but not in the required time frame. A smooth working relationship between developers and testers is essential to efficient testing
5. Amount of Functionality
Amount of functionality also decides the number of testers that you have to assign in a particular project. Here amount of functionality means number of functionality that have been implemented for a particular project. This "Amount of Functionality" is somehow related to "Number of developers". More number of functionality that have to be implemented in the project, more number of developers required to develop it and consequently, more number of testers required. As a Testing Lead/Manager, this point should be taken care seriously because the test team member assignment depends a lot on this factor.
Amount of functionality also decides the number of testers that you have to assign in a particular project. Here amount of functionality means number of functionality that have been implemented for a particular project. This "Amount of Functionality" is somehow related to "Number of developers". More number of functionality that have to be implemented in the project, more number of developers required to develop it and consequently, more number of testers required. As a Testing Lead/Manager, this point should be taken care seriously because the test team member assignment depends a lot on this factor.
6. Developer efficiency at removing defects before test
Ideally, this is the point which should not taken care by the Test Lead/Manager. This is because whatever the efficiency of the developer, as a Test Team, you should work according to your efficiency. This means that you should not take this point as granted and should test the things thoroughly and with your full strength.
Ideally, this is the point which should not taken care by the Test Lead/Manager. This is because whatever the efficiency of the developer, as a Test Team, you should work according to your efficiency. This means that you should not take this point as granted and should test the things thoroughly and with your full strength.
7. Developers efficiency at inserting defects
As a Test Lead/Manager, if you are aware of the developers work, then you can estimate the number of testers required to test that specific application.In one of my previous jobs, I worked with a very talented team of developers. Some of the developers (more precisely 3 ) are really brilliant in that team. After completion of that project, I again worked with only those 3 developers for some other project. So at that time, I realized that the development team have worked quite good and they are very less efficient at inserting defects in the application.
As a Test Lead/Manager, if you are aware of the developers work, then you can estimate the number of testers required to test that specific application.In one of my previous jobs, I worked with a very talented team of developers. Some of the developers (more precisely 3 ) are really brilliant in that team. After completion of that project, I again worked with only those 3 developers for some other project. So at that time, I realized that the development team have worked quite good and they are very less efficient at inserting defects in the application.
Products are better and cheaper to produce when everyone, at every stage in development, is responsible for the quality of their work
If you are not going to identify the defects, the customer would and that will be a gift from the customer that tells you how to test better in the future.
If you are not going to identify the defects, the customer would and that will be a gift from the customer that tells you how to test better in the future.
-- Sanat Sharma