Skip to main content

Conflicting Information

In this blog post I will be talking about testing and conflicting information. Now I am a new Mac user and whilst I was playing around with my new toy a while ago I wanted to see how much storage I had left available. So I went into 'About this Mac' and bought up the storage dialogue box. 

Can you see spot any issues...........?











Now, I did not notice the issues when I first looked at the dialog box as my eye was drawn to the text that stated how much space I had left. I thought "Great,  I have loads of space left" as I had over 140 GB of space left. I then had a closer look........

You will notice that the total amount of space I have left is 140.41 GB but the white space in the space bar (which represents free space) looks a little too short to represent 140.41 GB. Also it states that I have 249.78 GB of space in total but the disk icon text states that I have 251 GB of flash storage. 

All of this tells me that there is some conflicting information being displayed and how do I know which one is correct? Maybe they are both incorrect. 


 As testers we can do a few things when we find conflicting information.
  • Find out if the conflicting information is an issue
How do you know this is a problem? Look at and analyse your Oracles and see if any of these will give you an idea as to whether this is an issue or not. Usually (and I'm making an assumption here), when conflicting information is found there will usually be a bug present in the system. I can't think of an example where the same piece of information is represented multiple times with different values is seen as correct. Usually multiple pieces of information that represent the same thing should be consistent and any difference should be investigated. 
  •  Find out what piece of information is correct
Instead of raising an issue stating that the data is conflicting and wrong, digging a little deeper into the data that is wrong can use a useful exercise and can be used by the developer to fix the problem. In my example I could run a third party application that would confirm the actual amount of space that I have left, I could then share this with the developer and this in turn would help then to identify the wrong piece of data. This investigation could potentially take some time and the time spent really should be linked to how severe the effect of the conflicting information is (see below)
  •  Evaluate how severe the effects of the difference could be
How severe is the effect of the data difference? It may not be too much of an issue if the conflicting information is small. So in my example if the difference was say 0.5 MB then this could be seen as not particularly severe. On the other hand a small difference could be very severe. Imagine a medical piece of machinery that gives doses of a drug to a patient at set times every hour. Now If this was tested and the amount that was actually given was different to the amount that was configured to be administered, the consequences could be fatal. So small variances in information does not mean that the conflicting data does not matter.

 We should be alert to conflicting information, although this can be difficult due to the potential subtleness of the difference and also we need to be aware of how severe this difference could be, so like most things testing, it is all about context.

If you have any thoughts on this please feel free to comment. 


Comments

Popular posts from this blog

Testing and Mindfulness

How aware are you? Do you live in the here and now or is your mind always somewhere else? This blog post is about Mindfulness. Mindfulness is a simple meditation and is defined as (According to Wikipedia): "The intentional, accepting and non-judgemental focus of one's attention on the emotions, thoughts and sensations occurring in the present moment" Now Mindfulness has become more popular in the west in recent years as it has shown to have benefits for people who are suffering from Depression and Anxiety. It has been around for a while and is often thought to of originated from Buddhism and some people believe it started thousands of years ago. Now modern life is hectic and I’m sure we all have lots of things going on in our lives that keep our Brains busy and trying to focus on one thing at a time can be a challenge. I can't remember the number of times I've been doing something and my mind is somewhere else entirely. Mindfuln...

How to deal with pauses and timeouts in specflow

So this blogpost is in response to the weekly Specflow blog posts and challenges that have been written by Gojko Adzic. This weeks challenge was how would you rewrite or rephrase the below scenario: Given a user registers successfully When the account page reloads And the user waits 2 seconds Then the account page displays "Account approved" My initial though was something like this: Given a user registers successfully  When the account page reloads   Then the account page is displayed within a satisfactory time period     And the account page displays "Account Approved" Now the problem with this scenario is what defines a satisfactory time? You could add it as a comment or in a scenario outline but over time the time a user waits could change and if this is updated in the code behind but the scenario outline or comments are not, then what the test does and what is described do not match - this would potentially cause issues in the future. My next ide...

How to deal with external data formats?

This blog post is in response to Challenge 7 of the #GivenWhenThenWithStyle blog post series with Gojko Adzic  You can see what the challenge is here: https://specflow.org/blog/how-to-deal-with-external-data-formats-givenwhenthenwithstyle/ Having the message format in the test would  (as mentioned in the challenge) look terrible and would be difficult to understand.  If I was to rewrite this scenario I would do something like the following: 1) Write a test that tests the validity of the payment message. So something like Scenario : payment message validity Given an account EE382200221020145685 has a balance When the system receives a payment message Then the payment message is valid.  I would store the actual payment message in another file as not to clutter the scenario file and this message would be passed into the test in the When line. The Then part of the test could cover various areas, such as: - All the correct tags are present  - The xml is valid 2) I wo...