mathare
12 years agoContributor
Connected applications v native TestComplete
I'm after a bit of advice as to how to get the best out of TestComplete and I figured the user community was the best place to turn for this help.
Overview
The application I am testing is written in C# (.NET).
I have already written a number of automated tests for this application using the TestComplete engine. All my code is written in Visual Studio using C# (and C#Script syntax for calls that require TestComplete). I have added references to the assemblies mentioned here (http://support.smartbear.com/viewarticle/32323/) as well as using advice from that article and I've got all my tests running just fine.
Each test uses the RunTest and StopTest methods to control execution. Each test is a separate method in my C# project and I control which tests are run by commenting out unwanted test method calls. For example, if I wanted to only run Test1 and Test3 but not Test2 I would have a code snippet that looks something like:
RunTest1()
//RunTest2()
RunTest3()
However, recently I have started to wonder whether the solution I have chosen is the right way to go about things. When I first started I was adamant I wanted to use Visual Studio to develop my test code because it's a feature-rich IDE and so much better than the TestComplete IDE. So I set about finding a way to to do, and that's when I came across the connected applications idea. But now I'm not sure I need to be using connected applications and am seriously considering porting all my code back into TestComplete and running everything natively from there.
I've tried to think about the pros and cons of the solution I use at present and have come up with the following:
Advantages of this solution
Disadvantages of this solution
I surely haven't identified all the advantages and disadvantages but they are the main ones that spring to mind at the minute.
The way forward?
Should I port all my code into TestComplete? I've not really created an application that calls into TestComplete that in turn tests my C# application so I don't think I am using the connected application functionality as intended. I'm just using it as a way of using a different IDE really. Aren't I?
I'd appreciate any advice anyone has here. And if there are any questions about my current implementation ask away and I'll do my best to answer them.
Thanks in advance
Mat
Overview
The application I am testing is written in C# (.NET).
I have already written a number of automated tests for this application using the TestComplete engine. All my code is written in Visual Studio using C# (and C#Script syntax for calls that require TestComplete). I have added references to the assemblies mentioned here (http://support.smartbear.com/viewarticle/32323/) as well as using advice from that article and I've got all my tests running just fine.
Each test uses the RunTest and StopTest methods to control execution. Each test is a separate method in my C# project and I control which tests are run by commenting out unwanted test method calls. For example, if I wanted to only run Test1 and Test3 but not Test2 I would have a code snippet that looks something like:
RunTest1()
//RunTest2()
RunTest3()
However, recently I have started to wonder whether the solution I have chosen is the right way to go about things. When I first started I was adamant I wanted to use Visual Studio to develop my test code because it's a feature-rich IDE and so much better than the TestComplete IDE. So I set about finding a way to to do, and that's when I came across the connected applications idea. But now I'm not sure I need to be using connected applications and am seriously considering porting all my code back into TestComplete and running everything natively from there.
I've tried to think about the pros and cons of the solution I use at present and have come up with the following:
Advantages of this solution
The Visual Studio IDE makes it easier to develop and review code because it's a fantastic IDE that supports keyword colouring, intellisense etc and can be enhanced with tools like Resharper
Disadvantages of this solution
There is a disconnect between source code for the tests and the test engine; the test code is in Visual Studio but the TestComplete engine is being used to run the tests
I've not adopted the standard way of using TestComplete which makes it harder to get the same level of help and support
I have no UI front end to control test execution
I surely haven't identified all the advantages and disadvantages but they are the main ones that spring to mind at the minute.
The way forward?
Should I port all my code into TestComplete? I've not really created an application that calls into TestComplete that in turn tests my C# application so I don't think I am using the connected application functionality as intended. I'm just using it as a way of using a different IDE really. Aren't I?
I'd appreciate any advice anyone has here. And if there are any questions about my current implementation ask away and I'll do my best to answer them.
Thanks in advance
Mat