Where to keep your UI automation tests?
I had to work in different projects and different teams with completely different approach to automation and places of storage of UI automation tests and the most common are:
Keep UI automation tests in the same repository
Pros
Pros
P.S. In case, you know any other pros and cons of these approaches please leave a comment and I will update the post.
- Keep UI automation tests in the same repository with code of the application
- Keep UI automation tests in different repositories saving the link between them (e.g. maven pom.xml)
- Don’t store automation in the repository in general
Keep UI automation tests in the same repository
Pros
- You don’t need to update the link between versions of code and tests
- Higher standards to quality of the automation since failures are highly visible and very sensitive
- Developers will become aware if test are breaking after applying application code changes.
- Easier to involve developers in test development and maintenance
- Easier to add test execution to CI/CD pipelines
- If you want to apply fixes to the code of tests you will need to update the code base of the application and sometimes even rebuild/redeploy it.
Pros
- If you want to apply fixes to the code of tests you will NOT need to rebuild/redeploy a whole application, just change the version of running tests
- In case, if tests fail because of broken tests you can still deliver the application. You can fix tests in different branch and rerun them against still the same version of application or even rerun them manually. It is not breaking the code freeze
- Testers can write automation independently from developers since their code will NOT break the build of the application
- You need continuously update the link between versions of code and tests
- Testers will become owners of their test repository (One more configuration task in their backlog)
- It is harder to integrate tests in application's CI/CD process
- Automation test code quality can degradate since code issues are less visible and can be even ignored (depends on situation and the reason of issues)
P.S. In case, you know any other pros and cons of these approaches please leave a comment and I will update the post.
Comments
Post a Comment