Steve Brunner, Director of Quality Development at InterSystems presented at MassTLC's automated testing event on June 12, 2013 at Brightcove, Boston, MA
2. • Application Development Tools
• Caché – Fast Scalable Secure DB
• Ensemble – Integration Engine
• DeepSee – Integrated Business Intelligence
• iKnow – Unstructured Data Analysis Tools
• HealthCare Applications
• TrakCare – Electronic Patient Administration
• HealthShare – Aggregated Electronic Health Record
• Patient Master Index, Clinical Viewer, Active Analytics
InterSystems Products
3. • 1300 Employees in 6 continents
• Quality Development
• Independent of Product Development
• 60 people worldwide
• Mixture of Automated, Semi-automated, Manual
testing of all products
InterSystems
4. • Unit Tests
• %UnitTest is built into Caché
• ~80,000 unique unit tests
• ~47 Million executions in 2012 on 45 platforms
• Continuous Integration Testing - KingTut
• Build, Install, AutoTest every 2 hours with latest code
• If FAIL, nag all who checked things in since last PASS
• GUI Automation with HP Quick Test Pro
• We author tests using inhouse developed Framework.
Automated Testing
5. • Not free, not even cheap
• Automation takes time and people and machines
• Pick a budget, e.g. 15% automation, 85% manual
• Prioritize – can’t do everything
• Not enough time to write them or to execute them
• Do risk assessment to pick areas to automate, based
on importance, detectability, code author, or history.
• Semi-automation is OK, don’t force it.
• E.G. verifying visual details like “Button turns Green.”
Lessons:
6. • Best for trying permutations
• May need to glue things together
• Build, install, test. Lather, rinse, repeat.
• You need to pay attention to failures
• We developed our own tool for visualizing and tracking
test results.
Lessons:
7. • Unit Tests best written by original developer
• But often aren’t
• Make tests runnable by the developers
• Making them easy to run is important
• We switched from a 3rd party tool about 6 years ago to
an inhouse developed Unit Testing tool (%UnitTest).
Lessons