Testing with time variable is fun!

Prague astronomical clock

Time is important variable that must be taken into account during software testing. In this post I will provide two examples how time influenced my software testing.

First influence was basic time lapse. I wrote test automation script for forgot password process. Script accessed email provider through the api in order to get email. And it worked for some time. And then it stopped working. There was no any change in application code for that feature. If you raise statement: "But previously that worked!" know that time variable kicked in. As application had not changed, I started to investigate testing environment changes.

I got message that username or password is wrong. But I was able to login in to email provider using those credentials. Error message had error code, and by searching for that error code I found out that there could be several reasons for the error.  And my reason was that I was checking email above the allowed frequency threshold. Email provider changed that threshold from the moment when I wrote the script for the first time.

Second influence was time zone. My client has "heavy" Javascript UI application. It also has feature that depends on time range. And that feature returned different results for same date range on my development machine than on my client machine. My first heuristic was to investigate different browsers, but browser vendor was not the cause.

I had on my disposal Windows virtual machine in client's time zone, and using Chrome on that machine I got same result as my client.  Using Javascript console and following code snippet:

I got information about browser time zone settings.

While you are investigating what could be cause of issue that you have found, do not forget time variable. You will definitely have fun during that investigation!

This blog post appeared first time on zagorskisoftwaretester blog.