Automated Cross-browser Testing with Node
I started creating first programs during primary school being inspired by older brothers' IT class home assignments. During years I developed bigger and smaller applications in various programming languages, both as a professional assignments and personal pet projects.
I started my professional career by winning a programming competition organized by vehicle tracking company at the collage. I was a lead developer on some startups that turned out to be a huge success in Poland (ankietka.pl is now number one survey system in Poland). I was also a lead front-end developer who created a 'virtual assessment center' system for one of the biggest Polish telecom companies. Not being satisfied with innovativeness of the tasks, I started applying for fully remote positions at startup companies to work on cutting edge projects which could better utilize my skill set.
My higher level goal is to produce efficient solutions to problems (both engineering and business) that really matter and follow good engineering practices at the same time to provide a solid codebase.
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!