Tuesday, 9 September 2008

the bones of a good (web) app


When testing a web application, there are a number of 'basic' things a web app should always have. If I can come up with them as a tester, why don't developers put these in the bare bones right at the start? Or should application frameworks have them in place already, so they can just extend and pretty them up? It's pretty rare a web app won't need to implement or consider the items below:

My list:
- Good error pages (http 404 and 500 pages as a start)
- Sensible logging (exceptions, user interactions etc for walking back through a user action to find a problem)
- A good exception handling process to make the two items above useful! ie dealing with bad underlying data, bad user input, bad submissions etc - and giving enough info to the end user and any automated support processes, so the error can be quickly tracked down and rectified
- An 'about' page or footer with the deployment and/or versioning details (turn off in prod if ya want via a config file)
- Standard layouts for forms and data tables
- Some kind of standard CRUD functionality
- Validation schemes (both client side AND server side for when the client side fails!)
- Configuration files that store screen labels and messages (for easy localization and application-wide consistency)
- Page analytics - great for usability studies to follow paths through sites, and see how the users interact with the application (if done right, a LOT of info can be gleaned from even basic analytics packages), and just seeing who and what users are up to, EVEN in a intranet/enterprise app

Anyone got anything I've missed?

No comments:

Post a Comment