“Test Infected” or “Thinking like a QA tester”…
I’m making an attempt to introduce Selenium into the development cycle. With that said, a fellow programmer mentioned that he’s been “thinking more and more like a QA tester”. I believe his comment is spot on in terms of how testing toolkits change the development thought process. No more are we simply “fixing the bug”, but we’re now spending more thought cycles making an attempt to keep the story from coming BACK from QA. This is clutch. Recognizing that time is wasted moving story cards back and forth from stages in the agile development cycle. Eric Gamma mentions “Test Infected” programmers as those who cannot begin coding without a test in place. I’ll admit, we’re using Selenium AFTER writing code, but I’m hopeful we’re not far from becoming, well – infected.
My point is that velocity isn’t necessarily about coding quickly, but is more about minimizing defects and keeping closed story cards — closed. Again, tighten the feedback loop.
JS Execution Speed
We recently ran into a timing issue with IE6 where we were programmatically setting ’selectedIndex’ after onLoad had completed. Essentially, at least IMO, the JS engine was calling the browser’s native methods to render the select index change, BUT – the JS was executing too fast. That is, the C++ was not completing before the next JS line attempted to set the following select’s index, and we encountered some UI lock. I’m not really sure what’s under the hood of IE6, but I imagine there’s some kind of semaphore-like action happening to prevent the UI thread from clobbering itself.Either way, this article saved the day:
While we didn’t follow this article verbatim, it was very helpful when staring this IE ‘WTF-ery’ between the eyes.