It used to be the case that a lot of testing tools had no concept of versioning or code management. And when testers were only running tests in a single environment after a release was dev complete and deployed to QA, they could get away with it.
The problem with this approach is that it means you're deploying untested code, potentially putting the release in an unshippable state and creating risk. As a result, more and more teams are adopting a "shift left" approach to testing.
Today, testers are expected to run tests against many versions of the code deployed to many different environments. This necessarily means that you need to be able to support different versions of the tests. That's where Test Code Management comes in.
So what decisions do you need to make when it comes to managing your test code?
Here are some things to consider for your Test Code Management approach
- Should test code be in the same repository as app code?
- What language should the tests be written in?
- What branching strategy should you follow?