In this session I will go into details about how we can test drupal with Selenium and what is done in direction of integrating Selenium testing to simpletest framework that we alreay have. Yes, we alreay can run Selenium tests in simpletest sandbox with Firefox!
We will take a look for some examples in order to have some practical knowledge of writing tests.
A brief explanation of how we are using Selenium 2/Webdriver at TheLadders.com to test mobile apps. I start with a brief overview of our setup, then demo Webdriver in action, and close the presentation with a Q&A.
We quickly sample a flavor of many techniques and tools including these topics:
- Using Easyb for BDD flavored acceptance tests
- developer testing using JUnit 4, TestNG, Instinct, Spock and GMock
- writing domain specific testing languages (testing DSLs)
- testing web applications with WebTest, Tellurium, Selenium and WebDriver
- testing RESTful and SOAP flavored web services
- testing databases with DbUnit
- testing rich clients and GUIs with FEST
- performance testing with JMeter
- leveraging AllPairs, All combinations and other testing techniques
- model driven testing
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!