I respectfully disagree. You can't codify aesthetics or usability, and even if you could, the return on investment would be abysmal.
I respectfully disagree. You can't codify aesthetics or usability, and even if you could, the return on investment would be abysmal.
Codify huge swathes of it, though? Absolutely. Assert that correct fonts and font sizes are used. Assert that color schemes are correctly followed, or that certain widgets always have attached desirable behaviors, assert that all widgets have keyboard shortcuts, assert that those keyboard shortcuts are coherent (CTRL-F is not assigned to three actions), assert that using the keyboard shortcut has the same behavior as whatever it is the shortcut to, assert that automated validation of appropriate accessibility guidelines hold (ie, for web interfaces assert that a Bobby run over your interface holds no surprises), and so on.
Sure, you can't "automate usability" but if you just give up at that point you'll miss out on a lot of things you can automate... or could automate if GUIs let you, getting back to my original point.
Is there some way to write a test that determines whether my page renders correctly on Firefox, Chrome, Safari, IE 6, IE 7, IE 8, and Opera? If so, please show me the way.
In web development, these sorts of things end up being a large percentage of bugs filed in FogBugz, and there's no way to test for them but to have someone look at the page and make sure.
More than half of that list is already automated.