When not writing unit tests affects people's lives.
This evening I was doing my bills. It’s something that I do right after I get my check. I get paid 2 times a month and therefore, shortly after the first of the month I pay bills and shortly after the 15th of the month… I pay bills. I also make enough money that I am never late on my payments. EVER. That is until tonight…
So, tonight I log into my banking software, because like every self respecting geek I use the internet to do all of my banking. From there I balance my checkbook, pay my bills, and manage my home loans. I have a few accounts with the same bank and on there I have a due date and an amount due. When it’s time to make a payment, it tells me. If there’s no payment expected the value of the “due date” is “N/A”.
Now, I ofter try to pay down my credit card debt so it is not unreasonable to not have a minimum payment every month. This month is says “due date: N/A”. So I think. great, I can catch up on it. No minimum payment is due.
Turns out, through some bug in thier system, I did have a minimum payment and it was PAST DUE! Which means that now I’m being charged a service fee and it’s possible that I will lose my good APR for the consolidated credit line.
This is completely unacceptable. In this day and age, if you can’t write a simple test that tests to see if you get an expected date back from an account then you should give up as a developer. This is a simple case where a little fore thought and time to debug your terrible application then I wouldn’t have to go through the hassle and headache of disputing a charge that was CLEARLY not my fault. In fact, if you go to the account today it still says that my due date is N/A. Remember what N/A stands for… not applicable. It does not apply. Well, apparently it does.
So, the next time you’re writing some software, think for a second about the person who has to use it. If you’re in the medical field and you have a method named “is_cancer?” take the 5 minutes it takes to write some fucking tests for it and make sure they pass. My credit is one thing and yes I’m pissed, but it could have and probably will be, a lot worse.
Next time I have someone challenge me on TDD… I’m going to bring this very example to light. And my bank has not heard the last from me. Crappy software from a large bank? You know better, you’ve got the money, hire a dev with some talent, hire a dev with some dignity, hire a dev with honor and respect for his craft. Not some asshat who traps an error that affects people’s lives and returns “N/A”.
So, tonight I log into my banking software, because like every self respecting geek I use the internet to do all of my banking. From there I balance my checkbook, pay my bills, and manage my home loans. I have a few accounts with the same bank and on there I have a due date and an amount due. When it’s time to make a payment, it tells me. If there’s no payment expected the value of the “due date” is “N/A”.
Now, I ofter try to pay down my credit card debt so it is not unreasonable to not have a minimum payment every month. This month is says “due date: N/A”. So I think. great, I can catch up on it. No minimum payment is due.
WRONG
Turns out, through some bug in thier system, I did have a minimum payment and it was PAST DUE! Which means that now I’m being charged a service fee and it’s possible that I will lose my good APR for the consolidated credit line.
This is completely unacceptable. In this day and age, if you can’t write a simple test that tests to see if you get an expected date back from an account then you should give up as a developer. This is a simple case where a little fore thought and time to debug your terrible application then I wouldn’t have to go through the hassle and headache of disputing a charge that was CLEARLY not my fault. In fact, if you go to the account today it still says that my due date is N/A. Remember what N/A stands for… not applicable. It does not apply. Well, apparently it does.
So, the next time you’re writing some software, think for a second about the person who has to use it. If you’re in the medical field and you have a method named “is_cancer?” take the 5 minutes it takes to write some fucking tests for it and make sure they pass. My credit is one thing and yes I’m pissed, but it could have and probably will be, a lot worse.
Next time I have someone challenge me on TDD… I’m going to bring this very example to light. And my bank has not heard the last from me. Crappy software from a large bank? You know better, you’ve got the money, hire a dev with some talent, hire a dev with some dignity, hire a dev with honor and respect for his craft. Not some asshat who traps an error that affects people’s lives and returns “N/A”.
articleStats
Here are some silly little facts about this When not writing unit tests affects people's lives....
It was written by Leon 9 months ago.
It has 2954 letters in it.
It has 518 words in it.
It has a total of 2 comments in all.
So far Leon has the last word!
Obviously your bank has adopted my "Single Test Point Engineering" design philosophy. If it works once...it works!!! That is seriously douchetastic.