Skip to main content

Using bugs to your advantage....

Over Christmas I had the pleasure of taking my son to see Santa Claus, however unfortunately it gets rather busy if you don't prebook online, we decided in the morning on a Saturday, that we'd take him to see Santa that afternoon, so decided to look online to book to avoid the queues.

So I logged on, and went to book online, however unfortunately it would only allow you to book for the next day and you couldn't book for the same day, as it wasn't selectable in the drop-down. 

Luckily for me, I selected tomorrow and went to confirm in case we decided to go tomorrow, I happened to have a look at the URL that it generated, sure enough the date was in the URL, so I changed the date in the URL to today and it managed to take me to a confirmation page with a confirmation number confirming my appointment for today! :) Finley will be pleased, and so would mummy and daddy at not having to wait in the queue.

So we got to Santas Grotto, and sure enough the queue was massive, my wife was still sceptical that it would work, but I assured her that it would be fine, however unfortunately I realised why they didn't let you book for the same day, they must print out the online bookings first thing in the morning, there was no record of our booking in their printout, but I showed them the confirmation, and after some puzzled looks they let us through :)

Looking back now, I should have let them know (after I went of course) that I'd found a bug in their system, which whilst small, and not really affecting their users, it did allow me to jump the queue, I don't feel bad about it though, as Finley was extremely happy to see Santa, though he wasn't sure about him at first! 

I guess the moral of this story, is that a testers brain never changes, always looking for ways to break the system, even when not at work! Sometimes though, this can be to your advantage... :)

Comments

Popular posts from this blog

Treating Test Code as Production Code

It's important when writing automated tests to remember that the code you write should be up to production standards, meaning any conventions that you have in place should be adhered to and that it should follow good design patterns. Too many people often say why does it have to be as good as production code, it's "Only" a test, so long as it passes then that's fine... To answer this we need to look at why we want our tests to be written in such a structured and efficient manner: - Maintainability - by making the test code structured and efficient, it becomes far easier to maintain and in doing so changes in the future can happen quickly as the test isn't linked to anything that it shouldn't be and it's easy to understand for a new set of eyes. - Durability - Again by making the tests structured they should be resistant to changes, if you change a variable name for instance then it shouldn't effect the unit test unless it absolutely has to....

Testers: Be more like a Super-Villain!

Who doesn't love a Super Hero? Talk to my son, and he'll tell you how much he loves them, talk to many adults and they'll say the same! Deep down, we all love to be the Super Hero, we all want to save the day! However, I want to talk about the flip side of Super Heroes, the Super Villains... I often play Imaginext with my son, and I (unfortunately?) am nearly always the Super Villain! Be it Lex Luthor, Joker, Two Face, Mr Freeze or The Riddler! These are all great characters and great Super Villains, but why would I want to write about Super Villains? A while ago where I worked, we had a few Super Heroes, people who would be able to come in and "fix" things that had broken and help deliver projects on time. We then shifted, we decided to do away with the Super Hero culture and try and prevent from being in that position in the first place, whilst we didn't go as far as wanting to hire Super Villains, it's definitely a story that has stuck with me and t...

Using BDD and gherkinising your Acceptance Tests

In my post Testing of Automated tests , I mention about a BDD framework which involves using BDD to drive your acceptance tests. BDD stands for Behaviour Driven Development.  One effective method of writing BDD tests are by using a format known as Gherkin language. These consist of Given, When, Thens. The main advantage of the gherkin language is that it's readable by the business, and in an ideal world forms part of the Conditions of Acceptance around a PBI. Also, using a Visual Studio plugin of SpecFlow , you can integrate your Gherkinised COAs into your solution with feature files, and then drive the automated tests, however, for this post I will focus solely on how to effectively gherkinise your acceptance tests. A Feature file consists of a feature outline, which details what the feature file is testing followed by Scenarios and examples (parameters).  The BDD scenarios are made up of a Given, When, Then... These are effectively an initial state (Given), an action (W...