The Unconscious Art of Software Testing.

The article discusses considerations in software testing. The most important considerations of any software development practice are issues of economics and human psychology. Testing, probably more than any other activity in software development, is about discovery. Sometimes the most effective and...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 48; no. 1; pp. 15 - 19
Autor principal: Armour, Phillip G.
Formato: Artículo
Publicado: Association for Computing Machinery Jan2005
Materias:
Acceso en línea:Ver este registro en EBSCOhost
Descripción
Sumario:The article discusses considerations in software testing. The most important considerations of any software development practice are issues of economics and human psychology. Testing, probably more than any other activity in software development, is about discovery. Sometimes the most effective and efficient way to find certain defects is to test for them. This does not in any way substitute for good engineering practices and feedback mechanisms such as inspections. Indeed, without such processes in place and working, any attempt at dynamic testing quickly becomes overwhelmed and quite ineffective. But there are certain kinds of problems that are very difficult to identify analytically. There is no doubt that inspections can be very effective and must be used to obtain high-quality software. Much of what passes for method in testing involves heuristic strategies. It includes to selectively test complex predicate logic, create test cases that span the classes of inputs and outputs, construct combinations of conditions, press the system to its boundaries both internally and externally, and devise weird combinations of situations that might never occur in the real world.