SlideShare a Scribd company logo
1 of 13
Download to read offline
W15
Session
10/26/2016 15:00
Objects vs. Images: Choosing the Right
GUI Test Tool Architecture
Presented by:
Chip Groder
Intervise Consultants Inc.
Brought to you by:
350 Corporate Way, Suite 400, Orange Park, FL 32073
888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - http://www.starcanada.techwell.com/
Chip Groder
Intervise Consultants Inc.
Senior test architect Chip Groder has more than thirty years of experience in
software development, software testing, and software quality. Chip has helped
multiple Fortune 1000 organizations achieve success with test automation by
defining test automation architectures; assisting with the creation, selection, and
implementation of test automation frameworks; and training and mentoring
individuals and teams in the art and science of automating tests. Chip is an expert
in keyword-based test design and has experience with dozens of test tools. In his
leisure time he is usually in his shop restoring an old John Deere tractor or out
riding his horse.
9/26/2016
1
Objects vs ImagesObjects vs. Images 
Choosing the Right GUI Test Tool
Architecture
Chip Groder, Intervise Consultants Inc.
kgroder@intervise.com
1
Context: Test Automation ‘Hierarchy of 
Needs’
S lScale
Test 
Maintenance
Test Creation
ToolsTools
The selection of the ‘right’ automation tool is a small part of 
test automation cost, and the resulting ROI.
2
9/26/2016
2
Selected GUI Test Tool History
• 1988 XRunner
Mercury Interactive
• 1984 Apple Macintosh
L t 80 U i & XWi d
y
• c 1992 QA Partner 
Segue Software
• c 1993 MSTest
Microsoft
• c 1994 WinRunner
Mercury Interactive
• 1995 SQA Robot 
SQA Inc
2002 E l t
• Late 80s Unix & XWindows
• 1991 World Wide Web
• 1991 Linux
• 1992 MS Windows 3.1
• 1993 Mosaic Browser
• 1995 Java AWT
• 1997 Java SWING
• 2002 Eggplant 
Redstone Software
• 2004 Selenium 
ThoughtWorks > Open Source
• c 2009 Sikuli
MIT > Open Source
• 2000 QT Project
… and so on
3
Object Recognition Test Tools
4
9/26/2016
3
Object Recognition Based Tools
Tool Name Vendor Web Site
Rational Functional Test IBM/Rational http://ibm.com
SilkTest * Microfocus/Borland http://microfocus.com
Unified Functional Test * HP/Mercury http://hp.com
Selenium Open Source http://selenium.org
Ranorex Studio Ranorex http://ranorex.com
Test Complete SmartBear http://smartbear.com
Test Architect * LogiGear http://testarchitect.logigear.com
Jabula Bredex/Open Source http://eclipse.org/jabula
* Product also supports image recognition
5
Object Recognition Test Tools (1)
• Interact with the GUI subsystem to detect and manipulate GUI objects
• Web test tools (e.g. Selenium) access the browser’s DOM data
T i ll i t i t th AUT b t t th SUT
Application Under TestTest Tool
System Under TestSystem Under Test
• Typically non‐intrusive to the AUT, but not the SUT
• Typically run on the same system as the AUT
Operating System
GUI Subsystem
6
9/26/2016
4
Object Recognition Test Tools (2)
• Many have the capability to do ‘remote testing’
• Script on one host machine drives one or more remote machines
• Require a (licensed) agent to be installed on each SUT
Test 
Tool
Script 
System(s) Under TestSystem(s) Under Test
Application Under Test
GUI Subsystem
Test Tool
(agent) Application Under Test
GUI Subsystem
Test Tool
(agent) Application Under Test
GUI S b
Test Tool
(agent) Application Under Test
Test Tool
Agent
p
Engine
Operating System
Operating System
y
Operating System
GUI Subsystem
Operating System
GUI Subsystem
7
Object Recognition Strengths & 
Weaknesses
• Strengths
– They can quickly and easily manipulate standard GUI objects
– Your script has access to most or all of the object’s underlying propertiesp j y g p p
• e.g. a button may be enabled, or disabled (grayed out)
– Text values can be accessed directly 
• e.g. a button caption, window title, or the contents of an edit field
– Execution is often faster than a human could type
• Weaknesses
– They are intrusive to the SUT, requiring installation of the tool or an agent
– Limited platform support (Windows & maybe Linux)
– They don’t understand custom objects 
• e.g. the map display in Google Maps
• You must extend the functionality of the tool to handle custom objects
– They are typically very weak in image recognition
• Pixel‐for‐pixel comparison for regions of the screen
– Most tools provide OCR text recognition as a backup
8
9/26/2016
5
Example: Get the Contents of a List
QTP code:
mylist = Application(“Notepad”).Dialog(“Font”).WinComboBox(“Font:”).GetContent
• Returns an array containing the list values 
• It doesn’t matter whether the list items are visible
9
Example: Find lake Superior
LakeSuperior.png
• Most tools cannot do this
• QTP, SilkTest, and TestArchitect have recently been given recognition capabilities
10
9/26/2016
6
Image Recognition Test Tools
11
Image Recognition Based Tools
Tool Name Vendor Web Site
Eggplant TestPlant Inc http://testplant comEggplant TestPlant Inc http://testplant.com
Sikuli Open Source http://sikuli.org
ATRT Innovative Defense Tech. http://idtus.com
SilkTest * Microfocus/Borland http://microfocus.com
Unified Functional Test * HP/Mercury http://hp.com
Test Architect * LogiGear http://testarchitect.logigear.comTest Architect  LogiGear http://testarchitect.logigear.com
* Product primarily supports object recognition
12
9/26/2016
7
Image Recognition Test Tools (1)
• Deal exclusively with what is visible on the screen 
• Objects are recognized by using a snapshot to find matching image(s) on the screen
• Some tools (Eggplant and ATRT) run on a different system than the AUT
System Under TestSystem Under Test
Some tools (Eggplant and ATRT) run on a different system than the AUT
• Interact with the AUT via a remote desktop protocol (e.g. VNC or RDP)
• Not intrusive to the SUT, since VNC and RDP are bundled with the OS
Application Under Test
RDP
Host SystemHost System
Operating System
GUI Subsystem
VNC or RDP
Test Tool
VNC or R
13
TCP/IP
Image Recognition Test Tools (2)
• Eggplant and ATRT can also support a KVM connection for nonintrusive testing
• SUT/AUT must support standard PC KVM connections
Test Tool
System Under TestSystem Under Test
Application Under Test
VNC
Host SystemHost System
Keyboard, Video, 
Operating System
GUI Subsystem
& Mouse cables
TCP/IP
KVM/IP
appliance
VNC
14
9/26/2016
8
Image Recognition Test Tools (3)
• Sikuli, QTP, SilkTest, and TestArchitect run on the same system as the AUT
• With work, Sikuli can be made to run on a separate system
Application Under TestTest Tool
System Under TestSystem Under Test
Operating System
GUI Subsystem
15
Display 
Subsystem
Image Recognition Strengths & 
Weaknesses
• Strengths
– (Some) are non‐intrusive to the SUT
• Unlimited platform support (if you can connect it, you can test it)
– They see what the human sees. Not constrained to standard objects.
• If you can see it, you can manipulate it
– They have sophisticated image recognition capabilities
• Capabilities vary widely between tools
• Find a previously recorded image on  the screen
• Weaknesses
– They have no access to the underlying GUI subsystem
• e.g. Getting the contents of a list box requires complex scripting logic
• Can only access properties that are visible. If you can’t see it, you’re out of luck.
– Image recognition can require large collections of images– Image recognition can require large collections of images
• e.g. Button enabled image, button disabled image
– Text recognition is via OCR only, relatively slow and unreliable
– Execution on a different system makes some operations very difficult
• e.g. Reading a log file on the SUT
– Execution can be slow, requires additional work to tune for best performance
– Different OS versions may require different image libraries (e.g. Win7 vs Win10)
16
9/26/2016
9
Example: Get the Contents of a List
You have to write code!                                    Example Psuedocode
• “If it isn’t visible, it doesn’t exist”
• You must explicitly control what is (or becomes) visible
17
Example: Find lake Superior
LakeSuperior.png
// Eggplant code: Find Lake Superior, print a message.
If ImageFound(5.0, “LakeSuperior.png”) Then
put “Found the image at: ” & FoundImageLocation()
End If
18
9/26/2016
10
Testing Mobile Apps
• Mobile is the ‘next big thing’
• Mobile applications are overtaking PC applicationsMobile applications are overtaking PC applications
• Tool vendors are racing to add mobile test capability to 
their tools
• Both object‐based and image‐based architectures 
apply to mobile testing
– The test tool generally runs on a separate hostThe test tool generally runs on a separate host
– Object‐based architectures rely on native or add‐on 
software that exposes the GUI subsystem’s objects
– Image‐based architectures use the remote desktop 
features bundled with the device OS
19
Which Tool Should I Choose?
Is there a requirement to 
test the AUT through the 
GUI?
No
Consider non‐GUI tool first.
SUT – System Under Test
AUT – Application Under Test
Is there a requirement that 
the tool be non‐intrusive to 
the SUT?
Is the AUT browser based 
(i.e. a web app)?
N
No
Does testing involve 
verifying large numbers 
of pictures/images?
Consider image architecture first.
Mobile platforms? 
Consider either architecture.
Consider image architecture first.
No
Yes
Yes
Yes
Yes
Yes
20
Windows OS only? 
Consider object architecture first.
No
No
Consider image architecture first.
Yes
No
9/26/2016
11
THE END
Thank you!
THE END
21

More Related Content

What's hot

Hitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional TestingHitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional TestingWiebe Elsinga
 
Beyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology ConferenceBeyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology ConferenceJames Coplien
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648Eing Ong
 
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?TechWell
 
SecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurity Ninja
 
Automated Reporting of GUI Design Violations for Mobile Apps
Automated Reporting of GUI Design Violations for Mobile AppsAutomated Reporting of GUI Design Violations for Mobile Apps
Automated Reporting of GUI Design Violations for Mobile AppsKevin Moran
 

What's hot (7)

Android testing part i
Android testing part iAndroid testing part i
Android testing part i
 
Hitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional TestingHitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional Testing
 
Beyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology ConferenceBeyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology Conference
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648
 
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?
 
SecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurityBSides las vegas - Agnitio
SecurityBSides las vegas - Agnitio
 
Automated Reporting of GUI Design Violations for Mobile Apps
Automated Reporting of GUI Design Violations for Mobile AppsAutomated Reporting of GUI Design Violations for Mobile Apps
Automated Reporting of GUI Design Violations for Mobile Apps
 

Viewers also liked

Using Artificial Intelligence to Test the Candy Crush Saga Game
Using Artificial Intelligence to Test the Candy Crush Saga GameUsing Artificial Intelligence to Test the Candy Crush Saga Game
Using Artificial Intelligence to Test the Candy Crush Saga GameTechWell
 
Build Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudBuild Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudTechWell
 
Combinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesCombinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesTechWell
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New NormalTechWell
 
High-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software DevelopmentHigh-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software DevelopmentTechWell
 
Agile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthAgile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthTechWell
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test AutomationTechWell
 
Become an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardBecome an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardTechWell
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory TestingTechWell
 
How to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkHow to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkTechWell
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectTechWell
 

Viewers also liked (11)

Using Artificial Intelligence to Test the Candy Crush Saga Game
Using Artificial Intelligence to Test the Candy Crush Saga GameUsing Artificial Intelligence to Test the Candy Crush Saga Game
Using Artificial Intelligence to Test the Candy Crush Saga Game
 
Build Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudBuild Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the Cloud
 
Combinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesCombinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification Trees
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
High-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software DevelopmentHigh-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software Development
 
Agile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthAgile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to Depth
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test Automation
 
Become an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardBecome an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be Heard
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory Testing
 
How to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkHow to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation Framework
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
 

Similar to Objects vs. Images: Choosing the Right GUI Test Tool Architecture

Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterTechWell
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessJosiah Renaudin
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test AutomationTechWell
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Bitbar
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test AutomationTechWell
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTechWell
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Turkish Testing Board
 
bqurious Test Automation & Management Suite
bqurious Test Automation & Management Suitebqurious Test Automation & Management Suite
bqurious Test Automation & Management SuiteAbhay Goel
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation toolsSSGMCE SHEGAON
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test AutomationTechWell
 
Pentesting Android Applications
Pentesting Android ApplicationsPentesting Android Applications
Pentesting Android ApplicationsCláudio André
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...Agile Testing Alliance
 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteMediacurrent
 
Winning strategies in Test Automation
Winning strategies in Test AutomationWinning strategies in Test Automation
Winning strategies in Test AutomationXBOSoft
 
Managing Successful Test Automation
Managing Successful Test AutomationManaging Successful Test Automation
Managing Successful Test AutomationTechWell
 
Software Testing - Sajid Sidi
Software Testing - Sajid SidiSoftware Testing - Sajid Sidi
Software Testing - Sajid SidiSajid Sidi
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingQA or the Highway
 

Similar to Objects vs. Images: Choosing the Right GUI Test Tool Architecture (20)

Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile Tester
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation Success
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test Automation
 
Using Robots for App Testing
Using Robots for App Testing Using Robots for App Testing
Using Robots for App Testing
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test Automation
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product Maturity
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
 
bqurious Test Automation & Management Suite
bqurious Test Automation & Management Suitebqurious Test Automation & Management Suite
bqurious Test Automation & Management Suite
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation tools
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test Automation
 
Pentesting Android Applications
Pentesting Android ApplicationsPentesting Android Applications
Pentesting Android Applications
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal Site
 
Winning strategies in Test Automation
Winning strategies in Test AutomationWinning strategies in Test Automation
Winning strategies in Test Automation
 
Managing Successful Test Automation
Managing Successful Test AutomationManaging Successful Test Automation
Managing Successful Test Automation
 
Software Testing - Sajid Sidi
Software Testing - Sajid SidiSoftware Testing - Sajid Sidi
Software Testing - Sajid Sidi
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web Testing
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 

Recently uploaded (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

Objects vs. Images: Choosing the Right GUI Test Tool Architecture

  • 1. W15 Session 10/26/2016 15:00 Objects vs. Images: Choosing the Right GUI Test Tool Architecture Presented by: Chip Groder Intervise Consultants Inc. Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - http://www.starcanada.techwell.com/
  • 2. Chip Groder Intervise Consultants Inc. Senior test architect Chip Groder has more than thirty years of experience in software development, software testing, and software quality. Chip has helped multiple Fortune 1000 organizations achieve success with test automation by defining test automation architectures; assisting with the creation, selection, and implementation of test automation frameworks; and training and mentoring individuals and teams in the art and science of automating tests. Chip is an expert in keyword-based test design and has experience with dozens of test tools. In his leisure time he is usually in his shop restoring an old John Deere tractor or out riding his horse.
  • 3. 9/26/2016 1 Objects vs ImagesObjects vs. Images  Choosing the Right GUI Test Tool Architecture Chip Groder, Intervise Consultants Inc. kgroder@intervise.com 1 Context: Test Automation ‘Hierarchy of  Needs’ S lScale Test  Maintenance Test Creation ToolsTools The selection of the ‘right’ automation tool is a small part of  test automation cost, and the resulting ROI. 2
  • 4. 9/26/2016 2 Selected GUI Test Tool History • 1988 XRunner Mercury Interactive • 1984 Apple Macintosh L t 80 U i & XWi d y • c 1992 QA Partner  Segue Software • c 1993 MSTest Microsoft • c 1994 WinRunner Mercury Interactive • 1995 SQA Robot  SQA Inc 2002 E l t • Late 80s Unix & XWindows • 1991 World Wide Web • 1991 Linux • 1992 MS Windows 3.1 • 1993 Mosaic Browser • 1995 Java AWT • 1997 Java SWING • 2002 Eggplant  Redstone Software • 2004 Selenium  ThoughtWorks > Open Source • c 2009 Sikuli MIT > Open Source • 2000 QT Project … and so on 3 Object Recognition Test Tools 4
  • 5. 9/26/2016 3 Object Recognition Based Tools Tool Name Vendor Web Site Rational Functional Test IBM/Rational http://ibm.com SilkTest * Microfocus/Borland http://microfocus.com Unified Functional Test * HP/Mercury http://hp.com Selenium Open Source http://selenium.org Ranorex Studio Ranorex http://ranorex.com Test Complete SmartBear http://smartbear.com Test Architect * LogiGear http://testarchitect.logigear.com Jabula Bredex/Open Source http://eclipse.org/jabula * Product also supports image recognition 5 Object Recognition Test Tools (1) • Interact with the GUI subsystem to detect and manipulate GUI objects • Web test tools (e.g. Selenium) access the browser’s DOM data T i ll i t i t th AUT b t t th SUT Application Under TestTest Tool System Under TestSystem Under Test • Typically non‐intrusive to the AUT, but not the SUT • Typically run on the same system as the AUT Operating System GUI Subsystem 6
  • 6. 9/26/2016 4 Object Recognition Test Tools (2) • Many have the capability to do ‘remote testing’ • Script on one host machine drives one or more remote machines • Require a (licensed) agent to be installed on each SUT Test  Tool Script  System(s) Under TestSystem(s) Under Test Application Under Test GUI Subsystem Test Tool (agent) Application Under Test GUI Subsystem Test Tool (agent) Application Under Test GUI S b Test Tool (agent) Application Under Test Test Tool Agent p Engine Operating System Operating System y Operating System GUI Subsystem Operating System GUI Subsystem 7 Object Recognition Strengths &  Weaknesses • Strengths – They can quickly and easily manipulate standard GUI objects – Your script has access to most or all of the object’s underlying propertiesp j y g p p • e.g. a button may be enabled, or disabled (grayed out) – Text values can be accessed directly  • e.g. a button caption, window title, or the contents of an edit field – Execution is often faster than a human could type • Weaknesses – They are intrusive to the SUT, requiring installation of the tool or an agent – Limited platform support (Windows & maybe Linux) – They don’t understand custom objects  • e.g. the map display in Google Maps • You must extend the functionality of the tool to handle custom objects – They are typically very weak in image recognition • Pixel‐for‐pixel comparison for regions of the screen – Most tools provide OCR text recognition as a backup 8
  • 7. 9/26/2016 5 Example: Get the Contents of a List QTP code: mylist = Application(“Notepad”).Dialog(“Font”).WinComboBox(“Font:”).GetContent • Returns an array containing the list values  • It doesn’t matter whether the list items are visible 9 Example: Find lake Superior LakeSuperior.png • Most tools cannot do this • QTP, SilkTest, and TestArchitect have recently been given recognition capabilities 10
  • 8. 9/26/2016 6 Image Recognition Test Tools 11 Image Recognition Based Tools Tool Name Vendor Web Site Eggplant TestPlant Inc http://testplant comEggplant TestPlant Inc http://testplant.com Sikuli Open Source http://sikuli.org ATRT Innovative Defense Tech. http://idtus.com SilkTest * Microfocus/Borland http://microfocus.com Unified Functional Test * HP/Mercury http://hp.com Test Architect * LogiGear http://testarchitect.logigear.comTest Architect  LogiGear http://testarchitect.logigear.com * Product primarily supports object recognition 12
  • 9. 9/26/2016 7 Image Recognition Test Tools (1) • Deal exclusively with what is visible on the screen  • Objects are recognized by using a snapshot to find matching image(s) on the screen • Some tools (Eggplant and ATRT) run on a different system than the AUT System Under TestSystem Under Test Some tools (Eggplant and ATRT) run on a different system than the AUT • Interact with the AUT via a remote desktop protocol (e.g. VNC or RDP) • Not intrusive to the SUT, since VNC and RDP are bundled with the OS Application Under Test RDP Host SystemHost System Operating System GUI Subsystem VNC or RDP Test Tool VNC or R 13 TCP/IP Image Recognition Test Tools (2) • Eggplant and ATRT can also support a KVM connection for nonintrusive testing • SUT/AUT must support standard PC KVM connections Test Tool System Under TestSystem Under Test Application Under Test VNC Host SystemHost System Keyboard, Video,  Operating System GUI Subsystem & Mouse cables TCP/IP KVM/IP appliance VNC 14
  • 10. 9/26/2016 8 Image Recognition Test Tools (3) • Sikuli, QTP, SilkTest, and TestArchitect run on the same system as the AUT • With work, Sikuli can be made to run on a separate system Application Under TestTest Tool System Under TestSystem Under Test Operating System GUI Subsystem 15 Display  Subsystem Image Recognition Strengths &  Weaknesses • Strengths – (Some) are non‐intrusive to the SUT • Unlimited platform support (if you can connect it, you can test it) – They see what the human sees. Not constrained to standard objects. • If you can see it, you can manipulate it – They have sophisticated image recognition capabilities • Capabilities vary widely between tools • Find a previously recorded image on  the screen • Weaknesses – They have no access to the underlying GUI subsystem • e.g. Getting the contents of a list box requires complex scripting logic • Can only access properties that are visible. If you can’t see it, you’re out of luck. – Image recognition can require large collections of images– Image recognition can require large collections of images • e.g. Button enabled image, button disabled image – Text recognition is via OCR only, relatively slow and unreliable – Execution on a different system makes some operations very difficult • e.g. Reading a log file on the SUT – Execution can be slow, requires additional work to tune for best performance – Different OS versions may require different image libraries (e.g. Win7 vs Win10) 16
  • 12. 9/26/2016 10 Testing Mobile Apps • Mobile is the ‘next big thing’ • Mobile applications are overtaking PC applicationsMobile applications are overtaking PC applications • Tool vendors are racing to add mobile test capability to  their tools • Both object‐based and image‐based architectures  apply to mobile testing – The test tool generally runs on a separate hostThe test tool generally runs on a separate host – Object‐based architectures rely on native or add‐on  software that exposes the GUI subsystem’s objects – Image‐based architectures use the remote desktop  features bundled with the device OS 19 Which Tool Should I Choose? Is there a requirement to  test the AUT through the  GUI? No Consider non‐GUI tool first. SUT – System Under Test AUT – Application Under Test Is there a requirement that  the tool be non‐intrusive to  the SUT? Is the AUT browser based  (i.e. a web app)? N No Does testing involve  verifying large numbers  of pictures/images? Consider image architecture first. Mobile platforms?  Consider either architecture. Consider image architecture first. No Yes Yes Yes Yes Yes 20 Windows OS only?  Consider object architecture first. No No Consider image architecture first. Yes No