Learning by failing

För en tid sedan testade jag en funktion för att publicera och läsa annonser. En ganska ordinär funktion. Ett formulär för att skapa annonser, en sida för att hantera/administrera dem och en sida för att läsa, sök och filtrera bland skapade annonser.

Efter lite buggrättningar och fixar publicerades funktionen i testmiljön och såg ut att fungera som förväntat. Annonser kunde skapas och läsas, updateras och raderas utan problem. En funktion tog några timmars testande och sedan var det dags att gå vidare.

Jag hade missat en grej.

Dagen efter mina tester var samtliga annonser borta. Ingen hade rört något förutom en ’någon’; webcrawlern.
Det visade sig att länken på administrationssidan för att radera en annons var just en länk, webcrawlern är programmerad att följa länkar.

Vad jag missade i mina tester var ett livstidstest; vilka faktorer kommer att påverka annonsen under hela dess livstid?
Nu kanske jag har lärt mig.

A while ago I tested a feature to create, publish and read ads. Standard feature. A form for creating the ad, a page for administration and a page for reading and filtering the created ads.

After the regular bugfixes and hassle the feature was published in our test environment and seemed to be working fine, as expected. Ads were created and could be read with no problem. The feature took a few hours of testing before it was time to move on.

I had missed one thing.

The day after my tests, all ads had vanished. Noone had done anything except for this one guy; webcrawler.
It turned out that the link on the administrationpage to delete an ad was just that, a link. Webcrawlers are programmed to follow links.

So what I did miss in my testing was a lifetime test; which factors will affect the ad during it’s entire life span?
Now I might just have learned something.