Github flow QA and UAT testing
Asked Answered
K

2

11

I have recently read about the github flow. I am using gitflow as of now and I see that Github flow looks very interesting because it is not as heavy in terms of workflow as gitflow.

What I don't understand though is once a feature is finished, a pull request is created. How are these changes are tested before merged back in master (ready for production). In gitflow I have a CI/CD task once something is committed into release branch UAT environment is updated, and when testing is done and if everything is ok changes are merged into master and deployed. In Github flow where is the position of the UAT environment?

Kalmia answered 18/4, 2019 at 11:4 Comment(1)
I'm also researching this question and have concluded thus far that Github flow is a branching strategy and not a deployment strategy. Once would need to design appropriate deployment strategy for PR branches and specific environments.Synapse
T
0

Every time a feature branch is merged to master, it should be automatically deployed to the staging environment and that's where QA/UAT testing is done.

Once testing is complete, you deploy it to production with an appropriate version tag.

However, let's say you just merged Feature1 branch to master, and then a bug was found in production. You will create a hotfix branch off of the last deployed version tag on the master, deploy that to staging environment and perform QA/UAT testing. Once passed testing, deploy that hotfix branch to production with an appropriate version tag, and then merge back the hotfix branch to the master. Now, you could continue with deploying Feature1.

Turley answered 15/6, 2020 at 20:3 Comment(2)
What about several developer teams each one working in their own feature branch. Lets say team finished feature1 and merged back to master. how does team2 working on feature2 get the changes of the feature1? And also lets say feature 1 must not be deployed right now but in a later release and until that time master was changed a lot since the feature1 branch was created from master. How do we update feature1 with the latest master changes? we just merged master into feature1?Kalmia
@Kalmia if feature1 changes are now in master, you just pull the changes from master into feature2Wavelet
C
-4

User Acceptance Testing (UAT) is a type of testing performed by the end user or the client to verify/accept the software system before moving the software application to the production environment. UAT is done in the final phase of testing after functional, integration and system testing is done.

The main purpose of UAT is to validate the end to end business flow. It does NOT focus on Cosmetic errors, Spelling mistakes or System testing. User Acceptance Testing is carried out in a separate testing environment with production-like data setup. It is a kind of black box testing where two or more end-users will be involved. The Full Form of UAT is user acceptance testing.

Carmody answered 23/1, 2020 at 6:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.