I am leading a new QA team at my company and we are small (Myself and one other person). We are currently testing releases compiled by over 10 developers, so the ratio of developers to QA is skewed. What happens is we are constantly in a release cycle and developers are constantly checking in code that will make it into the next release. The problem with this is that releases tend to get extremely large and require extensive testing. A typical release cycle is over two months whereas we are trying to get this down to under a month.
One thing we are doing to help with this is pushing for way more automated QA testing. We are getting there, but we are definitely not in a position to reliably run automated regression on every release.
A major complaint from the development team is that the way we do our STLC is slowing down release cycles. Right now, when we get a build of the software we will do the follow:
- Confirm installation steps
- Run regression
- Test new functionality
- Confirm bug fixes
- Push to User Acceptance Testing
- Confirm no issues with clients
- Sign off on RC and ready the release for production
The development team wants us to not run this cycle every time we get a build (multiple times per release version) and instead only re-test items that specifically fail between builds and basically pick up where we left off on the previous release candidate and continue on the new one.
Since the release candidate comes in a packaged install file, I am a little hesitant to simply ignore the rest of the changes and follow their advice.
I am new to the field and I am against a team of developers with many, many more years of experience than I have in SDLC/STLC.
What do you guys think? How do you guys handle this on your teams?