Alex Rivera | Logout

Testers in Software Development

Asked 2009-02-08T10:36:32.130
11

In my company we develop a software product. Until now we haven't had any testers, so basically the developers were the testers, and of course the customer and users (not good).

Our team now consists of 4 developers and we work mainly with Cruisecontrol, Flex, ASP.NET, IIS, MSSQLServer and WebORB. I am urging the managers to hire a tester but I wonder if testers are normal in software development. So:

  1. Are testers necessary in product (or large scale project) development?
  2. Should testers only do test work? Or can you expect from a developer or graphical designer to test half of the week?
  3. Where can you find good testers (I suppose there isn't a degree in software development testing)?
  4. Is it the task of the project manager of technical teamlead to test everything?

thx, Lieven Cardoen

ps: Thx, Vinay, we do have Unit Tests but indeed, Unit Tests can't cover what Testers can.

Edit
Report

3 Answers

7

1) Are testers necessary in product (or large scale project) development?

Yes. Somebody's got to take responsibility for assessing when something is tested enough and working out which bugs need fixing or can ship because there are workarounds.

2) Should testers only do test work? Of can you expect from a developer or graphical designer to test half of the week?

Testers often do customer support work or work with the customer to develop requirements. The testers can act as internal voices for the customers... and if they interact with the customer enough should feel a sense of responsibility for getting a suitable quality product out of development they know the customer will want.

3) Where can you find good testers (I suppose there isn't a degree in software development testing)?

I bet there is a degree somewhere. A lot of the testers we have are computer science university students who are doing a year out in industry before they go back for their final year at uni.

4) Is it the task of the project manager of technical teamlead to test everything?

Not necessarily. It depends how big the team is, if it's small, then yes, someone can double up and do both roles. For bigger projects though, these are different people.


Remember. Having a tester is not an excuse for developers/programmers not to test code as they write it or create unit test. Developers still have responsibility for developing a good product. They should never attempt to make up an excuse for a bug they created by blaming a tester for not finding it.

answered 2009-02-08T12:10:48.883
2

Testers are necessary in both cases. Even if your development is test-driven, I think the role of the tester often focuses on the external requirements of the project - does the project deliver the expected product that will fulfill the requirements?

I find that in large corporate environments you often have a goldmine of good testers at call-centers or those who do customer service. They often have a very solid understanding of the business processes, problems and requirements.

In such a context we have often let the testers work with constructing real-life test cases in back-end systems too, sometimes these are even used by integration tests that the developers write. We've had great success with letting the developers ask the testers for data/scenarios to test for CI-based automated testing.

You can expect other roles to take part in testing. I really think everyone should be focused on quality and testing, but unfortunately everyone cannot be responsible.

answered 2009-02-08T10:51:27.983
2

Never underestimate the value of specialists.

Most people who aren't testers, particularly developers, don't enjoy testing and won't do it well. If you ask a graphic designer or a developer to spend half of their time testing, at best you will lose 50% of the output of a good designer/developer and gain 50% of a poor, expensive tester. At worst you will lose them completely because they will find somewhere better to work.

In the case of developers, they are usually too close to the code to be able to test it objectively. They will make assumptions based on their knowledge of the internals. A developer testing their own code is particularly bad.

The project manager should be responsible for ensuring that everything is tested but they shouldn't be doing it themselves. They won't have enough time or the necessary expertise.

I previously worked for a consultancy company. We had no specialist testers and would instead use whichever consultants were currently without a project. None of them had any testing expertise and as a result most of them weren't very good testers. We'd get bug reports like "the system doesn't work anymore" or my personal favourite: a screenshot of an application showing how slow it was (a screenshot of the application running quickly would not have looked any different). They would abuse the bug tracking system too (or bypass it completely in favour of their own home-brew Excel spreadshhets). It was a nightmare.

answered 2009-02-08T14:08:26.040

Your Answer