Skip to main content

Twas the night before Christmas and testers were testing....

With Christmas upon us, I thought it might be good to write a Christmas themed testing article.  How could you achieve that you are probably asking? You might be of the opinion that working in IT and Christmas are 2 entirely different things, but I’m not sure I’d agree with that, so I would like to compare the build up to Christmas as a parent and how it compares to the build up to a release of a piece of software, and the similarities between the two.

Firstly, for any release of a product, or any Christmas purchasing has occurred, as a tester or as a parent, you like to know what the business or the children want, for the software release this will come in the form of requirements and in the form of children, this will probably be a nicely written letter to Santa! 
Childs letter to Santa/Requirements for a User Story... 
both want the world, but neither will get it.

You could argue that both will have holes in them, and missing requirements, or gifts that are probably not really practical, like a pony for instance! It’s then down to the team to drill down and find out about the missing requirements, or for the pony, well it’s probably best to set expectations for the child…. Children and Product Owners can be very similar, they will want the world, but it’s up to you as a team to manage their expectations! They will also both want it to be delivered early, whether that’s giving them their presents early or delivering the software as early as possible! Obviously this isn't practical, especially for the presents! Although, release dates can be brought forward, in that case items may be descoped due to time constraints.

Once you've gathered the requirements, the next step is planning on how you’ll test it, or in the case of Christmas, plan on a) how you’re going to afford it all and b) when you’re going to buy it! With regards to the tester with the software, it’ll be a case of analyzing the requirements and coming up with appropriate test cases based on the testing strategy that they are following for the project. If the team feel they can not commit to delivering the software by a certain date, they might speak to the Product Owner and explain why, and then some features might get descoped for a future release, similarly, if the parents feel they can’t afford to purchase everything on the list, then some items will get “descoped” for a future celebration, like a birthday etc.

As the Release/Christmas day gets closer, the planning and execution is in full swing, testers are testing the software and raising bugs, parents are wrapping presents, buying presents, decorating the house and ensuring that no presents are missing that they wanted to get! Teams are getting anxious to release their software and see it in live, parents are getting anxious to see their kids faces when they open their presents.

Regression testing and Christmas Eve are very similar, they’re often very stressful (ensuring no late bugs are found and the release plan is prepared, or ensuring that all presents are wrapped and Father Christmas has been to put the presents under the tree), but hopefully it all goes without a hitch, and the software is ready to go into live and the presents are ready to be unwrapped under the tree!

So, the end is sight, often where I've worked we've done overnight releases due to the high volume of traffic and infrastructure restraints, so I’ve often struggled to go to sleep before a release, and as a Parent, I will no doubt struggle to sleep this Christmas eve, in preparation of an awesome Christmas morning for my family. So in that way, they are similar.

Obviously, they are different, for instance I’m yet to meet anyone who has had to rollback Christmas, I’m sure there have been threats to naughty kids on Christmas morning! But I doubt anyone has actually had to follow through, but we all know rollback of releases are something that can happen unfortunately, no matter how well you plan for something like a software release things can cause issues in live. Also, as I mentioned earlier, Christmas does not change it’s date for anyone, except maybe Jesus, but release dates can and will change. Christmas is probably more waterfall than agile, but it’s an interesting concept.

I love Christmas, and I also love testing, for what I initially would have thought for different reasons, but after writing this article, there are similarities that I otherwise wouldn't have thought of. For instance, I love seeing the face on my son, and will love to see the face on my daughter when she’s older, just like I love seeing something I have worked on make it’s way to live and be used by people in the “real world”. I am good at managing people's expectations, if we promise the world at Christmas or for a piece of software, when it comes to implementation, then people will be disappointed.  I love planning on how best to test things, just like I love buying gifts for my family and children.

So, here's an early Happy Christmas, may your Christmas be as successful as your well tested and well planned releases!!!


  1. Torrentsformac
    A free download hub to activate, crack your softwares for windows and you mac. you can download keygen, generator and activators to crack your desired Final Cut Pro X Crack With Activation Key

  2. I absolutely love your blog and find many of your post's to be just what I'm looking for. Does one offer guest writers to write content for yourself? I wouldn't mind writing a post or elaborating on a number of the subjects you write regarding here. Again, awesome web log!designer door handles

  3. Does your website have a contact page? I'm having problems locating it but, I'd like to send you an e-mail. I've got some ideas for your blog you might be interested in hearing. Either way, great website and I look forward to seeing it expand over time.Decision Support And Business Intelligence Turban test bank & solutions manual

  4. A great post , i will definitely share it across my other network best budget hotel in georgetown


Post a Comment

Popular posts from this blog

Advantages of using Test Management tools

Before I start talking about test management tools, let me clarify what I mean by the term test Management tools...  I am not taking about your office excel program where you store your test cases in. I'm talking about bespoke test Management tools, your quality centers or Microsoft test manager...
In the strict case of the term test Management tool, Microsoft Excel can be used as such, but heck, so could a notepad if used in the right way... For the sake of this blog post I am talking about bespoke test Management tools.
Firstly, what test tools are out there? There are many more out there today than when I first started in QA over 5 years ago. When I started the market was primarily dominated by a tool called Quality Center, this would run in a browser (only Ie unfortunately) and was hosted on a server.. Nowadays it's market share has somewhat dwindled, and there are some new kids on the block. 
One of the more popular tools is that of Microsoft Test Manager, it's big…

What is a PBI?

After my last post, I had the question of what is a PBI... so I thought i'd write a short blog post about what they are and why they are used.

A PBI is an acronym for Product Backlog Item. It is a description of a piece of work that your SCRUM team will develop and deliver. When you have a list of Product Backlog Items, you then refer to that collective list as a Product Backlog.

The product backlog is often prioritised and yourteam will work through each PBI, and release on a regular schedule... I am however going deep into the world of Agile development, which isn't entirely what this post is about, so I will stop myself now.

A Product Backlog Item is made up of the following:

Title - This is often a one liner that gives the team an idea of what the PBI is about, although it can just be an ID for the item and the team work off of that.

Description - Breaks down the PBI in a bit more detail, and can be written in any style, however I prefer it to be written as follows: 

By writin…

Dealing with Selenium WebDriver Driver.Quit crashes (Where chromedriver.exe is left open)

We recently came across a problem with Selenium not quitting the webdriver and this would then lock a file that was needed on the build server to run the builds.

We were using Driver.Quit() but this sometimes failed and would leave chromedriver.exe running. I looked around and found this was a common issue that many people were having. We (I say we, as we came to the solution through paired programming), came up with the following, that would encapsulate the driver.quit inside a task and if this task takes longer than 10 seconds, then it will clean up any processes started by the current process, in the case of the issue on the build server, it would kill any process started by Nunit.

        public static void AfterTestRun()
            var nativeDriverQuit = Task.Factory.StartNew(() => Driver.Quit());
            if (!nativeDriverQuit.Wait(TimeSpan.FromSeconds(10)))

        private s…