wmsbuild
13 years agoOccasional Contributor
Sectionalized, Distributed, and Automated Testing
I'm part of a group in our company that's trying to rethink and consolidate our large base of TestComplete scripts into something more manageable. And there have been some frustrations along the way that really should be given higher consideration from the developers of TestComplete (some things that would easily resolve our challenges were suggested years ago and still are not implemented).
We're trying however to segment our tests to separate branches, ie "Bugs", "Tutorials" (to make sure our instructions given to end users in video and pdf tutorials still work), and so on. Part of the goal in this is that our logs will be smaller, TestComplete will have a lower crash rate, and we can streamline more pointed integration with our build servers.
The easiest way, it seems to us, would be if TestComplete allowed us to execute a project's test group from the command line (would this really be *that* difficult to implement?) This was suggested back in 2012 here but still isn't implemented (by the way the links Tanya posted are broken now).
So we considered breaking it up into seperate projects. One for Tutorials, one for bugs, one for source coverage, and so on. We ran into a problem in that we can't share the same .tcEvents, .tcScript, .tcStores or .tcTAs files between projects in the same suite (apparently almost all your tags in your configuartion files are given unique identifiers and can cause conflicts if loaded twice in the same suite - side note: *Do you really need to uniquely identify **everything**? This kind of environment seems excessively and unnecesarily restrictive to me...*).
Furthermore, continuing along this thought, if you clone a project that links to an external .tcScript or other similar project file it will reference the same one, (what we want to be able to do by right clicking a fresh project and using "Add Existing"). However, when you open the project suite the next time you will receive a fatal error because two objects have the same key in the project suite. (This is a *bug*)
We're not sure what else to do for organization beyond writing our own external scripts to modify your configuration files before executing a project (a royal pain - what with all your unique identifiers, which otherwise would be a minor annoyance), or manually adjusting the projects to run targeted tests (which defeats the purpose of integrating with our build servers, or rather to say instead it makes it impossible to do so).
What we'd like to see happen:
Give the afore mentioned request an increased priority [top priority? pretty please? :)], it would really be by far the *easiest* for you to implement, and for us to implement.
Allow project items to be shared between projects in the same suite. This likewise, shouldn't be too dificult, though obviously a little more involved than the previous solution. Regardless of the afore mentioned fix, this should be implemented anyways.
Allow tsScript files to reference/include other tcScript files. This would allow us to go back to using a split project structure that references necessarily shared code, but not duplicating test items from other projects and not causing TestComplete to load *very slowly* and sometimes crash.
In the meantime if there are other solutions you could reccomend we would be happy to hear them. Our work on this task is being postponed for a *short* while so we can get some other important things done.
We're trying however to segment our tests to separate branches, ie "Bugs", "Tutorials" (to make sure our instructions given to end users in video and pdf tutorials still work), and so on. Part of the goal in this is that our logs will be smaller, TestComplete will have a lower crash rate, and we can streamline more pointed integration with our build servers.
The easiest way, it seems to us, would be if TestComplete allowed us to execute a project's test group from the command line (would this really be *that* difficult to implement?) This was suggested back in 2012 here but still isn't implemented (by the way the links Tanya posted are broken now).
So we considered breaking it up into seperate projects. One for Tutorials, one for bugs, one for source coverage, and so on. We ran into a problem in that we can't share the same .tcEvents, .tcScript, .tcStores or .tcTAs files between projects in the same suite (apparently almost all your tags in your configuartion files are given unique identifiers and can cause conflicts if loaded twice in the same suite - side note: *Do you really need to uniquely identify **everything**? This kind of environment seems excessively and unnecesarily restrictive to me...*).
Furthermore, continuing along this thought, if you clone a project that links to an external .tcScript or other similar project file it will reference the same one, (what we want to be able to do by right clicking a fresh project and using "Add Existing"). However, when you open the project suite the next time you will receive a fatal error because two objects have the same key in the project suite. (This is a *bug*)
We're not sure what else to do for organization beyond writing our own external scripts to modify your configuration files before executing a project (a royal pain - what with all your unique identifiers, which otherwise would be a minor annoyance), or manually adjusting the projects to run targeted tests (which defeats the purpose of integrating with our build servers, or rather to say instead it makes it impossible to do so).
What we'd like to see happen:
Give the afore mentioned request an increased priority [top priority? pretty please? :)], it would really be by far the *easiest* for you to implement, and for us to implement.
Allow project items to be shared between projects in the same suite. This likewise, shouldn't be too dificult, though obviously a little more involved than the previous solution. Regardless of the afore mentioned fix, this should be implemented anyways.
Allow tsScript files to reference/include other tcScript files. This would allow us to go back to using a split project structure that references necessarily shared code, but not duplicating test items from other projects and not causing TestComplete to load *very slowly* and sometimes crash.
In the meantime if there are other solutions you could reccomend we would be happy to hear them. Our work on this task is being postponed for a *short* while so we can get some other important things done.