TestComplete Tips

Applies to TestComplete 15.47, last modified on January 20, 2023

SmartBear provides the following advice to help you avoid some of the possible problems when using TestComplete:

Avoiding Performance Problems

  • Distributing the testing of large projects between multiple Test Items will reduce the load on the testing machine.

  • Creating large script tests is not recommended. Using tests with over 15 MB of script code per gigabyte of available RAM may cause performance decay or a TestComplete crash.

    Due to technical implementation, TestComplete 32-bit cannot access over 2 GB of RAM for a 32-bit Windows edition, and 3 GB of RAM for a 64-bit Windows edition.
    This allows using 30 and 45 MB of script code respectively.

    If you need to use more script code in your project, creating multiple suites and distributing the tests among them is recommended.

    Keyword tests do not share this limitation.

  • Set up project NameMapping before recording the main test. Avoiding extra items in project NameMapping will prevent performance decay.

  • Running TestComplete on a computer under recommended System Requirements may reduce the test execution speed.

    To increase the test execution speed, follow the advice in the Enhancing TestComplete Performance topic.

  • A large amount of log items may cause performance decay, so removingĀ all unnecessary items from the Project Suite Logs is recommended.

  • Continuous testing generates large amounts of data stored on the disk. If your test runs for an extended period of time, more than 2 GB disk space may be required.

  • Collecting data on test objects whose images the Test Visualizer captures during the test run (and test recording) may reduce the performance of your test (test recording). To avoid possible issues, we recommend that you configure Test Visualizer not to collect data on test objects.

  • Updating Test Visualizer frames during the test run may slow down the test playback. To avoid possible problems, we recommend that you configure Test Visualizer not to update frames during test runs. See Updating Visualizer Frames.

  • The Name Mapping repository in your project and the Find, FindAll, FindChild, and FindAllChildren methods in your tests use object properties to find the needed object in the application. We do not recommend using the VisibleOnScreen property to search for objects. It can take much time for TestComplete to get this property value, and TestComplete will have to get the value of every object it checks during the search. As a result, it can decrease your test performance significantly.

Reducing System Impact on Test Result

  • If there are long pauses between test actions in your distributed tests, make sure that the screen saver, power saving options and lock screen are disabled. Otherwise, TestComplete will fail to continue the test run after the computer is locked.

  • If your test interacts with tray icons, make sure that they are always displayed. If the icon is not visible when you try to simulate a click over it, the test will fail. You can avoid this issue by enabling the Always show all icons and notifications on the task bar option.

  • When testing under a user account, check whether the user running the test has the required permissions.

  • Consider the specifics of the operating systems.

  • When performing Distributed or Parallel testing, configureĀ Firewall on all test computers.

  • Using Windows environment variables (%windir%, %programfiles% and others) instead of direct paths ("C:\Windows") will allow your test to run on machines where Windows is installed on a different drive.

See Also

System Requirements
Specifics of Using TestComplete on Various Windows Operating Systems
TestComplete and Windows Firewall
Configuring Your System

Highlight search results