Getting the Most Out of TestComplete

How QASource Leverages The Easiest-to-Use Automated UI Testing Tool
  March 21, 2019

Melissa Leiter is a SmartBear customer who wrote a guest blog on behalf of QASource. The following is a short case study on how QASource has used TestComplete to provide Test Automation services for their clients.

Here at QASource, a software testing company that works with startups to market leaders like Amazon, Oracle, and Target, we are big fans of SmartBear tools. In particular, TestComplete, the easy-to-use automated UI testing tool.

If you’re not aware, TestComplete provides special features for automating test actions, creating tests, defining baseline data, running tests, and logging test results.

In a world where our attention spans are short and new software products launch every day, you cannot afford to launch a poor product. TestComplete helps you increase your test coverage and ensures you ship high-quality software.

TestComplete ensures that applications are both functional and accessible across possible web environments. Once cross-browser test support is built, engineers are able to run automation GUI tests across multiple browser combinations, allowing them to find and fix problems quickly.

We Love Using TestComplete, And We’re Not Alone!

So why do so many engineers use TestComplete?

There are many reasons why engineers, like our staff of over 700 engineers, jump at the chance to use TestComplete.

Here are a few:

  • • TestComplete has an open flexible architecture that allows users to automate applications across multiple browsers, devices, and platforms. You can automate GUI testsin multiple scripting languages, including JScript, Python, VBScript, C#, and Delphi Script.
  • • TestComplete includes a ‘recording tests’ feature, which allows tests to be created visually, and all recorded actions will be converted to a test. This tool has the ability to identify cross-browser tests by status and can filter errors by type for enhanced reporting.
  • • TestComplete has excellent support with quick turnaround. Its knowledge base contains forums, extensive documentation, and videos explaining its usage.
  • • TestComplete also has built-in test samples to help users get started with the tool and test automation including special dialogs and wizards that will help automate comparison commands-or checkpoints-in tests.
  • • With distributed network suites, engineers are able to run test suites simultaneously in various environments. An automated regression suite makes processes repeatable and reliable, giving the ability to rerun test cycles.

These are just a few of the many reasons why engineers are quick to use TestComplete.

Since we’ve been using TestComplete for several years now, we’ve learned some best practices to follow as well as some great tips and tricks.

Best Practices To Follow 

After completing many engagements using TestComplete, we have come up with some best practices we would like to share that will help improve automated testing processes and get releases out on time.

  1. First of all, make sure this is the right tool for you and your team. While we at QASource have found it to be extremely helpful, it may not make sense for you and your team. Make sure your tool offers support for your platforms and technology, your engineers can use your tool, it's rich in features, and it's easy to create automated tests. We recommend you explore this tool, evaluate the immense features and support it gives, and customize it to your needs over other tools. TestComplete comes with a full-fledged 30-days trial license, giving you ample opportunity to see all that it has to offer.
  2. Create automated tests that are resistant to changes in the UI. Your automated tests should be reusable, maintainable, and resistant to changes in the application’s UI. We recommend not allowing automated tests to rely on screen coordinates to find the control, as this is less stable and breaks easily.
  3. Use key TestComplete features. TestComplete has some key features that make this tool highly sought-after. TestComplete’s OCR with AI allowing users to detect and test application components that were previously undetectable, including PDFs, charts, mainframes, and SAP applications is invaluable to our team. This tool also contains an intelligent recommendations system, enabling auto-detection and notifications about unused objects and application updates.
  4. Avoid dependent settings. Dependent settings can be found in the path to tested applications, page address in web testing, and database checkpoints. Make sure your engineers use relative paths, if possible, and move the tested applications along with the project. If your web page resides locally, it may contain localhost instead of server name, making your code system dependent. Your database connection string may contain computer-specific data, making your connection strings system dependent. To avoid this, move the database to a shared folder and specify the network path to the database.
  5. Make use of the latest TestComplete updates. Any good company will update its tool, and SmartBear is no different. TestComplete has now added BDD support, a framework type for both technical and business end users. This tool now provides a plugin for Jenkins to run TestComplete tests as part of the Jenkins Pipeline. Error handling has also improved with this latest update. This makes it much simpler to control the test execution flow and allows users to ignore errors and warnings that occur if they wish to stop the test or entire test run. Users are now able to configure test items to use the project’s ‘Error handling > On error’ property.

Like we mentioned before, we use TestComplete A LOT. In our time working with the tool we’ve got some tips and tricks we’ve learned along the way from our experience. Follow our above listed best practices and these tips and tricks and you’ll be a TestComplete pro in no time. 

Tips & Tricks For TestComplete Users

  • • Make sure to disable test visualizer in order to increase the speed of your tests and save the hard disk space
  • • To enhance automated test execution, use operation specific optimized waits in your tests, such as WaitProperty, WaitWindow, WaitChild, and WaitProcess.
  • • Be sure to configure the firewall on all test computers while performing distributed or parallel testing
  • • Do not use NameMapping if you have dynamically changing environments, as it will cause failure because of the static values stored. Instead, we recommend you use alternative methods in your automated tests.
  • • Work with “Object Browser” while dealing with Page object. Any browser window will require working with the process windows, buttons, and navigation elements, which are all outside of the page object.
  • • Since each object in a process is treated as a TestNode in TestComplete, they all share certain basic properties and set of functions that can be utilized.

We have found that TestComplete can be used to support many different clients and software products. Its functionality is unmatched. Plus, SmartBear has the ability to integrate with other tools and various testing requirements, including source control systems, issue-tracking systems, Jenkins, Selenium, unit testing frameworks, continuous integrations (CI) systems, and flash and flex applications makes transitioning or adding to your current process seamless.

We at QASource, have completed multiple POC’s with TestComplete for various products and hold expertise in building the optimal automation framework design with this tool. Please visit us for any recommendations on creating a complete automation solution using TestComplete.

If interested in working with an extended QA partner like QASource, please reach out! We’d love to learn more about your QA testing challenges.