Saturday, March 5, 2011

How much time should a tester spend testing every day?

Not so long ago, I went to attend a walk-in interview. While we were all waiting to be called, I struck a conversation with a test engineer who had also come to be interviewed. One of the things we talked about was the daily routine of this person. Here is a rough daily schedule:

9:00 a.m. Arrive at office and settle down
9:15 a.m. to 9:45 a.m. Check emails
10:00 a.m. to 11:00 a.m. Team meeting
11:00 a.m. to 1:00 p.m. Test the application (2 hours)

1:00 p.m. to 2:00 p.m. Lunch break

2:00 pm. to 3:30 p.m. Test the application (1.5 hours)
3:30 p.m. to 4:00 p.m. Log bug reports (0.5 hours)
4:00 p.m. to 5:00 p.m. Enter test results in the test management system and enter timesheet
5:00 p.m. to 5:30 p.m. Reply to questions on prior bug reports
5:30 p.m. to 6:00 p.m. Write status report for the day
6:00 p.m. Leave office for home

It shocked me. This person was spending 50% or less of his daily time on testing. This does not even take any ad-hoc meetings, training, test environment down-time or usual interruptions into account. If what this person said is true and it is a good representation of the daily schedules kept by testers in companies, I don't think it is okay. Why?

1. Testing software is the core function of a software test engineer. Most of the time should be spent on this important task.
2. Non-testing tasks e.g. team meetings, email exchanges and compiling test statuses are important but not at the cost of testing time.
3. Time should not be spent on redundant activities. A 10-minute stand-up summarizing what everyone did yesterday is fine but listening to the details of what each of the 10 team members did yesterday is not the best use of time.
4. There is duplicity of effort. If data is accurately entered in the test management/ project management system, it should be sufficient to produce any desired test status report.

However, a test engineer may not be able to guard his time because many of these non-testing tasks are driven by their managers. If a manager insists on long meetings and detailed status reports everyday, which task do you think would suffer? Yes, it is testing that would be impacted. It may not be as deep, wide or inspired as it could have been.

If you are a test manager, you may want to think about how to minimize the burden of non-testing tasks of your testers. Keep them accountable to find problems with the software while allowing them to focus on their core function. Most of the time.

1 comment:

  1. Inder,

    A very nice post and a very genuine concern raised by you in this post. In my opinion all the tasks mentioned in teh daily routine above are mandatory and you cannot run away from these. With due respect to you , if you are manager then can you avoid these things.

    All I want to say is this is the normal routine and we have to optimize ourselves and reduce downtime by clubbing similar tasks such as logging defects and test result simulatenously at the time of test execution. Also if status reports have standard format then they can be drafted and can be changed at the time of sending.