Future of Test Automation Tools & Infrastructure Anand Bagmar ThoughtWorks
Future of Test Automation Tools & Infrastructure
Anand Bagmar
ThoughtWorks
Custom frameworks
Record & Playback
Core Framework
Evolution
Custom Frameworks
• Hybrid
What is next?
Behavior Driven Development (BDD)
Custom Frameworks
Record & Playback
Core Framework
Evolution
UI advancements !!!
The present!!!
Web catching up …
Gesture based technology
The future!!!
Spatial operating environment Professor John Underkoffler - MIT
Sixth Sense Technology Pranav Mistry
What we need to do?
AND ….
Think big!!
What this means for us?
UDD UI Driven Development
Features
• Result Analysis
• Charts & Graphs
• Archive
• Regular debugger functions
• Advanced debugger
• Execute tests • From within or
command line
• Create run command
• Remote machine(s) or locally
• Discovery
• Author
• Publish
• Plugin Manager
IDE Runtime
Report Debug
Plugins
UDD xPath Utilities
Discovery tools
Custom Reporting –
Trend analysis
Test data generators
Scheduling Language / framework
agnostic
Integration with external
tools & repositories
Omniture Testing
…
Discovery
Search & buy ticket
Login
Get credentials Get credentials from external user data file
Go to login page
Login
Search
Get search criteria
Get criteria from external search
data file
Query
Return results
Buy ticket
Login
Select ticket Get search results
Enter ticket details
Enter payment options
Get card details from external
data file
Checkout
Creating new Tests
Login
Load page Make
selection from
results
View results
Enter criteria
Checkout
Enter ticket details
Select ticket Login
Search
Checkout
How do we get there?
• Write better structured / layered code
• Reusability – productize it
• Use external libraries instead of copying the
code directly.
Example 1 – Omniture Testing
• Generic approach
• Minimum existing test modification
Omniture_Methods.setRequiresOmnitureTesting();
• Test data defined in easy-to-understand XML
• Can test multiple set of Omniture sections.
• Extracted into a jar for easier reuse.
Example 2 – Custom Listener
• Control test execution flow
• Handle test dependencies
• Critical Test Failures
• Richer reports
Example 3 – Reporting
• Provide visibility “due” for Test automation
• Use the metrics that matter
• Subscription / RSS feed
• Archive