3

I am working on setting up Azure DevOps Git Repo, Build and Release pipelines.

We have separate team members responsible for development of application and separate responsible for UI test automation.

My question is should I have

a) one repo for the Application Code and Integration UI testing with single build pipeline building everything and single release pipeline deploying and running UI tests

b) Have two separate repos for application and UI Tests and two separate builds and release pipelines?

If you have experience in setting this up which one is preferred method and why?

Farukh
  • 2,173
  • 2
  • 23
  • 38

2 Answers2

3

Azure UI testing involve some consideration, and is part of a release pipline (as described in "UI test with Selenium") added on top of your existing build pipeline.

https://learn.microsoft.com/en-us/azure/devops/pipelines/test/_img/continuous-test-selenium/continuous-test-selenium-07.png?view=azure-devops

The idea is: those tests come with their own Visual Studio Unit Test project and code, which can evolve independently of the main project code, at its own pace: it can be hosted in its own Git repository.
But the execution of those tests will be based on the deliverable produced by the build of the project itself (done in the build pipeline)

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
1

I ended up having one repo for Application Code and UI Automation Code with two seperate folders.

  • [GitRepo]
    • APP
    • AUTO

Then I setup three builds one for the APP, UI Automation and one for SCM build which included both APP and UI Automation.

I created seperate branches for APP Development and UI Automation, and setup triggers for each build to respective branch. With one Release branch where all the code would be pulled when it's ready for release.

Then configured release pipeline to trigger appropriate release based on the build.

Farukh
  • 2,173
  • 2
  • 23
  • 38