Recently I had the requirement to test the behavior of a web application on Chrome, Firefox… and the dreaded Internet Explorer. The team already had automated end-to-end test written in Java using Selenium web driver.
We decided to explore the world of automated cross-browser testing and we were recommended BrowserStack and SauceLabs.
You could have just asked…
But our endeavor was doomed to fail because we were following an anti-pattern. According to the TuTTu mnemonic coined by Mark Winteringham we should ask ourselves whether we are Testing the UI or Testing Through the UI.
Our end-to-end tests were testing through the UI and that’s something not browser dependent. Any decent browser (even IE) should process JavaScript code the same way — according to spec. Testing the UI is what really matters on cross-browser testing. In fact, our exploratory testing found out the web app’s logic was right across the different browsers (thanks to Babel) but we had UI inconsistencies. Our end-to-end tests were not designed to catch those UI issues.
In a sentence, I guess we were using the wrong tool for the wrong job. TuTTu #NeverForget