When writing this my focus is around automated quick test professional keyword-driven Business Process tests, but the findings below [should] transcend and apply to each test type and all QC assets.
Out of scope: I haven't explored behaviour around QC's Requirements or Reporting, but I don't anticipate there being any surprises there.
Baselining
"Hey, did you know I play bass?" - the bass-line, when used correctly, is a highly effective pun.
Baselining saves a copy of a bunch of assets (termed a Library) at a particular point in time.
Should you fail to include some linked/required assets in your Library, don't worry, they will be automatically included.
What it's not
Version Control
Branch/merge tool.
It is a pure snapshot in time, nothing more, nothing fancy.
It is a pure snapshot in time, nothing more, nothing fancy.
What can we do with a baseline
We can see how an asset once looked. This is a slow process.
We can compare between two different libraries of assets to spot the differences. This is a slow process and very click-intensive, nothing like using a real version-comparison tool.
Baselined assets can then be reimported in to the same project if you're on QC enterprise (I'm not 100% sure about QC starter edition) or in to a different project if you've forked out for the conglomerate license.
We can compare between two different libraries of assets to spot the differences. This is a slow process and very click-intensive, nothing like using a real version-comparison tool.
Baselined assets can then be reimported in to the same project if you're on QC enterprise (I'm not 100% sure about QC starter edition) or in to a different project if you've forked out for the conglomerate license.
Test Lab can be set up to execute tests from an historic/baselined snapshot. This is achieved easily by navigating to a Test Set in Test Lab, viewing the Details page, and then selecting the appropriate baseline. Be warned, doing so will clobber all existing test run information and will also remove any tests that are not associated in the baseline. Concerns on this use. [0] This makes me wonder how we can execute a test which was part of a baseline but is part of one no more. [1] And I am also curious how this works when stepping through and triaging. [2] I am also guessing it is impossible to update a baselined version of a test. These are important questions so I am going to start experimenting now.
[0] You can't, the test is gone forever - see below about deleting.
[1] So, take an asset which has been baselined, modified, and then the baselined test is added to a test set. Invoking the context menu for the test (in the test set) and selecting 'show test in test plan' takes us to the updated (current version of the) asset. Upon first glance there are few/zero clues to draw my attention to the baseline. Within Test Plan I am able to view the historic asset (from the Test in Test Plan, navigate to the History tab, then chose the Baselines tab). Using this for triage is not going to be straight forward.
[2] And I have attempted to update the historic test asset, and can confirm that I seem to be unable to. A guessed-at workaround workflow might be to re-import the library elsewhere, update the test and... well... mash it back in to place, loosing a tonne of historic run information and possibly all requirement/defect links for the original test in the process.
Switching between baselines
This is an extremely valuable workflow - the ability to roll-back.
There is no reverting back to a previous version of an asset with baselining. What can happen is the assets are re-imported in to a new folder, and then you can copy these in to replace existing assets - but you wouldn't actually want to do this as you will end up loosing all Test Lab run results for a particular test, and possibly all links between items.
At best you can reference back to each test, one by one, and pick out what is going on in the test, and then manually re-write/update the existing asset based on this historic record.
Importing a baseline
I imagine this is only useful once and for setting up a project. There are no other workflows I can think of where you would want to re-import.
Deleting a Test
Will remove the test from the baselines when referenced from Test Lab.
The test will still exist though, but a re-import is the only way that the test will ever see the light of day again.
Deleting a Baseline
Will also delete all Test Sets associated with it.
Closing
So we've had a look at the finer detail of what baselining does and what its limitations are. Next up we'll look at QC's built in Version Control capabilities and see whether that gives us any freedom around branching, merging and rolling back.
