I'm currently at a company that has 3 developers per platform for our product (iOS, Android, and a proprietary hardware device). I am on the iOS team, and this is my first time at a company of this size working with a team of developers. Over the past few months I have noticed a tremendous lack of efficiency when it comes to QA & testing, and I'm curious to hear other people's take on this. (Our QA team at this time consists of the manager and one QA tester.)
Let's say a bug is found during testing, and it's a pretty minor one that requires minimal code change that is isolated to one part of the app. Our QA manager immediately triggers a full set of regression testing that typically takes at least 3 days. For me, as a developer, it's beyond frustrating to see an isolated piece of code that affects only one screen of the app trigger tests that include areas of the app that are not affected at all. This can't be normal, can it? Has anyone else encountered this kind of testing process?
Don't get me wrong, I understand that QA needs to maintain a sort of separation from developers and can't just rely on us assuring them that "it'll be fine, trust me". But wouldn't evaluating the code change and areas affected by it be a prudent thing to do in order to be more efficient with testing? Often I can just comment out the code that was changed and then proceed to comment out affected areas until the app compiles again, and then you can see what areas are affected and need to be tested. It would then follow that this is a solvable problem, so I wonder if there are any tools out there that would do this?
Ultimately, this testing "strategy" slows down development greatly and results in a worse product because we as developers can't get in as many bug fixes as we would want, especially when getting close to a release. It's a tricky thing because I don't want to come off as telling the QA manager how to do her job, but I just feel there has to be a better way.