So the story is we have a chance to reboot development workflow in our company and I was wondering how dev/testing is handled in other companies.

Right now we create separate git feature/bug branches for Jira tasks; as soon as f/b is completed the task is marked for review, then merged into corresponding master (we have to support several masters, unfortunately) and then the task is marked for testing. After that testers check if the feature is indeed finished (or the bug is fixed) and the task is closed.

We release 2-4 times a year, but I’m a proponent of frequent releases, so I expect that to change. Also we were thinking about moving to trunk-based development because we have few people and everyone is fed up with rebasing 1k LOC patches.

We have rather small teams: ~10 backend devs (c++), ~10 frontend devs and ~5 testers. I feel that considering how few testers we have, such workflow is horribly inefficient. Wouldn’t it be better to perform manual tests only between code freeze and release and rely on auto tests in CI at other times?

As for feature branches I can understand that a new feature should be tested in some way before getting marked as ready for release, but is it better to test feature in a branch or in master (considering we decide to stick with gitflow style)?

submitted by /u/qvrock
[link] [comments]