A former student of mine recently pinged me on whether I could recommend a strategy for testing the non-functional elements of a product she is working on. In this case non-functional means things like tab order, field length, field masks, etc. — basically that was not listed as a feature in a requirements document. As a bit of background context, the route she was going to take was to create a massive test script which tested all the components in her application. Here is my response.


For this I would likely take this on a screen by screen basic and print the screen. On the printout I would scribble all over it the non-functional aspects I want to check and my expected outcomes. Put all of them in a binder and you have your test cases. If they needed to be in an electronic format I might then scan those and import them into whatever test management system you are using.

The requirements documents that I work from currently has a mockup of each screen right in it so I will write down on the picture the size of the db column the field maps to, the password rules, any other validation rules, where links / buttons should take me etc.

I’m not a big fan of the one-big-script route because it does not localize change. If a developer changes a single screen you are somewhat required to run your massive script, not just the steps 43 – 61 (or whatever lines up in your script). Having things on a screen by screen basis allows you can just run the specific ones.