Not yet registered? Try Yulup with a free account!
Yulup Logo

Why testing is challenging

We would like to illustrate with simple examples why testing is challenging.

Example 1: Special characters

Once upon a time, there was a web page listing all files inside a directory. The last modified date of each file was also displayed. It looked like

2015-04-26T22:56:16+0100

The developer got the task to make this look a bit less cryptic. The developer was very smart and thought "let us make it configurable", e.g. by using generic date and time patterns, e.g.

"EEE, MMM d, ''yy"

which would be interpreted as

Wed, Apr 26, '15

The developer changed the implementation and did some tests and it seemed to work excellent. So far, so good, but you know Murphy's law, don't you?!?

The developer was from Germany and he did the changes during the month of April. In german there is exactly one month of the twelve months that contains a special character, and this is the month March, which is spelled in german 'März'.

Almost eleven months later the web page was broken, because the web page was based on XML and the special character 'ä' was not escaped.

Example 2: Scalability and performance

Once upon a time, there was a web site with a password retrieval functionality. A user could provide an email address and the web site would check whether the email exists and if so, then send a password reminder by email. This functionality was tested with existing and non existing email addresses and it worked very fine.

Once the web site was live, people started to register and everything worked very fine. But after a couple of years the web site started to run out of memory every couple of weeks. From the regular log files it was unclear why this happened and it seemed rather randomly.

It turned out, that malicious bots were sending password retrieval requests and because the password retrieval algorithm did not scale well, the web site was running out of memory every time there were multiple attacks simultaneously.

Example 3: Nesting

Once upon a time, there was a developer refactoring XSLT files by moving common templates into a utility XSLT and including/importing this utility XSLT within the XSLT files from where the templates were removed.

The developer forgot to check whether there might still exist templates with the same name (as the ones which got moved) inside other XSLT files, which of course did ;-) inside an XSLT file which got used very rarely.

Some weeks later this particular XSLT got used and an error occured.


Made with in Zurich:

Yulup
Stockerstrasse 32
8002 Zurich
Switzerland

info@yulup.com


© YEAR Wyona | Contact | Twitter

Yulup Logo