cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Node Lock Licenses

SOLVED
Highlighted
Frequent Contributor

Multiple Node Lock Licenses

Hi all

We currently have 2 node locked TC licenses. Only one was in use till date however we now have plans to get additional resource using second license.

My issue here is, since I was the sole user of TC, the project was saved on my local C:/ drive. With introduction of additional user I am not sure how both of us can access the project at the same time and how the changes made by both of us will be updated to the project ?

Any help in this regreads will be much appreciated.

 

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Hero

Re: Multiple Node Lock Licenses

Hi,

 

Basically, TestComplete does not support concurrent development.
You may try to open the project in a Shared Mode from the network share. In this case TestComplete will monitor changes made to the project items and suggest you to reload changed entity. Two problems here:

a) There are no means to either see what was changed or to visually compare/merge your current and remote entity. You can either accept or decline to reload;

b) TestComplete implements the 'last writer wins' strategy. This means that if you reload the entity you will lose your changes. If you refuse to reload, then you will overwrite changes made by your colleague.

 

Also note, that only script unit files can be (visually) merged. All other files from TestComplete project are XMLs with complex internal structure and thus can not be merged in practice.

 

The recommended approach with TestComplete is to split the work so that no collision happen. And if someone needs to add some new entity to the project or update existing shared one (e.g. NameMapping) this must be done in a controllable way to prevent merging.

 

Regards,
Alex
[Community Expert Group]
____
[Community Expert Group] members are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Postings made by [Community Expert Group] members
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
[Community Expert Group] signature is used with permission by SmartBear Software.
http://smartbear.com/forums/f83/t86934/community-experts/
================================

View solution in original post

11 REPLIES 11
Highlighted
Community Hero

Re: Multiple Node Lock Licenses

Hi,

 

Basically, TestComplete does not support concurrent development.
You may try to open the project in a Shared Mode from the network share. In this case TestComplete will monitor changes made to the project items and suggest you to reload changed entity. Two problems here:

a) There are no means to either see what was changed or to visually compare/merge your current and remote entity. You can either accept or decline to reload;

b) TestComplete implements the 'last writer wins' strategy. This means that if you reload the entity you will lose your changes. If you refuse to reload, then you will overwrite changes made by your colleague.

 

Also note, that only script unit files can be (visually) merged. All other files from TestComplete project are XMLs with complex internal structure and thus can not be merged in practice.

 

The recommended approach with TestComplete is to split the work so that no collision happen. And if someone needs to add some new entity to the project or update existing shared one (e.g. NameMapping) this must be done in a controllable way to prevent merging.

 

Regards,
Alex
[Community Expert Group]
____
[Community Expert Group] members are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Postings made by [Community Expert Group] members
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
[Community Expert Group] signature is used with permission by SmartBear Software.
http://smartbear.com/forums/f83/t86934/community-experts/
================================

View solution in original post

Highlighted
Frequent Contributor

Re: Multiple Node Lock Licenses

 


@AlexKaras wrote:

Hi,

 

Basically, TestComplete does not support concurrent development.
You may try to open the project in a Shared Mode from the network share. In this case TestComplete will monitor changes made to the project items and suggest you to reload changed entity. Two problems here:

a) There are no means to either see what was changed or to visually compare/merge your current and remote entity. You can either accept or decline to reload;

b) TestComplete uses the 'last writer wins' strategy. This means that if you reload the entity you will lost your changes. If you refuse to reload, then you will overwrite changes made by your colleague.

 

Also note, that only script unit files can be (visually) merged. All other files from TestComplete project are XMLs with complex internal structure and thus can not be merged in practice.

 

The recommended approach with TestComplete is to split the work so that no collision happen. And if someone needs to add some new entity to the project or update existing shared one (e.g. NameMapping) this must be done in a controllable way to prevent merging.

 


Thanks for the detailed explanation.

Do you think source control applications like GIT can also be of help ?

Highlighted
Community Hero

Re: Multiple Node Lock Licenses

You can certainly use a source control application, but there are still some files that should not be shared as @AlexKaras described.  Each person should have their own copy of the test suite to work in and then good communication amongst the team is mandatory, even when version control is used.

Highlighted
Community Hero

Re: Multiple Node Lock Licenses

Hi,

 

Do you think source control applications like GIT can also be of help ?

Not really. Just as a source control (i.e. - storage). As I wrote, merging of all files that TestComplete project consists of is near to impossible. Merging of script source code is possible, but personally I prefer to avoid merging of source code as much as possible as well.

As @Marsha_R already mentioned, your best friend in concurrent development is code decomposition by modules and close team communication.

 

Regards,
Alex
[Community Expert Group]
____
[Community Expert Group] members are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Postings made by [Community Expert Group] members
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
[Community Expert Group] signature is used with permission by SmartBear Software.
http://smartbear.com/forums/f83/t86934/community-experts/
================================
Highlighted
Community Hero

Re: Multiple Node Lock Licenses

I think it works for us because no one works on the same test at the same time.  We are only ever merging with the last copy and not another person's concurrent work.

Highlighted
Community Hero

Re: Multiple Node Lock Licenses

Definitely GIT or Mercurial.

However, I do disagree with the inability to merge some files.  NameMapping, DEFINITELY, I'd approach with extreme caution using a merge utility.  However, other files can be easily deciphered to merge visually.  But that's the best way to do this... use a source control tool, work in separate branches, and then co-ordinate for merges and such.


Robert Martin
[Community Expert Group]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available
Highlighted
Community Hero

Re: Multiple Node Lock Licenses

Here's the TC reference for source code control and individual files

https://support.smartbear.com/testcomplete/docs/working-with/integration/scc/files.html

Highlighted
Community Hero

Re: Multiple Node Lock Licenses

@gdave :

 

other files can be easily deciphered to merge visually.

Yes, I do agree with Robert that internal structure of TestComplete's project files is not a rocket science. The question is whether or not would you like to do this.

Open any project file in a Notepad and try to understand its structure to get an idea.

 

Regards,
Alex
[Community Expert Group]
____
[Community Expert Group] members are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Postings made by [Community Expert Group] members
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
[Community Expert Group] signature is used with permission by SmartBear Software.
http://smartbear.com/forums/f83/t86934/community-experts/
================================
Frequent Contributor

Re: Multiple Node Lock Licenses


@tristaanogre wrote:

Definitely GIT or Mercurial.

However, I do disagree with the inability to merge some files.  NameMapping, DEFINITELY, I'd approach with extreme caution using a merge utility.  However, other files can be easily deciphered to merge visually.  But that's the best way to do this... use a source control tool, work in separate branches, and then co-ordinate for merges and such.


We’ll certainly take the approach of each user have their own copy of the test and no one will work on the same test at the same time.

However, we are unable to host main project on our shared drive as it makes TC very slow. This is an organizational infrastructure limitation and we aren’t able to resolve this.

So as a work around, till date I use to host the main project on my local C: drive (as TC works seamlessly when access via C: drive). A copy of the project was also saved on shared drive as a backup. Once or twice every week I would manually copy the project file from C: drive over to the share drive to create most up to date back up.

Now the above model worked fine until now (since I was the sole user). However with the introduction of additional user I don’t see this model working. The last user to save the backup file will overwrite the changes made by the other user.

@AlexKaras @Marsha_R