Tuesday, October 9, 2018

Developing a Testing Mindset

It has been a busy past year for me. I wrote a compiler, finished a Bachelor's degree, finished an internship, started an internship, finished that internship, and started a full-time job as a developer. I think that was most, if not all, what I have done professionally. I also realized I 'm not a very good tester. I have fallen into the trap that I have laid out in previous posts. I have become a developer who leans way to heavily on the SQA's to test my stories.

I first realized this was happening when I was writing a compiler and was responsible to do all my own testing. I quickly found out I had forgotten a lot of what I had learned when I was a tester. So I started to rediscover my testing 'skill'. This of course would have been fine and dandy had I not forgotten it again when I started my internship as a developer. I fell back into that same mindset of "I'll let the tester test" and I didn't even write my own unit tests...for shame. 😓 It was brought to my attention because of a code review I was doing with another developer who strongly suggested I write some tests to go with what I had just written. At that time I realized what I had done and made a course correction to start testing (including writing all tests that needed to be written to improve test coverage). 

I was thinking about these experiences and what led me to 'forgetting' or ignoring the testing side of being a developer, especially when I had been one of the strongest proponents of developers testing their work before giving it to the SQA's to tear it apart.
I realized it was laziness.

It was a laziness and lack of pride in my work. I was not passionate about what I was doing, I was just going through the motions and therefore did not care about my code or testing it.

It was a realization that I should be passionate about everything I do and every bit of code I write that has kept me from forgetting to test.
It is such an easy thing to do but yet so difficult to keep the mindset of everything I do I should do to the best of my ability. When your writing code this means including to test it thoroughly.