Name for this post is inspired with one of the best known William Shakespeare lines from Richard III play. In this post I will describe issue that I had while I was testing ETL procedure.
ETL procedure is Microsoft Windows command line application. It has a number of command line parameters. I was testing one of the command line options, and ETL tool reported error that it can not connect to the database using provided username and password. Using previous build, I was able to connect to the database using those credentials.
I had access to version control system (Microsoft Team Foundation System), so I decided to research what changed in source code for ETL procedure in latest commit. I was able to quickly identify what caused the issue. New code was trying to connect to database that was not created yet. This is typical variable initial state issue (you can find out more about that topic in BBST Test design course, lecture 2). So proper error should be: “Unable to connect to none existing database”.
What are effects of this issue?
Imagine that you work for DevOps Google team. New code push introduced this issue. You do not have access to source code. You need to know the real cause of this issue immediately in order to write credible bug report. Downtime is very expensive for Google applications.