Try our new research platform with insights from 80,000+ expert users
PeerSpot user
Project Lead at Aspire Systems
Real User
A test automation project and all its value additions and work arounds are hosted on a Test Automation framework. It is tedious to monitor the progress since the logs are available only in the tool.

Authored by Sabhari Murugan and Ujwal Unni from Aspire Systems Testing Community.

Overview

Software Quality is dependent on Test Automation for its ability to provide vast coverage with least possible resource. Having said that, automation has its own overhead and maintenance which requires additional effort. To reduce such additional effort, besides ensuring stability, robustness and increase the ROI - there are certain considerations to be focussed at different stages of the project. Here is an insight to such areas of considerations and how it can be dealt with ‘TestComplete’ – a potential test automation tool.

What is TestComplete?

Started as a tool that is preferred for Test Automation of Desktop applications, today TestComplete is one of the top competitors and a noticeable performer in the commercial market. The recent versions of the tool support Desktop, Web and mobile applications to a great extent. The tool gained its popularity due to its

  • Robust and stable execution engine
  • Rich in-built libraries
  • Support for multiple Scripting Language
  • Minimal knowledge required for beginners
  • Access to System level operations like system restart, Process management and monitoring
  • Cost effective, when compared with similar tools in the market
  • Events (Decide what to do at - Beginning of Test, End of Test, Error encountered, etc...)

Doing it right:

Test Automation is not an area with constant or limited needs and expectations. New technologies, frequent changes, emerging software systems and new feature additions create constant challenges for tools and testers. There are certain considerations in each phase of Test Automation solution to build a suite that could provide high ROI, with least effort and maintenance. Here is a brief about some of these challenges / requirements that are more likely in Test Automation solutions that use TestComplete.

1. Frequent Changes

“Change is good” – in many ways, for instance it makes way for new features and enhances user experience. Besides, who likes to use software that has no updates? For any product to be successful, it should have the ability to change and adapt to the cutting edge technology.

Implementation stage: Framework design.

Solution:

1. Name Mapping – an object repository used to store the instance of controls. By doing so any change in the Properties of controls such as size, colour or caption can be isolated leaving the automation scripts unaffected.

2. Modularity Framework- a Test Automation framework in which all the common functions such as entering text in text box, selecting items in a combo box, clicking buttons are developed as reusable functions and used in Test Case Script

Doing so, the Test Case Script will not have any code that directly interacts with the product, the controls are referred through Name Mapping and actions are performed through the re-usable functions. Hence Test Case Script is isolated and no change will be required unless there is a change in the workflow of the product.

2. Testing Multi-Language Products

When testing applications that are released in different language versions it is crucial to test all the language versions to ensure quality.

Implementation stage: Framework design.

Solution:

1. Using an XML or ini file. The file contains a common ID for each caption and their equivalent value in the respective language. For example, below is a representation of the xml file content for the caption of Ok button in three languages.

<caption>
                <id=’YesButtonCaption’>                
                <English=’Yes’>
                <German=’Ja’>
                <Finnish=’Kylla’>
</caption>

In the Test Case Script or in the reusable functions instead of directly using the caption, use a re-usable function that fetches the appropriate language text from the XML when the id and the language are passed as parameters. For example: getCaption(“YesButtonCaption”, “German”)

3. Different Levels of Execution

Test Suites may vary from less than hundred cases to more than 20,000 cases. It is not always the case that the entire test suite has to be executed; hence cases should be grouped based on features or workflows. For example automation suite of a banking application can be grouped based on features like money transfer, account creation, payments and so on to enable execution at three levels – Case level, Selected Group level and suite level.

Implementation stage: Framework design.

Solution:

1. Driver Script – Instead of matching each test Item to a test case, group them based on features and create a driver script for each feature. A driver script is just a function that calls all the test cases under the respective feature one after the other.

2. Further enhancement can be done by using XLS file to have list of Cases and a column with Yes or No values that determine if the particular case has to be executed or not.

4. Windows event log monitoring

There are scenarios where the application may seem to work fine, even when there are some issues while updating data in the database or storing data to a file. Monitoring the Windows Event log gives a better insight into such situations and helps to identify them earlier.

Implementation stage: At the time of requirement.

Solution:

1. TestComplete provides full read access to Windows event log, leveraging this feature at suite level can capture all the events logged related to the application under test during execution.

2. TestComplete also provides access to real-time resource usage of any process such as CPU usage and Memory usage, logging these details will help identifying memory leakages.

5. Memory issues due to large suites

Scalability is one essential aspect to be considered in Test Automation. TestComplete is designed to handle any number of Test Cases which means almost any Lines of Code (LOC). But having too many script units will have a huge memory foot print which accumulates over execution, which eventually leads to tool crash or other performance issues.

Implementation stage: At the time of requirement.

Solution:

1. If there are way too many Test Scripts in an Automation suite, the suite can be split into multiple smaller suites. All the smaller suites are independent of each other. In this case, when a whole suite execution is required Batch Files can be used to continue the execution from one suite to another.

6. Continuous Long-time Execution

Having around a few thousand Test Cases in a Test Suite means executions can go on continuously for days. This makes the system vulnerable for performance and memory issues.

Implementation stage: At the time of requirement.

Solution:

1. The application under test can be closed and restarted in certain intervals to free memory and have better performance

2. It is not just the application but also the tool that is in running state for too long, hence it makes a difference if the tool is restarted in some required intervals approximately once a day. This can be made possible by two ways- TestComplete’s in-built function “RebootandContinue”,which restarts the system and continues further execution or using batch file to close TestComplete after sometime into execution, let the system be idle for a while, then start TestComplete and continue the execution.

7. Automatic Report generation and mail notifications

When execution continues for days together it is tedious to monitor the progress since the logs are available only in the tool, this means either the execution has to be paused or we will have to wait till it completes to view the report or log

Implementation stage: At the time of requirement.

Solution:

1. The in-built function to Save Logs can be used at regular intervals to automatically export logs to the specified location as and when required.

2. TestComplete also supports automatic mail notifications with the logs as attachments. Once configured results will be mailed automatically as per the configuration

8. Scheduling Tests in Test Execute

SmartBear has an execution tool that is relatively less expensive than TestComplete that can be used only for placing executions. Unfortunately, TestExecute does not enable us to select the Tests that has to be executed. So one way or another TestComplete is required to modify the Tests to be executed.

Implementation stage: At the time of requirement.

Solution:

1. The .PJS and .MDS files in a Test Suite are the two XML files that stores the data about the project and Test items to be executed. Developing a simple tool to read and edit these XML files will completely eradicate the need of TestComplete in placing Executions.

Other Best Practices:

  • Always ensure each test script works independently.
  • Avoid test data dependencies between test scripts.
  • Test data is always externalized.
  • Write the test scripts from scratch instead of using record and playback.
  • Always ensured test automation scripts sequence are configurable for execution.
  • Frequent catch-up with Dev & Design team to understand the impact on automation scripts due to upcoming releases / changes.
  • Tool & Environment upgrades should be taken up as early as possible to avoid surprises at neck of the moment.

A test automation project and all its value additions and work arounds are hosted on a Test Automation framework. Automation Framework is the basic building block of a robust automation suite and framework design is the most important phase of an automation project. This is the phase where all the above considerations should be predicted in order to design a framework that meets all the requirements of the project and accommodate further improvements and new requirements that may arise over the course of the project. Such Anticipation, preparation and worked arounds are the way to ’Doing it right, with TestComplete’.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user340992 - PeerSpot reviewer
Test Automation Specialist at a tech services company with 501-1,000 employees
Consultant
It gives us the option to work in the same suite without changing from one project to another.

What is most valuable?

  • Object spy and object recognition are working very well, giving us a lot of possibilities.
  • Option to work in the same suite without changing from one project to another, which is better than HP QTP/UTF.
  • USEINIT feature is really nice (+/- like importing in Java)

How has it helped my organization?

It didn’t really change the way my organization works.

What needs improvement?

A test case design (schema) module would be nice.

For how long have I used the solution?

I've been using it for nine months, and my customer has been using it for three years.

What was my experience with deployment of the solution?

No issues encountered.

What do I think about the stability of the solution?

No issues encountered.

What do I think about the scalability of the solution?

No issues encountered.

How are customer service and technical support?

I just contacted them once. They responded very quickly, which is good, but the problem was on our side, so I cannot really evaluate.

Which solution did I use previously and why did I switch?

TestComplete was already in place when I arrived, but I know that they chose it because of the debugger and the fact that TestComplete recognizes more objects than QTP/UFT.

What about the implementation team?

It was done in-house.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
SmartBear TestComplete
December 2024
Learn what your peers think about SmartBear TestComplete. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
831,265 professionals have used our research since 2012.
PeerSpot user
Sr. Software Quality Consultant at a tech services company with 501-1,000 employees
Consultant
Top 20
We're able to perform NPAPI test runs on Chrome, but the ExtJS extension and reading of JQuery standard modal screens is still not so good.

Valuable Features

Test Runs on Chrome. Test Runs are faster than the previosu version.

Improvements to My Organization

After NPAPI was unsupported by Chrome, our test runs were halted on Chrome for a previous version of TestComplete. Started running again with version 11.11.

Room for Improvement

ExtJS extension and reading of JQuery standard modal screens is still not so good. For Automating ExtJS based systems you have to do record and playback to extract methods and no substantial documentation has been provided.

Deployment Issues

None.

Stability Issues

The product is relatively stable.

Customer Service and Technical Support

Customer Service:

It is quick.

Technical Support:

Not so helpful most of the times. They always fail to produce a work around.

Initial Setup

It was easy.

Implementation Team

In-House.

Pricing, Setup Cost and Licensing

Do not buy all the modules at once, if your primary system under test is for example Web based then only buy the web module.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user711891 - PeerSpot reviewer
Test Analyst
Vendor
It has increased effective testing processes and reduced the cycle time. I would like to see recovery scenarios.

What is most valuable?

One of the valuable features is object identification. It provides the different options to users so they can uniquely identify the objects.

How has it helped my organization?

By automating the regression test cases, it has increased effective testing process and reduced the cycle time.

What needs improvement?

I would like to see recovery scenarios.

For how long have I used the solution?

I have been using this solution for over four years.

What do I think about the stability of the solution?

I did not encounter any issues with stability.

What do I think about the scalability of the solution?

I did not encounter any issues with scalability.

How are customer service and technical support?

I would give technical support a rating of 8/10.

Which solution did I use previously and why did I switch?

When we started using this tool, only TestComplete provided the support of the automation for WPF objects.

How was the initial setup?

The initial setup was easy.

What's my experience with pricing, setup cost, and licensing?

This is cheaper compared to other testing tools.

Which other solutions did I evaluate?

We evaluated other options QTP.

What other advice do I have?

This is the best tool for GUI and Web Automation.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Systems Engineer at a tech services company with 51-200 employees
Consultant
It is similar to other tools like Selenium IDE where you can record and play test scripts. There is no support for mobile testing automation.

Valuable Features:

For more than a year, I've been working on automation of functional testing, regression testing using TestComplete. It is a great tool and hard to learn and use. 
 
Pros:
- It is similar to other tools like Selenium IDE you can record and play test scripts 

- Developer needed to create test scripts using VB Script, Jscript, Delphiscript etc - 
- QA perspective, helps test results logs helps in finding precisely the issue where test failed
- Tests can be recorded in keyword driven or screen capture modes on some screens.
- Tests can be created for regression, functional, DDT (data driven testing), ODT(object driven testing), and so on and it is good to use it for Cross browser testing.
 
Cons:
- There is no support for mobile testing automation.

- QA need to depend upon developer to correct the scripts any change happens. Automated

Improvements to My Organization:

Recording the scripts and running the scripts should be available to all users.

As a QA, I would like to use it by myself using the application recording and replaying the tests.

Room for Improvement:

On some of the UI application pop up screens, Closing and opening screens etc.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user242190 - PeerSpot reviewer
it_user242190Test Manager with 501-1,000 employees
Vendor

what is the best way to convert UFT scripts to TC compatible scripts.

it_user69072 - PeerSpot reviewer
QA Manager at Airpush India Pvt Ltd
Vendor
Automation testing using TestComplete

For more than a year, I've been working on automation of functional testing, regression testing using TestComplete. It's a paid automation tool.

It's an little tricky to learn and use but quite similar to Selenium. You can use xpath, record and play to script test cases.

Pros:
- Similar to Selenium IDE, you can record and play test scripts
- Similar to Selenium webdriver, you can create test scripts in VBScript, JScript, DelphiScript, C++Script or C#Script. (personally, I liked VBScript)
- Test results logs helps in finding precisely the issue where test failed
- Tests can be recorded in keyword driven or screen capture modes
- Tests can be created for regression, functional, DDT (data driven testing), ODT(object driven testing), and so on
- Can easily do cross-browser testing

Cons:
- Automated tests can not be run on Mac OSX
- No support for mobile testing automation (though there is a package 'seetest' which can be integrated with TC)
- It can not read xpath values for browsers other than IE, Firefox, chrome, Safari.

Also, you can learn about TestComplete by this book(written by Genndiy Alpaev and reviewed by me):

https://www.packtpub.com/application-development/testcomplete-cookbook 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user340998 - PeerSpot reviewer
it_user340998Software Quality Analyst I at Bentley Systems Incorporated
Consultant

In our organization we are using TestComplete for desktop based application using Visual Basic. Not using record and play back because this technique is not stable and must be used for learning purposes. We have very comprehensive set of regression testing integration with Jenkins. Yes you are right it need alot of improvement in web and mobile automation. For web based application I would personally recommend to use Selenium Webdriver using Java.

See all 3 comments
it_user323742 - PeerSpot reviewer
Test Automation Engineer at a tech vendor with 1,001-5,000 employees
MSP
It has helped significantly improve and speed up regression testing, although it could be improved with cross-platform testing (Linux, MacOS).

What is most valuable?

Ability to test all types of application (desktop, mobile, and web).

How has it helped my organization?

In all projects where I participated it helped significantly improve and speed up regression testing, which is usually bottleneck before release.

What needs improvement?

Since v11 of TestComplete it has all the features I was dreaming about during these years. Probably the only one great thing could be cross-platform testing (Linux, MacOS).

For how long have I used the solution?

I've been using it since 2006.

What was my experience with deployment of the solution?

No, I have never had any difficulties with TestComplete. All possible issues are also covered in TestComplete's help system and available online.

What do I think about the stability of the solution?

No issues encountered.

What do I think about the scalability of the solution?

No issues encountered.

How are customer service and technical support?

It is impressive! What I like the most is the fact that support team helps solving problems not only for their registered customers, but everyone else as well.

Which solution did I use previously and why did I switch?

In last 12 years I also used SilkTest and Squish. They have some benefits which TestComplete doesn't have, but in general TestComplete overcomes them.

How was the initial setup?

Was it difficult to set up the application first time? No. Or was it difficult to start using it? No, it was easy thanks to its tutorials.

What about the implementation team?

I did everything by myself. There is nothing difficult in it, TestComplete is very user-friendly.

Disclosure: My company has a business relationship with this vendor other than being a customer: My company doesn't, but I wrote a book on TestComplete and sometime run online courses for students in Russian.
PeerSpot user
reviewer1202277 - PeerSpot reviewer
Consultant at a tech services company with 1-10 employees
Consultant
Stable and Integrates well with Azure DevOps
Pros and Cons
  • "The most valuable feature is the integration with Azure DevOps."
  • "What is currently missing from this solution is better support for mobile testing."

What is our primary use case?

We use this solution for test automation. A few months ago we began working on a project, and this solution is part of an evaluation phase. We are trying to include the whole suite from SmartBear including HipTest and SoapUI Pro.

Our primary use case is a web solution that we are trying to get working on the mobile solution, based on Flutter. All of our apps are built on Flutter, which is still very new for us. There is no support right now, so we are working closely with SmartBear TestComplete to integrate it.

We have an on-premises deployment.

What is most valuable?

The most valuable feature is the integration with Azure DevOps. That has been, by far, the best thing for us. We can use it to integrate everything that we are running in the test automation tool, which is linked directly to the test cases. This is the only tool on the marked at actually has this functionality, and it has only come about since 14.2, the latest version.

What needs improvement?

What is currently missing from this solution is better support for mobile testing. This is what we are currently negotiating with them for.

Specifically, we would like to see Flutter support in the next release of this solution.

For how long have I used the solution?

We have been using this solution for a few months.

What do I think about the stability of the solution?

From my experience at this point, I would say that this solution is stable. Even with the earlier versions, as long as you set it up properly, it was stable.

What do I think about the scalability of the solution?

In terms of scalability, I think that it works pretty well if you have agents.

How are customer service and technical support?

We have not spoken directly with technical support. Currently, we are talking to the product manager.

How was the initial setup?

We are using the SmartBear suite, which meant that setting up TestComplete was pretty straightforward. As we are still evaluating, it has not been fully deployed.

What other advice do I have?

We haven't fully evaluated this solution, although I know that they have made a lot of updates since I worked on it the last time. The results of this evaluation will set the standard for other projects. We are creating the basis for everything. As things progress, it will be me creating the test, but it will be executed on several machines.

I would rate this solution an eight out of ten.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Download our free SmartBear TestComplete Report and get advice and tips from experienced pros sharing their opinions.
Updated: December 2024
Buyer's Guide
Download our free SmartBear TestComplete Report and get advice and tips from experienced pros sharing their opinions.