Now blogging at diego's weblog. See you over there!

testing and user interfaces

The importance of testing has recently been highlighted by the rise of Extreme Programming, which advocates extensive use of unit testing, and a philosophy of "test before you write," which essentially means that the tests are written before any code exists. I used XP in a project and it was excellent: it helped us create large amounts of C++/Win32 code with very few bugs, and a good design. XP works, and "constant testing" works very well in many circumstances.

Automated Testing in general (and unit testing in particular) is great for algorithms, isolated functions, server/processing code and the like, but it hits a wall when confronted with user interfaces. Sure, some things in UIs can be tested, in particular the data. When using the MVC (Model-View-Controller) programming model, most of the tests therefore can be done at the model-level, and some at the Controller level, but testing the View is much more difficult. There are some UI testing tools, but they are expensive, clumsy, and/or not too flexible, and then, they can't alert you to visual UI problems, such as a button looking stretched or something of the sort. Additionally, part of the UI is the user, so testing of a UI by necessity involves the users themselves. What is appropriate for one person might not be appropriate for another.

Maximizing Windows is an interesting article on UI testing and its perils. The reader comments to the article are quite good too.

Categories: technology
Posted by diego on July 17 2002 at 3:00 PM

Copyright © Diego Doval 2002-2011.
Powered by
Movable Type 4.37