Automated White-Box Testing
It’s useful if an automated testing tool can access not only the application’s GUI, but look inside the application under test and access the internal properties, fields and methods of these applications. TestComplete can do all of this and more. It provides the automated test engine with access to methods and properties defined in the application’s code. This is helpful, for example, when you need to call a particular methods and check the response, or when performing unit testing, or to carry out a complete analysis of the application's state, and is also useful in many other situations.
The applications that expose their methods and properties to TestComplete are called Open Applications and the entire approach introduces white-box testing. In this concept the external automated testing tool gains almost the same level of insight into an application as the internal application debugger.
TestComplete’s white-box testing capabilities does not replace conventional testing but makes it more widely adopted, less confining and worrisome, and more productive earlier in the automated testing process.
How “deep” TestComplete can see into the application during white-box testing depends on the application type:
| Open Application | What TestComplete can see |
|---|
.NET | Public, protected, private, internal and protected internal properties and methods |
WPF (XAML) | Public, protected and private fields, properties and methods |
Visual C++ | Public, protected and private methods and properties |
Microsoft Visual Basic and other applications that use ActiveX elements | All methods and properties of applications’ forms and controls |
Delphi | Public, published, protected and private methods and properties |
C++Builder | Public, published, protected and private methods and properties |
Java | Public, protected and private methods and fields |
Web Pages TestComplete Enterprise only | All methods and properties of web page elements and specific methods of the Internet browsers |
Flex | Public properties |
Qt | Public, protected and private methods and properties |
MSAA Open Applications (Sybase PowerBuilder, Microsoft FoxPro, Microsoft Office InfoPath, Microsoft Office Access and others) | Objects, methods and properties exposed by the IAccessible interface |