Tuesday, 2 September 2014

while ($hadronCollider = large)

I'll not reveal my sources, just in case... But I was chatting to someone at the weekend who is on placement in CERN as part of their Masters degree.

I was interested to learn that CERN has no testers. Apparently the current process is "if you need some code to do something, then you write it and if it does what you need then you push it out".

Combining this with a high turnover of contractors, students and other short term employees means they have shed loads of undocumented legacy code kicking around and it's starting to cause them problems. They are currently putting new processes like coding standards and peer reviews in place to manage this in the future.

Amazing.  

Although, it's quite nice to know that we're not the only ones that have these problems!

Disclaimer: This may or may not be true for all of CERN. I'm just repeating what I was told. Please don't sue me!

Monday, 14 July 2014

Shall we dispense with the formalities

A number of my friends have recently decided to go it alone and #startup their own companies. None of them are quite big enough to warrant a dedicated tester just yet, but they're still conscious that quality is important. So now and again I get emails like this:
Yo yo yo! Can I draw on your testing expertise and ask any recommended reading materials / quick courses to get familiar with formal testing documentation? I was looking at various Youtube videos of varying quality around IEEE 829 documentation but thought there may be a more focused approach.

Thursday, 22 May 2014

So last night I slept in a cave...

If you're not familiar with the term 'Microadenture' you can do no better than to start on the website of adventurer and Yorkshire lad, Alistair Humphreys.

The idea is that you don't need to spend a fortune and travel hundreds of miles to have an adventure. You pick somewhere close to you, take whatever transport you have and go spend the night under the stars. Nearly everything you need can be bought for a few quid online or in a highstreet camping shop.

So yesterday after work, four of us packed our rucksacks and biked 10miles from our office in the centre of Sheffield to the edge of the Peak district. (This is one of the main reasons I love living in Sheffield!)

After about 90mins of cycling we reached our destination. We had some dinner, watched a spectacular sunset, lit a fire and settled in for the night.

Microadventure - Stanage Cave - May 2014
Google+ Album

Now this isn't my first microadventure. It's something a few of us from work tried last summer and thoroughly enjoyed it so we're continuing the tradition. If it's something that you have never done before I highly recommend you buy a half decent sleeping bag and drag a few mates out into the wilderness. Or even just the outskirts of the city. And if you're anywhere near Sheffield then you're more than welcome to come along on our next one.

Previous microadventure photos also on Google+...

The Most Middle-Class Microadventure. Ever.

Redmires Reservoir Microadventure

Friday, 21 March 2014

Writing Automated Tests? Make sure they fail!

I'm currently adding to the automated test pack that we use to smoke test our LIVE site after a deploy.

It's a LIVE site so we don't know what data is going to be returned and we can't exactly do any data build or importing. So this is just a suite of scenarios that checks some basic functionality without being either constructive or destructive.

I've written a scenario using our wonderful in-house developed test framework, Substeps. It navigates to a public page, searches for a term that DEFINITELY exists and checks that some results are returned. Simple, right?

Well, because I don't know what exact data will be returned, I can't write a verification step for it. So I'm just checking that the containers appear. again, pretty simple because a helpful developer has given them all unique and sensible ID attributes.

The problem here is - it turns out that these particular objects are always on the page. They are just hidden until they are required and populated. So if the search function fails or no results are returned, the final few steps will always return a pass.

With a little bit more digging I did find some IDs that are only generated when the search results are returned.

So the moral is - When you've written a test that passes, nobble it to make sure that it fails! Run it with different data or a couple of steps missing to simulate a failure. While a test that passes is a good thing, a test that always passes is anything but.


[Footnote: Yes, I realise that in this instance I am definitely writing automated checks rather than automated tests. But quite frankly I'm getting sick and tired of that argument so let's just forget about it for now, eh?]

Monday, 13 January 2014

Happy new year! How's the diet going?

So you've decided to give up the beer or detox for January and you're feeling pretty smug about it? You're bragging on Twitter about how many days it's been since you had a drink and moaning to your colleagues about how much you miss chocolate biscuits and coffee.

What did you do this evening? Did you sit on the sofa watching TV with a glass of water and a dry Ryvita®?

Well I took one of these.



Put some of these on it.

Went out here. In the rain and the dark.



Got covered in this.

And loved every minute of it.

And what did I have for lunch today? Fish finger sandwich & chips and a pint of beer. I've just put a pizza in and I might even have a whisky!

So excuse me if I'm feeling a little smug right now.