I’ve been out to a couple of unconferences (with varying values of “un”) in the last month. Citconf (Continuous Integration and Testing conference) was well and truly in the unconference style with audience created topics and discussions covering mostly testing topics with a few extra things such as bee-keeping.
I started the day with a session I proposed and co-facilitated on Behaviour Driven Development (BDD) and Acceptance Testing. We covered a good amount of ground on the troubles getting people into the BDD mindset and appropriate acceptance tests.
Our discussion turned towards some particularly tricky problem banks were having with acceptance tests on their larger system towards the end which surprised me but was an interesting discussion of BDD at scale. The discussion reminded me how grateful I am for the tools available in Ruby that make testing so much easier than it is for people in the Java world.
We had an eye-opening session on the limits of testing and the use of skilled testers in the testing process. The difference of opinion between the people from smaller outfits vs the large banks was quite dramatic with the smaller outfits being much happier to move quickly with as light a testing overhead as possible whilst the banks had large test teams dedicated to going through the applications at length.
Interestingly, the dedicated testers had a very poor opinion of the testing abilities of developers, I wonder is partly due to developers being more relaxed in their coding when they know there is going to be a high level of dedicated testing around to pick up the errors or if it is simply that organisations that are concerned enough about testing to hire testers happen to be those that require a more bug-free approach than the normal small organisation that can react quickly to issues.
The final talk of the day was Nigel McNie talking about his start-up’s use of continuous deployment. He’d put a lot of effort in the implementation at his start-up and was able to build on a lot of stuff with practical examples of how he implemented it. Eric Ries had talked about continuous deployment at Webstock this year and Nigel’s examples made it seem significantly more realistic than Ries’s mention of it.
By using feature flags that go around code that is related to that feature Nigel can have a test suite that tests both states of the flag and if the tests pass the code goes straight to live. So every feature that he has developed so far has made its way onto the server in a latent state, when he wants something to go live he just changes the variable or it can just be set to a time. If issues occur in the site his time to fix is very low as he does not have to wait for deploys or releases and relies on a comprehensive set of automated tests to cover for him.
Overall Citconf was both useful in terms of technical things that I’ve taken away from it and very interesting in terms of meeting the dedicated testers who are present at so many organisations but don’t seem to come to the conferences or events that I do.
Some wiki entries from the conference.
More information on some of testing and CI tools we use at 3months:
- Behaviour Driven Development (BDD) – Cucumber & RSpec
- Continuous Integration (CI) – Cruise Control