Testing web applications is a nightmare, even simple postback sites. Ajax adds another level of complexity. Very interesting topic and certainly one to watch as applications get more complex. Load testing is another tricky area, the main issue there being able to emulate user behaviour and getting the required level of diversity into the tests, without having to spend more time creating test cases than you did coding the thing in the first place. Things like database query caching make this even more complex, as to properly test you need to ensure you are generating as many query permutations as possible. A nice solution would be have a listener on your webapp to capture real user interaction from beta tests, then use that data to emulate larger numbers for load testing.