Join 34,000+ subscribers and receive articles from our blog about software quality, testing, QA and security.

Is there a way to have Test Cases/steps update off of a variable?

Not quite sure how to convey what I want in the title, but I’m looking for a way to drive test step content off of a variable list.

My company is using a program called DeltaDNA (DDNA). We have a mobile app that when users log into it, they are put into certain DDNA campaigns, and those campaigns have different variants (A, B, C, etc) which cause the user to see different things in our app.

However, from a test case perspective, this causes a lot of work to keep the steps updated. We have an internal and external QA team, and the external QA team works exclusively off of TestRail. If we make changes to a campaign, then all users are essentially ‘re-rolled’ into new variants the next time they log in.

For example - one campaign we have is to show a cut-scene upon entering the app. This has variants A and B, where A does not show the cut-scene, and B does show the cut-scene.

I’ve got two accounts, Account1 & Account2.

Initially, Account1 got put into variant A, and Account2 got put into Variant B. I go thru and update all of the test cases so that to test

Campaign: ‘Cut-scene-version1’,

  1. Log in with Account1, and verify the cut-scene does not plays
  2. log in with Account2 and verify the cust-scene does play

We found an issue with the campaign, and had to change it. This means that when logging into the app, the accounts will re-roll their variant. So now on it’s Account2 that’s in variant A, and Account1 is in variant B.

This means I have to manually go into TestRail and change all of the test cases so that the proper accounts were associated with the proper test case. This obviously isn’t tedious for a campaign with just 2 Variants compared to a campaign with 30 variants.

Is there any way to make test cases use a variable that’s defined somewhere else?

I would like to structure it so a test case is formatted like:

  1. Log in with (x1), and verify the cutscene does not plays
  2. log in with (x2) and verify the custscene does play

Then have a list in testrail where

x1 = Account1
x2 = Account2

That way, I can just go update the list of variables, which would propagate thru all Test Cases/Steps.

Someone might suggest “just put the list in the preconditions and make the testers go off the list.” This is true, but it would offer more room for human error. I’d much prefer that each test case has the accounts needed listed within the test steps.

Any suggestions? Thanks a ton!

Brian C.

Why not just define the account type in the test cases? I think that should be enough because all members should have those knowledge, right?

Then just put the account used in test run in the comments.