What does “Testing” *actually* mean to you?

“QA testers do not provide assurance; they help provide analysis and feedback.” (•)
Ask yourself the following — 
• Does your team believe this?
• Internalize this?
• Do they all implicitly have tests with each of their commits?
• Do they care about code-coverage?
• Are the tests explicating quality?
Testing, and QA, are not just about checking functionality — they are about embedding quality in your system, in your processes, and in your maintainability. To summarize, you should
  • • Test throughout the process not only at the end : Test early, test often, and start testing as early in the development process as you can
  • • Build maintainability (and quality!) into the code : Looking for places you didn’t meet the specs is a never-ending task. Instead, write for fault-tolerance/reliability, and then find bugs where you weren’t reliable
  • • Understandability of your code-base is vital — test for it : Oh, you may know what it does, but do your colleagues? The new people you hire? What if you get hit by a bus? Validate your assumptions about this!
  • • Your developers are responsible for the code (and the bugs), not the testers : Align responsibility here — if you built it, you own it , and the testers are here to provide analysis and feedback of your code.
The bottom line is that shared ownership by the entire team, through the lifecycle of the development process, results in higher quality.
(•) Theresa Neale here. She has some excellent talks on QA and Testing, check them out!

Comments

Popular posts from this blog

Erlang, Binaries, and Garbage Collection (Sigh)

Spot The Difference — Deep Learning Edition