The Project Week 2: Testing, Testing, 1, 2, 3...
[Paul](https://twitter.com/#!/p9r), [Dan](https://twitter.com/#!/danallison) and I have the hit halfway point of the project and after two weeks we’ve been able to crank through three iterations and most of our user stories. So, since things were going so smoothly we decided to mix it up and threw ourselves some curveballs. We know that “[the client](http://www.codeacademy.org/)” is working on another version of the project so we pushed and prodded to find out how we can differentiate our version as well as give ourselves some new technical challenges.
Up to this point our users were forced to proceed through the app as we’d dictated. They would see a screen, and once they added some input, then they could see the next screen. This didn’t seem natural to us so we decided that we wanted to provide *some* guidance for our users but also let them click about willy-nilly if that’s their preference.
Changing up the code actually wasn’t near as challenging as we expected. Thanks to a batch of [Rspec](http://rspec.info/) tests that we wrote we saw one or two things break, but most of the failed tests (after changing the code) had been testing the linear progression that we were no longer using - so it only makes sense that they failed.
The entire switch to a new user experience (that was ready to deploy) probably only took us about an hour, and being able to make a major shift like that with relative ease has been one of the main reasons I’ve been excited to get some testing experience (and a big reason I wanted to jump in on this project). I may even be a little too gung-ho on the testing as sometimes Paul has to hold me back from writing extraneous tests.
We’ve solely been using Rspec for testing thus far, but Dan and Paul have both been cranking on a lot of JavaScript as well, so if we have enough time we’re thinking of diving into some Jasmine to test some of that. However, we decided to throw ourselves one other major curveball (adding an Admin section) so this week we’ll be tackling that plus hopefully getting some real-live user feedback. Who knows, after that feedback we might even decide to totally switch things up again- but now that I’ve seen how much the tests can help out I’m not too worried if we do (knock-on-wood).