I’ve often thought of a software application as being like an iceberg. There is information that we know about the iceberg, and much more information that we don’t.
Icebergs are floating pieces of ice that have broken off glaciers and can be found floating all over the worlds oceans. Ice and water have similar densities, so roughly nine-tenths the iceberg will remain hidden beneath the surface of the water. This leads to the popular expression ‘Its just the tip of the iceberg’, an idea we only have a small amount of information available and there is more to be revealed.
Even the areas of the iceberg that we think we know about will constantly change. An iceberg breaks off from a glacier, and then floats further and further away from its initial home. During this time it will melt, changing shape and size and gradually get smaller.
When testing a software application, there are parts of the system that we know about and parts that we don’t. We need Exploratory Testing to discover what we don’t know about the application. We might want to find defects that we didn’t already know about, or we might just want to learn more about the system.
There are areas of an application that are changing. This can cause other seemingly unrelated areas of the application to also change. Test automation can be used to check that the known areas of the system still work as expected. A failed test can alert the team to these changes, so they can take appropriate action.
Improved Monitoring and Risk Mitigation Can Save A Business
Let’s consider the most famous iceberg in history, the one that sunk the Titanic. The iceberg was spotted far too late, and the crew were unable to maneuver the ship so it could avoid hitting it.
In 1912 there was no system in place to monitor and track icebergs. Modern ships have access to powerful search lights and radars that could have easily provided ample warning that the ship was heading directly towards an iceberg. Instead, the Titanic had to rely on warnings sent via wireless transmissions from other ships. There was a crows nest, where the ships lookouts would watch the sea for potential dangers. However, during the Titanic’s maiden voyage, they were not provided with binoculars.
Would additional testing have saved the Titanic? It is very likely, however we must remember a lot of the technology that would have provided an adequate iceberg warning system was not readily available in 1912. In response to the disaster, the International Ice Patrol was established to alert ships travelling between Europe and America of the presence of icebergs.
On the evening of the 14th of April 1912, one of the lookouts spotted an iceberg. The warning came too late and the ship hit the iceberg and sank. Over 1500 people died.
This can be used to describe the situation testing helps us avoid. Testing allows us to identify the risks sooner rather than later, preferably before a major disaster. Testers analyse an application (or in this case the Atlantic Ocean) to identify risks (icebergs) that could impact a users ability to get what they need from the application. Once we know what the risks are, we can help the business mitigate these risks and provide a safer and more reliable user experience.
Assessing Risk Correctly Is Not Easy
Even with plenty of monitoring and testing in place, it is worth remembering the the testers have little control over how the business chooses to use the information that is provided.
The crew of the Titanic were aware of an ice field when travelling across the Atlantic ocean at top speed. Several iceberg warnings were sent out by other ships on the same day that the Titanic hit the iceberg. Pressure to arrive in New York on time meant that these warnings were ignored.
All a tester can do is offer advise about if the software can be released of not. It is up to the business to decide what to do with the information they have been given. Sometimes, the risks when releasing late are greater than the risks when releasing with bugs.
The Iceberg That Sank The Titanic
A documentary about the journey the infamous iceberg would have taken before and after it sunk the Titanic
Key That Could Have Saved The Titanic
A news article announcing the sale of a key to the locker believed to have contained the binoculars. With these binoculars, the iceberg might have been spotted sooner.
This post was created for the Ministry of Testing Bloggers Club. The latest prompt set by the club was ‘Testing is like…’
Click here to read more blog posts inspired by this prompt.