My current workflow is this (it's basically a feature branch workflow):
1) I have two main branches: release
and develop
.
2) Development is done using TDD methodology using JIRA/Bitbucket. An issue is created, which consequently creates a Git feature branch.
3) Active development is carried out in a feature branch, and merged back into develop
upon review.
4) When enough new features have been merged into develop
, I merge develop
into release
.
What I'm concerned about is how I can integrate QA into this workflow. I've read other posts, which suggest that QA tests should be performed on the feature branch (along with other tests elsewhere), such as this: https://sqa.stackexchange.com/questions/14966/where-does-qa-fit-into-a-common-git-branch-flow
The problem for me is QA tests will mainly be UI acceptance tests. These will be created by a QA tester (using some UI automation suite), but I also want these tests version controlled, as they will be source editable.
I suppose what I'm after is similar to Skullcandy's worklow, as described in this article: http://blog.endpoint.com/2014/05/git-workflows-that-work.html However, the author of that article doesn't describe anything about how QA tests themselves are version controlled/integrated with development code in a feature branch. Moreover, I want QA tests to be 'sparked' off stories in JIRA that correspond to a given feature (if that makes sense); so that there's a traceable correlation between the stories, and the acceptance tests to make sure they will be what the user wants.
Note that the tests that are carried out currently as part of my TDD methodology are unit tests, not acceptance tests.
Is there a way (process/workflow/model/call-it-what-you-may) to achieve this?