At Codurance, our MDs Sandro Mancuso, Mashooq Badar and José Huerta regularly meet for informal chats. Meeting after work, these discussions, where they share their personal insights, form the basis of our Fireside Chats, which you can find on our YouTube Channel.
This time the talk focused on the role of the Quality Assurance (QA) in software development.
The role of the QA
At the start of the conversation Mash highlighted that ‘QA’ needed defining, as for many it could either mean ‘quality assurance’ or ‘quality analyst’. This occasion meant quality assurance - from putting systems in place to ensure that good quality gets produced, as well as the verification process, ensuring that those systems are actually working, and the feedback loop to make sure that the product is of the quality that the team expects it to be.
Jose agreed with that definition: “It's any effort that the organisation can take in order to ensure that quality, whether that is putting systems in place, training people, whatever it is, I would go a bit beyond as well. I would say that it's a bit about culture as well… to qualify this, it's certain learning behaviour. So the organisation has to know these values and principles behind it related to how to treat quality. The mindset aspect of it needs to be considered as we continue in the conversation, because it tends to be the problem.”
Sandro countered: “We should be looking for quality across the entire value stream, It's not just a small portion of it. Quality assurance is a larger process. I see different mechanisms to measure and potentially improve those different qualities at different levels of different stages of the value stream.”
Behaviour driven development
Sandro expanded on this: “The role of behaviour driven development and like if you do BDD, do we need a QA person? It's such a narrow scope or narrow view on what quality assurance is. By BDD, I mean, of course it helps with certain aspects of ensuring quality from a systems perspective because it's helping you understand exactly what needs to be built or what you are going to build and set some expectations.”
The group thought about the factors of manual testing or exploratory testing. Mash stated “There is a fact developers don't make good exploratory testers because especially if they're the ones who built that feature. Because they have this maker mindset and it gets very difficult for them to go into the break or mindset. The other thing is that the mindset of an exploratory tester is a whole product mindset. They are thinking about certain aspects they understand and they're not some junior. They fully understand the weak points in the product from a technical deployment and from form features perspective. And they empathise with the user and how the user may use and may break the system.”
The role of documentation in other countries
Sandro stated that documentation logs are common in Germany. “We see that still mainly in regulated environments like investment banks, pharmaceuticals, health care. So industries like that where the cost of a bug is quite high, you see a more formal QA approach or more formal QA departments and they tend to use manual processes because those test scripts is not only that is there is a bunch of people following test scripts, but they also serve as a foremost step into compliance.”
Among those companies, they see QA as more traditional manual steps. Other companies, they have what their definition of QA is, they have people automating tests. Their job is to automate tests.
The group also discussed the role of developers, regression testing and development roles.
Watch the full video: