Forum Discussion

TCU100's avatar
TCU100
Occasional Contributor
5 years ago
Solved

What are our options to have versioning on tests?

What are our options to have versioning on tests?

 

Scenario:
We create keyword tests in Test complete for application V1 and modify tests for application V2.
When we are looking at test report, how do we know if we executed latest (modified tests for v2) keyword tests?
I am trying to find if there is any test versioning feature available in TestComplete. If there is none, what are options to set versioning for each test?

  • Automated tests, even keyword tests, are "code".  To version them, I would use a version control/source control tool like GIT or Mercurial or something.  This would allow you tag or branch different versions of your code so you can always retrieve a previous version if necessary.

     

    Now, as to know which version you're running...  

    Add a single Log entry to the very beginning of your automation so that, every time you run it, it logs the version of the automation.  That entry you would simply change when you reversion your automation.  So, if you're running V1, the log records V1.  If you're running V2, the log records V2.  That way you don't have to worry about renaming projects, etc.  Just update the source for that log entry.

3 Replies

  • Marsha_R's avatar
    Marsha_R
    Champion Level 3

    Our process has been to copy the original project as a whole for each set of changes.  We never tried to keep them all together since objects and therefore name mapping might have changed significantly.

     

    For example, if we started with IceCream test and then have versions, we would end up with several projects in the suite:

     

    IceCream

    IceCreamWithCaramel

    IceCreamWithNuts

    IceCreamWithFudge

     

     

    • tristaanogre's avatar
      tristaanogre
      Esteemed Contributor

      Automated tests, even keyword tests, are "code".  To version them, I would use a version control/source control tool like GIT or Mercurial or something.  This would allow you tag or branch different versions of your code so you can always retrieve a previous version if necessary.

       

      Now, as to know which version you're running...  

      Add a single Log entry to the very beginning of your automation so that, every time you run it, it logs the version of the automation.  That entry you would simply change when you reversion your automation.  So, if you're running V1, the log records V1.  If you're running V2, the log records V2.  That way you don't have to worry about renaming projects, etc.  Just update the source for that log entry.

  • Depending on what you think of. We have everything in GIT for source control.

     

    For creating multible instances of a test we have seperated test conditions, test sequence and data from eachother. Creating more reusable test sequences and data. We control what we execute by creating a test definition, which keeps the conditions, test sequence and data for the execution. After that we apply some magic trick with a script and run our test instances.

     

    Scaling with this approach is very fast. And managing data is easier than managing many scripts.

     

    Br,

    Christian