
TestComplete Platform by SmartBear
Kewword Testing
TestComplete Platform allows you to record new keyword operations into existing automated software tests or even modify the recorded automated software tests using the keyword test editor. This in turn helps you save rework and create automated software tests faster. Keyword testing in TestComplete Platform is object-oriented and does not depend on the controls’ layout of the screen. As a result, your tests don't fail when the application’s interface changes.

- Simulate user actions on the tested processes, windows, controls, menus, and objects.
- Access internal objects, methods, and properties of the application under test.
- Make your keyword tests more flexible by passing values from external files rather than hard-coded data.
- Covert keyword tests to their script equivalents.
- Use keyword test debugger to debug keyword tests step-by-step, trace into other keyword tests that might be called from the debugged keyword test, evaluate parameters, and set breakpoints.
- Extend keyword tests using custom operations.
Automated Test Visualizer
TestComplete Platform’s built-in Automated Test Visualizer captures not only screenshots, but also information about objects and properties for each screen. On each screen, the currently tested object is highlighted, making it easy to understand the current automated testing context.

- Insert and automate new test operations and software testing checkpoints directly from the screens without even accessing the tested application.
- Include a side-by-side view of the originally captured screen and the screen captured during the playback of your automated test to identify changes that occur in the application.
- Update the originally captured screens automatically during the test run whenever the tested application changes.
Automated Test Recording
Automated Test Recording Engine provides you full flexibility and as a result you can append the recorded operations to existing tests instead of recording new tests. You just need work with the application under test – select menu items, type text, choose values from combo boxes, press buttons - and all your actions are recorded as automated test commands.

- Create automated tests without knowing any scripting languages.
- Record automated tests as powerful, quick, and simple keyword tests.
- Record user actions as scripting instructions in Python, JScript, VBScript, DelphiScript, C++Script or C#Script.
- Make automated tests compact and easy to read by recording the key actions and discarding all unneeded actions.
- Record exact simulation of mouse and keyboard events such as mouse clicks, mouse motions, mouse wheel events, and pauses between events using low-level procedures.
- Playback procedures at the same speed as they were recorded.
Plugins and Extensions
Everything visible in TestComplete Platform — panels, project items, specific scripting objects, and others — is implemented as plugins. You can thus create your own plugins and extend TestComplete Platform to provide the specific functionality you need. For example, you can create plugins that add support for custom controls, perform keyword test operations, and add new panels. Not only this, you can use extensions framework provided by TestComplete Platform to build light-weight script extensions that extend TestComplete Platform's functionality.
- Use TestComplete Platform’s SDK to build custom plugins.
- Created plugins with full-fledged programming languages like Visual C++, C# or Delphi.
- Use VBScript or JScript to build script extensions directly in TestComplete Platform and without using Platform’s SDK files and modules.
- Use several examples of script extensions provided with TestComplete Platform’s installation package to get up and running quickly.
Checkpoints
In-built checkpoints provided by TestComplete Platform enable you to perform verifications of different kinds and ensure tested applications function properly. You can even create custom checkpoints to perform verifications not available in TestComplete Platform.

- Use a special wizard to create custom checkpoints without writing automated test script code.
- Use in-built checkpoints to compare two images pixel-by-pixel, files (byte-by-byte), or object’s property value.
- Verify desktop application’s object and XML document using inbuilt checkpoints.
- Confirm data of a database table or view or a query result.
- Check for tabular controls, such as grid, list view, list box or even clipboard contents.
- Verify a web service’s response and actions over a web page, like checking for broken links and use of ActiveX objects.
Test Editor and Debugger
TestComplete Platform’s editor provides you with all modern code editing features that enable you to write scripts quickly, improve the script readability, and organize your code better. Also, TestComplete Platform comes with two types of debuggers: script and keyword, that allow you to halt test execution on a certain keyword test operation or a script line.

- Navigate between routines in large automated test script units by clicking their names in the code editor.
- Use breakpoints (both ordinary and conditional) provided to debug tests.
- Pause automated test execution manually and easily find objects, variables and arbitrary expressions with changed values.
- Evaluate expressions and inspecting objects as well as run automated test to the currently selected command.
- Use the list of objects, properties, methods, routines and variables provided by TestComplete Platform’s in-built editor to autocomplete test script code.
- Get quick hints about routine parameters by pressing CTRL+SHIFT+SPACE within the editor.
- Use predefined code templates for scripting statements like for loops, switch and try blocks, and many others.
- Check the automated test script’s syntax while typing and mark lines containing syntax errors.
- Identify code blocks and easily locate missing or mismatched braces by automatic brace matching.
Distributed Testing
TestExecute allows testers to run and report on distributed automated tests run in a test lab, virtual machines, or even on the cloud. Additionally, TestExecute can be distributed to end-users (both within and outside your organization).

- Run automated tests quickly by distributing the automated test workload across virtual machines, computers in your network, or even on cloud.
- Use a single project to easily configure and manage automated distributed tests.
- Synchronize distributed test execution to implement real-world distributed testing scenarios.
- Use a centralized interface for observing the current progress of the tests executed on different machines.
- Get a unified high-level test summary and detailed statistics on each part of the distributed test.
Object-Based Recording
TestComplete Platform works at the object level. This means that when TestComplete Platform captures user actions over an application, it records more than just mouse clicks and simple screen coordinate based actions.

- Read the object name and properties from the application.
- Record the actions of the object: selection, string input, checking/unchecking and much more.
- Automatically recognize the most common UI library objects and application-specific elements for your development platform.
- Use the same names for the windows and controls that were assigned by the developers.
Test Reporting
Detailed test logs generated by TestComplete Platform can be can be viewed directly in TestComplete, or can be exported to HTML, XML or MHT format. Testers can even post custom messages, images, files and other entry types to the test log.

- Easily detect automated test operations that caused error by double-clicking on a log entry.
- Add custom text and HTML contents to logs and color-code it for better visual analysis.
- TestComplete Platform’s Visualizer automatically captures screenshots for failed test operations and makes it easier to identify the root cause of the problem.
- Submit automated test log data directly to bug tracking, issue-tracking and project management systems such as Bugzilla, Atlassian JIRA. Microsoft Visual Studio Team System, and QAComplete.
Data-Driven Testing
TestComplete Platform allows you to drive tests with input and expected values from an external data source instead of using the same hard-coded values each time the test runs. Using the data-driven testing feature of TestComplete Platform, you can thus increase your automated test coverage.

- Create re-usable automated tests consisting of the same operations but different input and expected values.
- Pick up data from external sources such as Excel spreadsheets, CSV files, Microsoft SQL Server, Oracle, MySQL, Microsoft Access, Interbase and more.
- Quickly generate test data using TestComplete Platform's integrated data generator.
- Easily maintain test cases by keeping all input data and expected results for your automated tests in one place.
Regression Testing
Automate regression tests easily and quickly using TestComplete Platform. Additionally, available integrations with automated builds and defect tracking tools ensures problems caused by recent code modifications are identified and fixed as soon as possible.

- Automate regression tests as keyword, scripted, or low-level functional tests.
- Select the test or test collections to run and specify their execution order.
- Identify recent code modifications causing problems and fix them quickly using reports and Visualizer.
- Schedule regression tests to run unattended at a specific time.
- Run your Regression tests with Automated Builds and in parallel.