Creative Application Testing

Be Inconsistent

Application testing can help improve quality. Many types of application testing have been defined such as: unit testing, QA, regression testing. The problem is that they are too structured, and test for known actions, and inputs. To really give an application a work out you either need a large test base, or creative developers and testers. Creative testing should not be about testing for quality, it should be about trying to break the application.

Most developers will treat the application as there baby, and hand craft the inputs when they test, becuase they want it to work. This is the worst way to test, if you are testing, design your testing strategy to break it every time. This is becuase users will input what they think is needed, and have no idea about what parameters your function uses. If the test is nothing like the real world then it’s useless. Any test that is not useful is not worth doing.

If your application is going to have a general audience such as the Internet, then it must be ready for everything. Almost none of them will be a developer (in most cases). So if your application breaks, you probably just got punked by a soccer mom. If this sounds like a problem you are having, then you need to re-evaluate your testing strategy.

Examples of creative testing:

Start Acting

As developers we have our own outlook, this includes testing. The acting approach to application testing is when you act like a certain type of user. It definitely helps to have seen the desired behavior model actually using a computer. An example of this is act like your grandpa, forget where buttons are. Squint your eyes so everything is a little blurry. Pretend to be impatient, and click links buttons multiple times, don’t wait.

Hack the Site

Go after the security, go after everything. Tamper with the form fields, use artificial posts. Use the query strings to go after non privileged data. Try to take the website down with just a browser. Don’t just kick the tires, try to pick the locks. By testing the security, and going beyond standard QA tests, you are finding out what errors happen when things are missing. You will find out where you need more error handling, and input validation.

Go Crazy

Click things at random, click everything, click it twice, don’t go in with a plan. Encounter a form, enter what every you feel like. Do this on administrative screens. Does it break? Does the data remain valid? Find out if it can withstand random data entry, and mouse clicks. What happens when I enter ‘%^! _\n*%^Tjafasd’ for the first name field. Do anything, but follow the logical flow of clicks.

Unplug your mouse or keyboard.

Can you navigate the site with only one of the input devices at the time. Do you have text links or is your navigation ok for use with keyboard. Do you require text input to get places. You will find out if your site is mouse heavy, or keyboard heavy very quickly. This gives you a sense of how your software will perform to users who may have limited support for one or the other.

Be Lazy

Some users may cross every ‘t’ and dot every ‘i’, and others goal may be to do as little as possible, but still get done with your application. It may ruin your planned workflow, but if something can be skipped it will. Leave things out, take shortcuts. Look for ways to cheat doing work on your application. See what happens if you forget step 2 in your complex widget creation routine.

Post a Comment

Your email is never shared. Required fields are marked *

*
*
Profile Picture

About Ian Lintner


I am a software developer, mostly web,  in Des Moines, Iowa. I take a very opinionated stand concerning development, you will never regret a simple design or architecture. My education was at Drake University in Biology and Computer Science. Offline I am recently married to my wife Heather. I try my hand at many hobbies currently I am gardening till the snow comes in.



My Current Projects


Des Moines Twitter Trends