Flexibility is Key
"I think the flexibility offered by TestComplete through plug-ins is perhaps its biggest advantage over its competitors. If ever during the implementation of a test I’d stumbled across an area of functionality that is particularly hard to automate, I’ve found a plug-in that has made the process much simpler. Also, support from newsgroups and AutomatedQA is priceless. Fast responses to questions means test implementation is rarely blocked," said Darren.
"Another major plus is the ability to create your own data objects. Enabling data, methods and properties to be encapsulated and easily passed throughout the test code and shared among project suites makes test implementation quicker by promoting code re-use and makes it easier to manage change."
Automating Functional Testing
"TestComplete was used to automate a full functional test of the Medical Imaging Application. This included the validation of everything from data entry and persistence, searching, process flow through the application, image capture and review," said Darren.
"Being able to utilize the standard Windows ADO made verifying the persistence of data, and very importantly for medical reasons, the sequencing of data recorded during a medical procedure simple."
"Also image comparison functionality in TestComplete meant images captured during Test procedures could be verified in review mode of the application. Obviously verifying the capture, review and manipulation of images is very important to an imaging product."
"A spin-off product for a different market meant a change in displayed screen text and controls between two applications, sharing the same code base."
"Risks associated with these implementations and inherent configuration management issues were mitigated by implementation of a test, which uses the TestComplete Object Browser tree. The Object Browser tree was traversed programmatically to compare what controls and text were displayed against those expected to be displayed. This meant from a testing perspective that we could ensure all controls and text that should be displayed, are displayed, and conversely, any controls and text that should not be displayed are not."
Testing Embedded and Host Software
Darren explained how they use TestComplete for functional testing of host and embedded software and how it makes this type of testing affordable. "TestComplete was used to implement a full functional test of both host and embedded software functionality. It was not only used to drive and verify functionality, when testing the host software, it was used to simulate the embedded software (and vice versa). This was made easy by TestComplete’s ability to add the MSComm32 ActiveX control and gain access to the
OnComm event. TestComplete’s event handler utilized the
OnCommevent, triggering every time data arrived on the Communications port (the communication interface between the embedded and host software). This enabled an implementation that acted on these communications, sending either valid or invalid responses to the calling software depending on the aim of the test."
"Being able to use TestComplete to control communications between the host and embedded software this way, meant that more rigorous testing could be performed on interfaces and the software in general. Triggering error conditions was easy, without the need to break expensive electronics in order to produce any perceived hardware errors, making the testing of error handling a simple, cost effective and repeatable process."
"Also isolating the embedded and host software like this greatly simplified testing by allowing test focus to be on either the host or the embedded software without one interfering with the other's test results."