5

We working on git-flow in our current project and adding multiple features concurrently. We got only one QA environment that can hold only one build at a time. If there are more than one features waiting to be tested and our QA members can test them in parallel we need (as answered here) to create an integration branch to upload to the QA environment and to be tested. However, we found some problems in that solution that this flow raise:

  1. We can't merge the integration feature into develop if not all of the features got sign-off in time or some of them needed to be fixed. OR:
  2. After successfully getting sign-off for one or more of the features we can "finish feature" the original features - but then the code in develop is probably differ from the integration because of difference in the merge.
  3. Every fix for issue raised by the QA require merges from the original feature branch to integration, so people often fix issue on the integration branch, making chaos if it is done in parallel and make the original feature outdated.
  4. It's hard to hold track on what features are in the integration and what got tested and most important, Which feature is causing a bug.

Is there any better way to test multiple feature in parallel? Do you have tips to make the process better?

Community
  • 1
  • 1
isaac-fisher
  • 95
  • 1
  • 8
  • Does feature branches checked-out from develop branch? And is your QA environment based on develop branch? – Marina Liu Feb 22 '17 at 09:46
  • @marina-msft No, we are checking out from the features. Does it matter? We can upload any build we want to QA env, but every upload will override his predecessor. – isaac-fisher Feb 22 '17 at 09:58

1 Answers1

1

The solution you mentioned is merged all the changes from feature branches together. If it suit for your situation you can use it.

If you want to test the feature separately, you can use below ways:

  1. Create branches from your QA environment (develop branch), each of the branch is used to test different features.
  2. When one feature is finished, you can merge it in develop branch.
  3. If you want to record the process of test in develop branch, you can rebase these commits onto develop branch.
Marina Liu
  • 36,876
  • 5
  • 61
  • 74