Web apps have proven to be a solid foundation for many tasks that were reserved for 'serious' desktop apps not that long ago. Their complexity grows rapidly making codebase hard to grasp. Errors during implementation are inevitable (at least for us - humans ;) ). As application grows, probability of unwanted effects and regression is becoming a real issue that can ruin project in a long term. Furthermore, development cycle that does not give immediate feedback to development team about effects of changes on the application behavior makes them unaware of the real effects of their code modifications. As if this was not enough, web developers need to live in an ecosystem of diversified browsers on which their app might be used.
Solutions to such problems are available to the public as an open source projects. Selenium has been created to imitate real user behavior as closely as possible. Creating integration tests as a part of development process is really fun as it's basically writing code in your favorite language.
During my talk I will show the optimal development cycle for rich user interface apps, the difference between unit and integration tests, how to start your first cross-browser test with Node, talk about best practices, show both pros and cons, present handful Node tools that will make creating tests even easier, share some tips that will make you tests rock and make a little sneak peak into the future of test automation!