''Software Testers are there to help you improve the quality of your software (I think by definition). If they are monkeys then programmers are relying on monkeys to help them improve the quality of their code.'' ''No wonder software has such a bad reputation for reliability/ quality.'' ---- A SoftwareTester is different from a QualityAssuranceEngineer. "SoftwareTester" is usually an entry level position where one is presented with a Program and told to ''test'' it and find bugs. The goal is to find bugs. A QualityAssurance position requires foreknowledge of the application through FeatureSpecification and involves creating TestPlans and AutomatedTesting as well as FeatureTesting and harping on about UnitTest''''''ing. The goal is to make sure that the program does what it is stated to do and does not deviate from the specification. ''How is this different from finding bugs?'' Both methodologies are important for creating QualitySoftware, but checking for correctness is a bit duller than checking for weird bugs and with the SoftwareTester, you usually end up with many EdgeCaseScenarios being reported rather than basic functionality problems. This is fine if you have an extremely good development team, but most companies really need the QualityAssuranceEngineer rather than the SoftwareTester. ''I'm not sure I understand this paragraph. You seem to be saying that checking for correctness (the domain of the QualityAssuranceEngineer?) is duller than checking for weird bugs (the domain of the SoftwareTester?).'' ''As for the quality of the bugs reported (operational bugs having a higher quality than weird EdgeCaseScenarios) I think this depends on the type of testing carried out. UnitTest''''''s have more potential for identifying boundary cases (EdgeCaseScenarios?) than, say, System Testing which I would say is more likely to find OperationalFaults.'' ---- The distinction you seem to be drawing is: * SoftwareTesters do the tactical 'set up test - execute test - analyze test' stuff * QualityAssuranceEngineers do the strategic 'Use this type of tests to find such and such type of defect, and this type to find this other type of defect' with the aim of selecting a verification regime which will give an adequate chance of detecting possible types of defects for the required software quality. This is a bit of an interpretation, is it right? Even with this distinction I am convinced it is still important to consider testers as skilled and useful members of a development team. If they are not how can you motivate them to develop quality input test data? ----- In the above discussion, remember that an SQA engineer is an ''engineer'' - they can read and write programs. A SoftwareTester is a ''monkey'' - they can't read or write programs. Their job is to ''play user'', encounter random bugs, and maybe document their journeys. ''Oh yeah, really? What about white box testing? What about making test cases out of functional specification BEFORE implementation has even started? The fact that many (small and lousy) software houses think testers are monkeys does not imply it should be so.'' ----- This may be true in an IT context, but not so in an engineering context (or perhaps not so likely to be true). Perhaps this discussion is an example of different names meaning different roles to different people. ---- For a less inflammatory treatment, see the comments of Dr. WilliamEdwardsDeming concerning reliance on inspection to catch problems. After the fact error detection is difficult at best. ---- For a discussion of how the role of software tester should become more like that of a newspaper editor see http://www.softwarereality.com/lifecycle/stop_the_press.jsp -- ChrisSteinbach ---- See Also: GameTester ---- CategoryTesting