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

Coding something simple.... or not! Taking a screenshot on error using Selenium WebDriver

I recently wrote a little function that takes a screenshot at the end of a test if it has errored. What sounded very simple at the start turned out to be quite a bit of work, and quite a few lines of code to handle certain scenarios! It's now over 50 lines of code! I'll start with what I had at the beginning, this was to simply take a screenshot in the working directory, we are using SpecFlow and Selenium to run the tests, so we are going to check if the ScenarioContext.Current.TestError isn't null, if it is, then using Selenium, take a screenshot (note the below code is a simplified version of what I had at the beginning). [AfterScenario]         public static void TakeScreenShotOnError()         {             if (ScenarioContext.Current.TestError == null) return;             var screenshotDriver = Driver as ITakesScreenshot;             if (screenshotD...

How to manage resources within new teams?

Working where I work we are constantly spinning up new teams to take on new workloads as business come up with new demands and new features they want developed and tested. The problem with this is how do we ensure the work of the newly spun up team is of sufficient quality. One method is by taking people from other established teams and placing them on the new team. This works great for the new team, but unfortunately it will oftenl eave the established team lacking in a resource whilst they try and fill the gap left by the person who has left. We are seeing this often with our offshore teams, it can be damaging to the team structure and the teams velocity, but try as I might, I can't think of another way around it. It's far easier to take 1 person from a team that is established than it is to build a whole new team from scratch. At least by leaving the core of a team in place, you should be guaranteeing that the new team are aware of any coding standards or any QA standard...

Considerations when creating automated tests

We recently released to a number of teams our automated regression pack that has been worked on over the past few months. This regression pack tests legacy code, but contains a large number of tests.  As a bit of background, a number of teams are working on new solutions whilst some are still working on legacy code. With this in mind we constructed an email with a list of guidelines when creating new tests that need to be added to this regression pack.  I figured that these can be quite broad so should apply for any organisation, so thought it would make an interesting blog post...  So here goes,  when creating automated tests, it's important to consider and adhere to the following: - Think about data . The tests need to retrieve or set the data they need without any manual intervention - This should help them be more robust and easier to run without manual intervention. - The tests need to be idempotent - By making it so that each test is standalone and does...