On Software Testing and Quality Assurance : Letter to Self
(photo by Cierpki)
After weeks of software quality assurance course, it scares me how many software teams I’ve been in the past that don’t do some, or even most, of the testing and QA basics that I learned in this course.
Finally, it’s the last week of the course and I’m going back to the professional world soon. So, this is a letter that I address to myself weeks, months, or years from now. Now I maybe supercharged with what I’ve learned in class, about regression testing, automated test cases, boundary value analysis, metrics, and so on.
But as time passes by, as the pressure of completing projects come, as the lazy devil tempted me to not write unit testing (oh wait, I can blame the devil), and of course as my memory started to fail me about what I learned in this course, I might not do any of the QA practices.
So this is the reminder for “that” me. Never give up what’s right for a short-time gain. You are better than this, you have the discipline to overcome the temptation, review the SQA lessons and blog posts you have written when you believed that a good quality software requires various measures but they are worth the price.
The following is the list of some of the most important principles:
1. Automate Testing
This will require time investment up-front, but it will pay back a lot more over time. See the automation post for more detail.
2. Track Defects
Defects that aren’t recorded, aren’t likely to be fixed. See trac review for a bug tracking example.
3. Documenting is not evil
Overdocumenting is, and also underdocumenting. Document what’s necessary and I guarantee the quality of of your software is greatly increased.
4. Proper testing is not an ad-hoc activity
Most organization don’t plan their testing and quality assurance process, and they wonder why their project runs badly. What a surprise!
5. Testers are developers’ partners to produce high quality software
Unlike what I thought earlier, software QA and QC process are not easy. Appreciate the QA team as your equal partners, developers aren’t in higher class.
Few years from now I’m sure a lot of things have changed. Software language and tools come and go, but some principles stay the same. So to you, “future” me, never forget all these principles of software quality assurance that you have learned.
June 21, 2012