Functional testing: a pattern to follow and the smells to avoid

  • Authors:
  • Amr Elssamadisy;Jean Whitmore

  • Affiliations:
  • Gemba Systems, Amherst, MA;Evanston, IL

  • Venue:
  • Proceedings of the 2006 conference on Pattern languages of programs
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional tests are automated, business process tests co-owned by customers and developers. They are particularly useful for rescuing projects from high bug counts, delayed releases, and dissatisfied customers. Functional tests help projects by elucidating requirements, making project progress visible, and preventing bugs. We present functional testing in pattern format because it is especially expressive in conveying expert advice and enables the reader to make an informed decision regarding the applicability of the solution. The pattern presented aggregates multiple experiences with functional testing over several agile development projects. However, we have seen functional testing become more costly than its benefits, so we describe the symptoms--"smells"--of potentially costly problems. These are not problems with functional testing per se, but with the misinterpretation and mis-implementation of this practice. We draw on our experience to suggest ways of addressing these smells. Done right, functional testing successfully increases software's quality and business value.