Vol. 14, No. 6: NOVEMBER/DECEMBER 1997, pp. 10, 12, 14, 16-17
Do Tool Criteria Tie Testers' Hands?
In their article, "Choosing a User Interface Development Tool" (July/Aug. 1997), Laura Valaer and Robert Babb omitted an important consideration in the list of criteria for selecting GUI development tools: test tools. The ability to write test scripts for a graphical interface can be thwarted by an unfortunate GUI development tool choice. We've encountered such problems in several projects. When selecting development tools, it's important to consider how testable the interfaces they create will be.
GUI test tools such as Xrunner, QA Partner, and Visual Test were first designed to support the testing of manually developed user interfaces. They tend to work very well in that context, but custom controls and widgets complicate their use.
Moreover, customized interfaces generated by some development tools can stop these tools in their tracks, even though such interfaces may look like a manual interface to the casual observer. Some test tool vendors have extended their tools to support these customized interfaces. But when this support is missing, the testing team may be forced to develop it themselves. This can be a substantial projectand can exceed the savings the development tool was originally expected to deliver.
Valaer and Babb's list of criteria reflects a common attitude: first, developers should select their development tools, then testers should select test tools that work with the developers' choices. We have two problems with this strategy. The GUI test tool support available for some development tools is much better than for others. This appears to be particularly critical for development tools with small market share. The tester may be left with a choice between bad and worse.
The second problem with developers not considering testing issues up front is that developers may switch development tools midstream after they've had a chance to learn more about them. If the testers have already selected a test tool and begun using it, they may have to replace their tool and discard their existing test scripts. If developers treated testability as an important requirement for their GUI development tools, their vendors would be motivated to work with GUI test tool vendors to ensure that their tools work together. This would let developers and testers focus more on fulfilling customer requirements and less on making their tools match.
Joel Maslyn Bret Pettichord Unison Software firstname.lastname@example.org email@example.com