In an environment where software defects need to be found quickly and reliably,TestComplete helps ARUP Laboratories do just that. ARUP typically processes more than 25,000 specimens per day. The Expert Specimen Processing (ESP) Development Team in the IT Department at ARUP is responsible for tracking patient specimens received for testing. This tracking currently begins when the specimens arrive at ARUP and ends when they are discarded. Production errors can impact patient care, so the ARUP development teams are always in the market for tools that can help them find and fix defects sooner rather than later.
ARUP and Automated Testing
"The driving force behind our decision to use automated testing was the need for a repeatable, reliable, fast, non-intrusive, low-resource solution for the regression testing of new releases of our ESP software. Because production errors can impact patient care, it is critical that software defects be found and fixed early in the development process," said Barbara Talley, the ESP Applications Development Supervisor at ARUP Laboratories.
Choosing a Testing Solution
No software developer at ARUP had any first-hand experience with an automated testing tool that was impressive enough to warrant a recommendation. "In searching on the web for a profiler, AQtime was discovered, and from that point, further investigation into AutomatedQA’s full suite of products identified TestComplete as a viable candidate for the first step toward test automation in the development environment. There were several requirements that TestComplete met," said Barbara. Barbara detailed some key factors in choosing TestComplete:
"Other automated testing applications cost thousands of dollars rather than a few hundred dollars per license, and the others do not offer a substantial improvement in features."
TestComplete supports several popular development platforms; Borland Delphi was especially important to ARUP Labs. "All of ESP’s software applications are written with the Borland Delphi IDE. It was essential that the automated tool we selected specifically support our development environment. TestComplete can access the objects in our applications and understand them as Delphi objects. Because objects referenced in TestComplete scripts use the same names and properties as the application code, scripts are easy to create and maintain. A specific advantage to this runtime support of Delphi VCL objects is that we are able to direct both mouse clicks and key strokes to specific window controls. We have made extensive use of the WaitWindow method, which enables us to wait for activation of specific forms and dialogs."
"TestComplete scripts can be written in DelphiScript and since this is very similar to Delphi, the learning curve of TestComplete is significantly reduced. The Delphi skills of our developers are easily transferred to TestComplete with only minor adjustments."
"Running scripts and reading the logs in TestComplete are intuitive for programmers. Also, the capability of breaking sophisticated scripts into multiple files directly correlates with the popular modular/incremental approach to software design/implementation."
"TestComplete has a robust and extensive feature set. Many of the features give added power to testing efforts, i.e. object driven testing, unit tests, and low level procedures. Despite the wide array of features, setting up a script to do simple testing proved very easy using the Record option."
"We look forward to taking advantage of the interoperability between TestComplete and AQtime. TestComplete will work with AQtime’s coverage profiler to show how complete our test scripts are and where we need more testing coverage. Currently AQtime helps us find bottlenecks in our most complex software application. While troubleshooting performance issues, AQtime was used to find the parts of the code and stored procedures that were the slowest. It turned out that the parts that were initially thought to be the slowest were working at acceptable speeds. AQtime saved time and effort by facilitating the fix of the actual bottlenecks. Without AQtime, changes would have been made based on assumptions of the bottleneck locations."
"TestComplete is a powerful automated testing solution because you can use either black or white box testing on an application, with white box testing accomplished through use of the Open Application features. While our legacy ESP software was not created with automated tests, or even with a clean separation of business logic, data access, and user interface, TestComplete's black box testing features allowed us to implement automated regression testing. The ability to customize the logging output ensures that all error and progress messages can be presented in a manner that is understandable."
"One pleasant surprise we have experienced with TestComplete is the quality and timeliness of customer support. A big fear about support is that, once the product is purchased, support will become sporadic and low quality. With AutomatedQA, this has not been the case. TestComplete and AQtime support has exceeded our expectations since we purchased the product."
TestComplete Proves Invaluable
As ARUP strives to improve turnaround time for its clients, all of the software development teams are constantly working to improve existing software and develop new applications. "One such development effort required an application to implement functionality that, while faster, had a direct correlation to its existing functionality. One of the main requirements of this new functionality was that the outputs be identical to the original functionality," said Barbara.
"TestComplete proved invaluable in this effort. It facilitated automating both processes and the comparison of the output. Not only was TestComplete faster than manual testing, it caught bugs that would not have been easily found, if ever, through manual testing."
"ESP’s most complex piece of software is responsible for associating a patient’s test with the specimen submitted for the test, and for selecting a laboratory destination for that specimen. This is a complicated process with many factors that affect the output. Prior to acquiring TestComplete, development regression testing of this application consisted of ordering random tests and verifying that the correct specimen labels were printed and the routing occurred as expected. With TestComplete we have been able to create a validated baseline file (saving all the significant data output for an order) for many tests. When the time comes to release a new version of this software, we can run the script and TestComplete will compare the results with the baseline. If there is a difference, it will be logged as an error and the build will be halted until the difference is understood and a new baseline is created or the error is fixed," said Barbara.
"As we expand the number of tests and specimen combinations with baselines, this functionality will allow us to reduce the risks involved in making changes to this critical software application."
Saving Time and Boosting Productivity
ESP has many applications to assist in tracking specimens, storing specimens, retrieving stored specimens, and discarding specimens once they no longer need to be accessible. Several of these applications are heavily dependent on data that is set up by other ESP applications.
"Prior to using TestComplete, setting up a test for any of these downstream applications could take a considerable amount of a developer’s time, depending on the complexity of the test. With TestComplete, we are able to set up almost any test for downstream applications in well under an hour, with only about five minutes’ time required from the developer to configure the TestComplete script. Many of these downstream applications will eventually have their tests automated, which will save even moretime," said Barbara.
"Even for system testing that does not yet lend itself readily to automation, TestComplete has been a boon to productivity, allowing us to generate hundreds of test data scenarios that can then be utilized in manual testing activities."
Time is Money
Barbara said that time is money and expensive resources cannot be squandered. "Time is money where expensive resources are concerned. Once a test case is written in TestComplete, it can be run again and again, in significantly less time than it takes to run the same test manually. This saves testing time that can be used elsewhere, which ultimately is a cost saving. The spin-up time involved for putting TestComplete into practice is minimal, and that in itself represents a cost savings over some other tool that has a steeper learning curve."
Aiding Software Developers
"Time to market at ARUP means releasing the software into our production environment within the company, since all of the ESP software at this point in time is used within ARUP. Over the past few years, more emphasis has been placed on what we call 'Dev testing', which is testing by the software developers in the development environment before the software is released to our certification environment for verification and validation. The idea is to promote first-time quality and reduce the number of cycles back and forth between the development and certification environments. This, in turn, saves time and money by reducing the overhead of doing repeated releases. TestComplete contributes to this effort by serving as an aid to the software developers in their testing efforts," said Barbara.
Customizing Scripts in No Time
Barbara said that their approach to test cases has not been a linear process. "Rather we have made many modular methods in TestComplete that are reused as needed. This allows for a fairly customized script to be created in a short amount of time. Some of these scripts are saved for regression testing, but most are created to immediately test a specific functionality."
"We have recently purchased AutomatedQA’s TestExecute product in order to create an automated build environment that will store and run our scripts in a central location. This natural extension of TestComplete will add another beneficial dimension to our automated testing efforts."
Looking Towards the Future
"We run tests on an 'as needed' basis, but our long-term plan is to have a core set of test scripts for all of our software and an automated build environment that tests changes as they are saved in our version control system. When we reach that point, we will be running tests on a daily basis," said Barbara.
Immediate Benefits with Promise for the Future
"While the Record feature is mostly designed for beginners, it is a very basic feature that offers huge returns. It creates a good starting point for any script – like having a rough draft of your script created for you. Quite often, a tool appears valuable until you start trying to integrate it into a process, and then it is abandoned because of frustrations in getting started. TestComplete has resulted in immediate benefits for the ESP Development Team, and promises even more advancement in productivity and quality for the long-term," said Barbara.
About ARUP Laboratories
With 22 years of business and more than 1,800 employees, ARUP Laboratories is a national reference laboratory and a worldwide leader in innovative laboratory research and development. ARUP offers an extensive test menu of highly complex and unique medical tests in clinical and anatomic pathology. ARUP's clients include more than half of the nation’s university teaching hospitals and children’s hospitals, major commercial laboratories, military and government facilities, and major clinics.
TestComplete is a comprehensive test automation solution with integrated support for a wide range of both internal and UI based testing. Designed for use by developers and testers alike, TestComplete offers both visual and scripted test generation and robust test management facilities. TestComplete supports Microsoft Windows, .NET, Delphi, Java, and Web applications.
See why ARUP Laboratories depends on TestComplete for test automation. Download your free trial and start automating your test scripts today.
All company names and/or products referenced herein are either registered trademarks or trademarks of their respective trademark holders.