Problem solving approaches for smart QA
Is testing bounded? Testing seems like an activity whose outcome is definitive i.e., PASS or FAIL. Seems right? Hmmm, if expectations, specifications, intentions were clear then definitive outcomes i.e., met/not-met seems fair. What if that is not true i.e. specifications/expectations are vague/fuzzy, not stated, is not complete, or discovered/fine-tuned on the fly? Systems are complex & therefore testing too A software system is not a just collection of discrete parts/features
Smart checklists make you think
The power of checklists in other disciplines In other mature disciplines like medicine, aviation, construction where the impact of simple defects is enormous, it is smart checklists that have come to the rescue and saved millions of dollars and saved many lives. The Checklist Manifesto by Atul Gawande, a surgeon, extols the power of checklist. He states that any problem can be categorised into simple, complex and complicated, and how
LEAN: It is not doing more, it is about doing less
So, what should be really happening in Agile context? Lean thinking is what inspired the Agile movement. Lean is about not producing waste in the first place. It is doing things ‘clean’ at at the first place, so that waste is ideally not there. Waste in software context are bugs. And in the early stages there are ‘unit bugs’. Since our focus in Agile is to find these earlier and
What is expected of code quality from developers?
Unit testing? Dev testing is a better term The definition of what an unit is most often unclear and therefore unit testing more misunderstood. Martin Fowler in his blog Unit Test states “It’s very ill-defined, and I see confusion can often occur when people think that it’s more tightly defined than it actually is “. So let us use the term “Dev test” to state the early validation by developers
Poor quality code is due to compromised “Unit Testing”
The problem at large The quality of early stage code is felt to be a concern by many engineering managers that I talk to. In my numerous consulting assignments, I have noticed that many issues found by QA folks seem to be ones that do not require the expertise of a specialist tester, compromising the effectiveness of ‘system test’ resulting in avoidable customer issues. Great quality code is not the
Is regression hindering your progression?
“It took a few hours to incorporate the change but took a few days to test, upsetting the customer. Why? Well, we found out that our QA team was doing too much regression. Wish we could be smarter” – Engineering Manager of a mid-sized IT company. Have you ever felt this way? Have you wished if you do less regression to release faster? In the current world of rapid development,