Asking because I don't know: How do I add version control to my test suite

This is one of those topics that I feel like I should know about in my career, but I’ve never done. So, I’m going to ask how to do this.

I need to add version control to my test suite. I use Qase as a test case management tool. I’m familiar with GitHub. I have a decent idea of what version control is, but not how to set it up.

Can anyone point me in the right direction?

4 Likes

Hey Judy

I would recommend first implementing branch protection rules in GitHub. Here is a useful article as a reference point.

This will ensure people have to raise merge requests and have these reviewed before being merged into main.

If you use GitHub issues, you can link branch names and MRs to a specific issue. Once the branch is merged this should then close down the issue as resolved.

Using Git will also add a layer of version control whilst branches are being worked on.

I have use Qase so can’t help on integration with this, but hopefully someone else can.

Hope this helps as a starting point.

2 Likes

Hey there Judy, as Tom says, using the now “standard” feature set on a git forge (github, gitlab, gitea, etc) like merge/pull request and combining it with the issue tracker could do wonders.

To add on it, as I was told when I started working, pull requests and branches are ephemeral, the only thing that stays at the end of the day are the commits themselves, so giving them a useful and meaningful name can do wonders to track why and to what something is related to.

I don’t know if the test suite is built at its own pace or has work pieces related to it. Still, if the new cases are added alongside the features on some kind of tickets or cards, I would use the IDs of those features (The card id on trello or the ticket id on jira) and a brief description of what is included in the current increment on which you are taking the “snapshot” inside the byproduct of Qase, or at least for the generated automated check code, e.G. “Tests | AD314 | Added a check for tricky Javascript floating point numbers” .

Hopefully this can be useful. Cheers!

1 Like

There are all kinds of fancy features on GitHub (and it’s competitors, I’m sure) but if you never really used git before, I would recommend starting with the basics.
Codecademy has a couple of short, free courses on git and Github. I haven’t done them myself so no guarantees, but I expect them to be a nice step by step intro to get going.
I’m not familiar with Qase, though, so I don’t know how it integrates with git/GitHub, or if you’ll be managing your files independently?

Learn git: Introduction
Learn github: Introduction
Learn git: Branching and Collaboration

Learn GitHub: Best practices

Using git for devops: using git effectively

For details about setting up git and GiHub I usually find the docs from GitHub answers my questions but they might be a little overwhelming sometimes.

2 Likes

I’m far from an expert in this area, but you have to consider both the version of your test code (the versions you create as you add more functionality to / bug-fix / tune you test code) and the version of the SUT (you may need to have different versions of the test code running for different versions of the software under test). I have experienced that as a problem. My solution? Whatever works ad hoc, but sometimes you may be able to do better than that.

3 Likes

A recommendation, if you work for an organisation/company is to use the same as the developer uses for their code.

1 Like