Skip to content

Build Testability in

October 7, 2010

Something that really bugs me in software design is the fact that testability is rarely a requirement. Hence automated testing tends to use the GUI, which is akin to trying drive a car entirely by looking through the rear view mirror. As a result most organisations find the value of automated testing not commensurate to its investment.
I’ve seen one application where testability was a requirement. You could drive the UI via a REST interface and when you completed/ran a transaction then you could intercept the data being sent to the backend, inspect it and manipulate it. Ditto for the return of the data to the UI.
Because the test interface could be accessed with simple scripting languages such as Ruby it was easy to build quick test cases.
The result was twofold: a well designed test library for functional testing and a slew of quick and dirty test cases put together by anyone in the team to see if something worked the way it was intended.

In usability research there is a concept on affordability where the perceived effort to do something is matched with the perceived value. Testing has a very abstract value and lots of negative connotation. There is very little room to improve the value perception. Hence it is better to reduce the perceived effort. Showing a tester or a developer a simple ruby script to automate a test  can be very powerful.

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: