May be it seems an open question (or non-constructive according to stackoverflow standards) …. but I am asking if there's something rigid according to Software process standards addressing this topic ?
If there are one or more "Hard to find bugs" that need complex scenarios, extensive testing, very big or special data set to show up … Is this the responsibility of the developer or the QA ?
Best Answer
There is no single standard software development process with clear defined responsibility for everything:
On one side this is unfortunately, because it makes life harder. You have to organize everything in every project and agree on roles and responsibilities. If software is build for a customer, this could be part of the contract. And it will not always be so clear who is to blame for what, nor if there's anybody to blame at all.
On the other side, this is fortunate: every project is somewhat unique, and you have the freedom to organize things as best suits its needs, and experiment innovative approaches.
So who is to blame ?
But wait a moment.. judge ? case ? Well, ... I hope that before arriving to such an unsatisfying end all the parties will realize that they are on the same boat !
Quality is a shared responsibility. So in the end there's no use blaming each other. Everybody has to contribute to come to an acceptable outcome.
The only one who could be blamed in the end is the project manager. Because it's his responsibility to make people work together. And he/she should ensure that quality assurance is properly organized above and across the organizational boundaries. He has plenty of ways to do so, starting with the setup of the project life cycle (e.g. agile vs.waterfall), the organization of the stakeholders involvement, and the choice of the validation approach (e.g.TDD or traditional V-model validation), and facilitating team throughout the project.