# TestComplete

TestComplete is a functional automated testing platform developed by SmartBear Software. TestComplete gives testers the ability to create automated tests for Microsoft Windows, Web, Android (operating system), and iOS applications. Tests can be recorded, scripted or manually created with keyword driven operations and used for automated playback and error logging.
TestComplete contains three modules:
* Desktop
* Web
* Mobile
Each module contains functionality for creating automated tests on that specified platform.
TestComplete is used for testing many different application types including Web, Windows, Android, iOS, WPF, HTML5, Flash, Flex, Silverlight, .NET, VCL and Java. It automates functional testing and back-end testing like database testing.

## Overview
### Uses

TestComplete is used to create and automate many different software test types. Record and playback test creation records a tester performing a manual test and allows it to be played back and maintained over and over again as an automated test. Recorded tests can be modified later by testers to create new tests or enhance existing tests with more use cases.

### Main Features

* Keyword Testing: TestComplete has a built-in keyword-driven test editor that consists of keyword operations that correspond to automated testing actions.
* Scripted Testing: TestComplete has a built-in code editor that helps testers write scripts manually. It also includes a set of special plug-ins that help.
* Test Record and Playback: TestComplete records the key actions necessary to replay the test and discards all unneeded actions.
* Distributed Testing: TestComplete can run several automated tests across separate workstations or virtual machines.
* Access to Methods and Properties of Internal Objects: TestComplete reads the names of the visible elements and many internal elements of Delphi, C++Builder, .NET, WPF, Java and Visual Basic applications and allows test scripts to access these values for verification or use in tests.
* Bug Tracking Integration: TestComplete includes issue-tracking templates that can be used to create or modify items stored in issue-tracking systems. TestComplete currently supports Microsoft Visual Studio 2005, 2008, 2010 Team System, BugZilla, Jira and AutomatedQA AQdevTeam.
* Data-driven testing: Data-driven testing with TestComplete means using a single test to verify many different test cases by driving the test with input and expected values from an external data source instead of using the same hard-coded values each time the test runs.
* COM-based, Open Architecture: TestComplete's engine is based on an open API, COM interface. It is source-language independent, and can read debugger information and use it at runtime through the TestComplete Debug Info Agent.
* Test Visualizer – TestComplete automatically captures screenshots during test recording and playback. This enables quick comparisons between expected and actual screens during test.
* Extensions and SDK - Everything visible in TestComplete — panels, project items, specific scripting objects, and others — are implemented as plug-ins. These plug-ins are included into the product and installed on your computer along with other TestComplete modules. You can create your own plug-ins that will extend TestComplete and provide specific functionality for your own needs. For example, you can create plug-ins or use third-party plug-ins for:
** Support for custom controls
** Custom keyword test operations
** New scripting objects
** Custom checkpoints
** Commands for test result processing
** Panels
** Project items
** Menu and toolbar items

### Supported testing types

* Functional (or GUI) Testing
* Regression testing
* Unit testing
* Keyword testing
* Web Testing
* Mobile application testing
* Distributed Testing
* Functional Testing of Desktop, Web and Mobile Applications
* Coverage Testing
* Data-Driven Testing
* Manual Testing

### Supported scripting languages

* JavaScript
* Python
* VBScript
* JScript
** C++Script (specific dialect based on JScript supported by TestComplete - deprecated in version 12)
** C#Script (specific dialect based on JScript supported by TestComplete - deprecated in version 12)
* DelphiScript
* VB

### Supported applications

* Support for all 32-bit and 64-bit Windows applications.
* Extended support, access to internal objects, methods and properties, for the following:
** .NET (C#, VB.NET, JScript.NET, VCL.NET, C#Builder, Python .NET, Perl .NET etc.)
** WPF
** Java (AWT, SWT, Swing, WFC)
** Android
** iOS
** Xamarin (with the implementation of the Falafel Software bridge)
** Sybase PowerBuilder, Microsoft FoxPro, Microsoft Access, Microsoft InfoPath
** Web browsers (Internet Explorer, Firefox, Google Chrome, Opera (web browser), Safari (web browser)
** Visual C++
** Visual Basic
** Visual FoxPro
** Delphi
** C++Builder
** Adobe Flash
** Adobe Flex
** Adobe AIR
** Microsoft Silverlight
** HTML5
** Chromium (web browser)
** PhoneGap

### Awards

* The World of Software Development - Dr. Dobb's Jolt Awards: 2005, 2007, 2008, 2010, 2013, 2014
* ATI Automation Honors: 2010, 2014 (Overall subcategory; Java subcategory)
* asp.netPRO Readers' Choice Awards: 2004, 2005, 2006, 2007, 2009
* Windows IT Pro Editors' Best and Community Choice Awards: 2009
* Delphi Informant Readers Choice Awards as the Best in the Testing/QA Tool category: 2003, 2004