Hi, question to all of you Test Complete users. I am currently looking into reorganizing all of our tests in Test Complete. We have over a thousand tests and are continuously developping new ones.
My question is how do you guys organize all your tests? Do you use one single project? If so, do you organize by modules, by type of tests, by alphabetial order, by imporance?
If you use multiple projects, do you put them all in one project suite or do you have them all standalone? How do you cope with scripts which could be used in 2 different projects? Do you write extensions to Test Complete or do you rewrite code more than once? Do you share scripts?
Basically, I'm trying to evaluate the best way to manage thousands of test and to develop them, considering only one person can checkout a single file (egroject.mds file) at a time in TFS.
Whenever possible, I don't organize my tests within a project, I organize them in a framework constructed of code units to exercise the UI, NameMapping/Aliases to define the UI, and data files (usually CSV) to indicate which tests to run and what the steps are in those tests.
BUT... that will apparently take a massive re-write for you so let me address a few things you've mentioned.
1) Scripts that are used in multiple projects I put in a particular repository location in TFS and then "share" them between projects by using the "add existing item". If someone needs to modify one of those script code units, they check out that unit ONLY, not the whole project, modify, and check it in.
2) Whenever possible, I do make libraried code into extensions. There are certain things that probably shouldn't be in extensions but it does make it a lot easier to control shared code.
3) When modifying code for use in TestComplete, you don't HAVE to check out the MDS. The files that are important when adding a new script are the Script.tcScript and the script unit itself. The MDS will auto-update for any new files added upon the next time you open it.
Automated Testing Evangelists
Definition expert - noun - Unknown drip under pressure
For 1k+ tests, I'd recommend using some sort of framework approach for test fixtures. Organize them by screens or modules that are reuseable. Then have the test definitions (you can do a keyword appoach, or high level code, just have the business logic separate from the actual UI code). This will allow you put the test definitions in a database. You can then index them, tag them, etc... and easily query and cross reference them.