Practicalities


We would not be foolish enough to suggest that testers should, or even could, create the full body of unit tests to validate a nontrivial application.

Tester involvement stands the greatest likelihood of success in areas of the system under development where interfaces are clearly defined ahead of time. Subsystems and frameworks that are provided for the benefit of other subsystems typically fall under this umbrella. They provide a well-defined set of services that can be described by user stories that are not likely to change a great deal from moment to moment. The key is to be able to describe the services provided by the components under test beforehand so that developers and testers can create their assets relatively independently.

Tester involvement is less applicable where code interfaces are highly volatile, such as in private or helper classes. These classes tend to spring into existence and evolve rapidly as code is written or refactored, and thus possess interfaces that are difficult to anticipate. Developers will want the flexibility to create and alter code as needed without the communication overhead of notifying testers of changes and additions.

Some tests or parts of tests will not be practical for testers to write because they require more expressiveness than the tester or the test representation's capabilities can provide. In such cases it is reasonable to expect testers to pass these tests back to the developer. Sometimes it is sufficient for a developer to provide one or more code-based utilities for testers to use. This is a truly collaborative relationship that benefits both parties.

Project Scale

Developer and tester collaboration tends to become more practical as project scope and scale increase. Smaller projects tend to be more inwardly focused, in terms of both component interfaces and developer perspective. Larger projects tend to be composed of groups of smaller teams that provide subsystems for consumption by other teams on the project. These subsystems' interfaces are perfect candidates for tester involvement.



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net