Image Based Testing- application technology independent automation Girish Kolapkar SAS R&D (India)
Agenda: What exactly IS Image-Based Testing (IBT)? OBT vs IBT Thinking and Testing Differently with IBT Developing IBT Tests and App Maps SAFS Image-Based Recognition Syntax How to automate using IBT Image Manager Tool Sample Application Map And Script
Agenda: Dealing with Variations in the IBT Environment Dealing with NLS Testing in an IBT Environment Challenges Demo Q & A
What exactly IS Image-Based Testing? Strictly “What You See is What You Get” (WYSIWYG) Interaction with the visual display of the screen Testing based on finding and interacting with graphics on the screen Automation is driven through keyboard and pointer events Test technologies partially or not supported by existing tools E.g Legacy Applications (Xterm application),Flash Applications, GUI on Unix
What exactly IS Image-Based Testing? An alternative when items are not recognized at all by existing tools  Independent of any underlying application technology The antonym or opposite of Object-Based Testing.
What exactly IS Image-Based Testing? Image Based Testing Tool Operating System  Application Under Test Display Buffer Mouse pointer events/ keyboard events queue
OBT vs IBT Object-Based Testing Ideal for automating PC hosts  Performance: slower than IBT Can automate supported technologies only Can produce reliable & robust scripts(time tested) Wide range of functions available to use Image-Based Testing Ideal for Applications which OBT can’t support or limited support e.g. GUI on non PC hosts, legacy applications  Performance :faster than OBT Can automate virtually anything that can be displayed on the screen Needs to be proved\improved after extensive usage Limited verifications
Thinking and Testing Differently for IBT Object-Based Testing deals with real components. Image-Based Testing deals with images. IBT doesn’t look for any object hierarchy  Application Map or Object Map is defined by images not by properties All possible Image variations needs to be stored
SAFS Image-Based Recognition Syntax SAFS keeps concept of Components in Windows  A “component” can be: an image inside another image. an image inside the bounds of other images.
Component as an Image inside another Image Finding the right Arrow in a Sea of Matching Arrows Locate the Unique Anchor that contains the Target Locate the Target within the Anchor Component Function call: BulletsItem, ArrowButton, Click A “component” can be: an image inside another image. an image inside the bounds of other images.  BulletsItem ArrowButton
Component as an Image inside the  bounds defined by other Images Finding a Target inside the bounds from a single image  Component Function call: OfficeWin, NewSlide, Click A “component” can be: an image inside another image. an image inside the bounds of other images.  OfficeWin NewSlide
Component as an Image inside the  bounds defined by other Images Find a Target inside the bounds defined by multiple images Component Function call: OfficeWin, CenterText, Click A “component” can be: an image inside another image. an image inside the bounds of other images.  OfficeWin CenterText
SAFS Image-Based Recognition Syntax Component is an image inside another image. [BulletsItem] BulletsItem =“Image=pathTo\BulletsItemImages” ArrowButton=“Image=pathTo\ArrowButtonImages” Component is inside bounds defined by other images. [OfficeWin] OfficeWin =“Image=pathTo\OfficeAnchorImages; _ ImageRight=pathTo\OfficeCloseIcons” CenterText=“Image=pathTo\CenterTextImages” BulletsItem ArrowButton OfficeWin CenterText
How to automate using IBT Test Development for IBT is the same Fewer Component Functions supported. Tests and commands look the same as OBT. App Map development is mostly the same Recognition strings are VERY different. It’s all about images, not components. e.g. IExplorer App Map Entry:[IExplorer] IExplorer=&quot;Image=<imagepath>&quot;
How to automate using IBT Capture images in supported formats  BMP, GIF,JPEG,PNG,TIFF etc. Map logical names for the &quot;window&quot; and the &quot;component&quot; in the application map  Write test records\scripts same as OBT Execute records using SAFSDRIVER Review the results
Image Manager Tool  Tool to facilitate image captures Command to launch java org.safs.image.ImageManager
Enhancements BitTolerance|BT= Optional. Specifies the integer percentage (1-100) of image bits or pixels that must match for an image to be considered a successful match. The default is, of course, 100. This means ALL pixels must match unless some other BitTolerance is specified. Samples: IExplorer=&quot;Image=<imagepath>;BitTolerance=70&quot; IExplorer=&quot;Image=<imagepath>;ImageR=<imagepath>;BT=75&quot;
Sample Application Map [SampleApplication] SampleApplication=&quot;Image=c:\Images\AnchorImage.bmp;ImageR=c:\Images\CloseIcon.bmp&quot; ButtonMinimize=&quot;Image=c:\Images\MinIcon.bmp&quot; ButtonMaximize=&quot;Image=c:\Images\MaxIcon.bmp&quot; ButtonClose=&quot;Image=c:\Images\CloseIcon.bmp&quot;
Sample Test Records C SetApplicationMap Demo.MAP C LaunchApplication SampleApplication &quot;c:\safs\samples\Dotnet\DotNetApp\WinDemo.exe&quot;  C WaitForGUI SampleApplication SampleApplication 15  T SampleApplication SampleApplication GetGUIImage c:\OutputImage1.jpg  T SampleApplication SampleApplication RightClick  T SampleApp SampleApp InputKeys &quot;x&quot;  T SampleApplication SampleApplication GetGUIImage c:\OutputImage2.jpg  T SampleApplication ButtonClose Click
Dealing with Variations in the IBT Environment 32-Bit, 24-Bit, 16-Bit Color Depth and Resolution Themes and Schemes Platform and Version Image and Icon Variations    Multiple images are necessary if the target image is different in different environments Identify and Store Item Variations in a Directory
Dealing with NLS Testing in an IBT Environment Same as any Recognition String handling for NLS: Item1=pathTo\{^SHARED_DIR}\targetImages Item2=pathTo\{^LANG_DIR}\targetImages  Images will have to be captured and transferred if there is a language dependency
Challenges It’s all about images Require to capture all possible image variations Precise\Reliable\Unique Images Display configurations Time consuming test development Verification Image verification only Can’t verify component properties Can’t extract data from application under test Themes and Schemes Platform and Version Image and Icon Variations  Identify and Store Item Variations in a Directory
Demo What the IBT demo does Launch Sample Application Perform few interactions Close Review the results
Q&A
Thanks  References : SAFS Image-Based Recognition  http://safsdev.sourceforge.net/sqabasic2000/SAFSImageBasedRecognition.htm

More Related Content

PPTX
Google Associate Android Developer Certification
PDF
Best Practices for Android UI by RapidValue Solutions
PPT
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
PDF
Feature Spotlight: Embed Media Into Your Survey
PPTX
Webinar: MongoDB Use Cases within the Oil, Gas, and Energy Industries
PDF
Massive scale analytics with Stratosphere using R
PDF
Managing large datasets in R – ff examples and concepts
PPTX
Becoming a Data Driven Oil and Gas Enterprise with Advanced Analytics and Hadoop
Google Associate Android Developer Certification
Best Practices for Android UI by RapidValue Solutions
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
Feature Spotlight: Embed Media Into Your Survey
Webinar: MongoDB Use Cases within the Oil, Gas, and Energy Industries
Massive scale analytics with Stratosphere using R
Managing large datasets in R – ff examples and concepts
Becoming a Data Driven Oil and Gas Enterprise with Advanced Analytics and Hadoop

Viewers also liked (8)

PDF
Oil & Gas Big Data use cases
PDF
Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
PDF
“The Digital Oilfield” : Using IoT to reduce costs in an era of decreasing oi...
PPT
Test Automation Best Practices (with SOA test approach)
PPTX
Big Data in Oil and Gas
PDF
Introduction to Test Automation - Technology and Tools
PPT
Automation testing strategy, approach & planning
PPT
Test Automation Framework Designs
Oil & Gas Big Data use cases
Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
“The Digital Oilfield” : Using IoT to reduce costs in an era of decreasing oi...
Test Automation Best Practices (with SOA test approach)
Big Data in Oil and Gas
Introduction to Test Automation - Technology and Tools
Automation testing strategy, approach & planning
Test Automation Framework Designs
Ad

Similar to Image Based Testing-IndicThreads-Q11 (20)

PPT
Susan windsor soft test 16th november 2005
PPT
Innovative Test Automation Solution
PDF
Fostering Long-Term Test Automation Success
PPT
Keyword Driven Testing
ODP
Alexandre.iline rit 2010 java_fxui_extra
ODP
Alexandre Iline Rit 2010 Java Fxui
PPT
Testing
PPTX
PDF
Hidden Object Detection for Computer Vision Based Test Automation System
PPTX
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
PPTX
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
PPT
Rational Robot (http://www.geektester.blogspot.com)
PDF
Testar2014 presentation
PDF
Automating JFC UI application testing with Jemmy
PDF
Microsoft Testing Tour - Functional and Automated Testing
PDF
Qtp certification training_material
PPTX
TAME-Test Automation Made Easy
PDF
Testar
PDF
Winrunner
PPTX
Testing frameworks
Susan windsor soft test 16th november 2005
Innovative Test Automation Solution
Fostering Long-Term Test Automation Success
Keyword Driven Testing
Alexandre.iline rit 2010 java_fxui_extra
Alexandre Iline Rit 2010 Java Fxui
Testing
Hidden Object Detection for Computer Vision Based Test Automation System
Deep Dive Modern Apps Lifecycle with Visual Studio 2012: How to create cross ...
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
Rational Robot (http://www.geektester.blogspot.com)
Testar2014 presentation
Automating JFC UI application testing with Jemmy
Microsoft Testing Tour - Functional and Automated Testing
Qtp certification training_material
TAME-Test Automation Made Easy
Testar
Winrunner
Testing frameworks
Ad

More from IndicThreads (20)

PPTX
Http2 is here! And why the web needs it
ODP
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
PPT
Go Programming Language - Learning The Go Lang way
PPT
Building Resilient Microservices
PPT
App using golang indicthreads
PDF
Building on quicksand microservices indicthreads
PDF
How to Think in RxJava Before Reacting
PPT
Iot secure connected devices indicthreads
PDF
Real world IoT for enterprises
PPT
IoT testing and quality assurance indicthreads
PPT
Functional Programming Past Present Future
PDF
Harnessing the Power of Java 8 Streams
PDF
Building & scaling a live streaming mobile platform - Gr8 road to fame
PPTX
Internet of things architecture perspective - IndicThreads Conference
PDF
Cars and Computers: Building a Java Carputer
PPTX
Scrap Your MapReduce - Apache Spark
PPT
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
PPTX
Speed up your build pipeline for faster feedback
PPT
Unraveling OpenStack Clouds
PPTX
Digital Transformation of the Enterprise. What IT leaders need to know!
Http2 is here! And why the web needs it
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Go Programming Language - Learning The Go Lang way
Building Resilient Microservices
App using golang indicthreads
Building on quicksand microservices indicthreads
How to Think in RxJava Before Reacting
Iot secure connected devices indicthreads
Real world IoT for enterprises
IoT testing and quality assurance indicthreads
Functional Programming Past Present Future
Harnessing the Power of Java 8 Streams
Building & scaling a live streaming mobile platform - Gr8 road to fame
Internet of things architecture perspective - IndicThreads Conference
Cars and Computers: Building a Java Carputer
Scrap Your MapReduce - Apache Spark
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Speed up your build pipeline for faster feedback
Unraveling OpenStack Clouds
Digital Transformation of the Enterprise. What IT leaders need to know!

Recently uploaded (20)

PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
Modernising the Digital Integration Hub
PDF
Architecture types and enterprise applications.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PPTX
Configure Apache Mutual Authentication
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPT
Geologic Time for studying geology for geologist
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
CloudStack 4.21: First Look Webinar slides
PPTX
Chapter 5: Probability Theory and Statistics
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
UiPath Agentic Automation session 1: RPA to Agents
The influence of sentiment analysis in enhancing early warning system model f...
Modernising the Digital Integration Hub
Architecture types and enterprise applications.pdf
What is a Computer? Input Devices /output devices
sbt 2.0: go big (Scala Days 2025 edition)
Custom Battery Pack Design Considerations for Performance and Safety
Configure Apache Mutual Authentication
1 - Historical Antecedents, Social Consideration.pdf
A proposed approach for plagiarism detection in Myanmar Unicode text
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Geologic Time for studying geology for geologist
A contest of sentiment analysis: k-nearest neighbor versus neural network
Final SEM Unit 1 for mit wpu at pune .pptx
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Enhancing emotion recognition model for a student engagement use case through...
CloudStack 4.21: First Look Webinar slides
Chapter 5: Probability Theory and Statistics

Image Based Testing-IndicThreads-Q11

  • 1. Image Based Testing- application technology independent automation Girish Kolapkar SAS R&D (India)
  • 2. Agenda: What exactly IS Image-Based Testing (IBT)? OBT vs IBT Thinking and Testing Differently with IBT Developing IBT Tests and App Maps SAFS Image-Based Recognition Syntax How to automate using IBT Image Manager Tool Sample Application Map And Script
  • 3. Agenda: Dealing with Variations in the IBT Environment Dealing with NLS Testing in an IBT Environment Challenges Demo Q & A
  • 4. What exactly IS Image-Based Testing? Strictly “What You See is What You Get” (WYSIWYG) Interaction with the visual display of the screen Testing based on finding and interacting with graphics on the screen Automation is driven through keyboard and pointer events Test technologies partially or not supported by existing tools E.g Legacy Applications (Xterm application),Flash Applications, GUI on Unix
  • 5. What exactly IS Image-Based Testing? An alternative when items are not recognized at all by existing tools Independent of any underlying application technology The antonym or opposite of Object-Based Testing.
  • 6. What exactly IS Image-Based Testing? Image Based Testing Tool Operating System Application Under Test Display Buffer Mouse pointer events/ keyboard events queue
  • 7. OBT vs IBT Object-Based Testing Ideal for automating PC hosts Performance: slower than IBT Can automate supported technologies only Can produce reliable & robust scripts(time tested) Wide range of functions available to use Image-Based Testing Ideal for Applications which OBT can’t support or limited support e.g. GUI on non PC hosts, legacy applications Performance :faster than OBT Can automate virtually anything that can be displayed on the screen Needs to be proved\improved after extensive usage Limited verifications
  • 8. Thinking and Testing Differently for IBT Object-Based Testing deals with real components. Image-Based Testing deals with images. IBT doesn’t look for any object hierarchy Application Map or Object Map is defined by images not by properties All possible Image variations needs to be stored
  • 9. SAFS Image-Based Recognition Syntax SAFS keeps concept of Components in Windows A “component” can be: an image inside another image. an image inside the bounds of other images.
  • 10. Component as an Image inside another Image Finding the right Arrow in a Sea of Matching Arrows Locate the Unique Anchor that contains the Target Locate the Target within the Anchor Component Function call: BulletsItem, ArrowButton, Click A “component” can be: an image inside another image. an image inside the bounds of other images. BulletsItem ArrowButton
  • 11. Component as an Image inside the bounds defined by other Images Finding a Target inside the bounds from a single image Component Function call: OfficeWin, NewSlide, Click A “component” can be: an image inside another image. an image inside the bounds of other images. OfficeWin NewSlide
  • 12. Component as an Image inside the bounds defined by other Images Find a Target inside the bounds defined by multiple images Component Function call: OfficeWin, CenterText, Click A “component” can be: an image inside another image. an image inside the bounds of other images. OfficeWin CenterText
  • 13. SAFS Image-Based Recognition Syntax Component is an image inside another image. [BulletsItem] BulletsItem =“Image=pathTo\BulletsItemImages” ArrowButton=“Image=pathTo\ArrowButtonImages” Component is inside bounds defined by other images. [OfficeWin] OfficeWin =“Image=pathTo\OfficeAnchorImages; _ ImageRight=pathTo\OfficeCloseIcons” CenterText=“Image=pathTo\CenterTextImages” BulletsItem ArrowButton OfficeWin CenterText
  • 14. How to automate using IBT Test Development for IBT is the same Fewer Component Functions supported. Tests and commands look the same as OBT. App Map development is mostly the same Recognition strings are VERY different. It’s all about images, not components. e.g. IExplorer App Map Entry:[IExplorer] IExplorer=&quot;Image=<imagepath>&quot;
  • 15. How to automate using IBT Capture images in supported formats BMP, GIF,JPEG,PNG,TIFF etc. Map logical names for the &quot;window&quot; and the &quot;component&quot; in the application map Write test records\scripts same as OBT Execute records using SAFSDRIVER Review the results
  • 16. Image Manager Tool Tool to facilitate image captures Command to launch java org.safs.image.ImageManager
  • 17. Enhancements BitTolerance|BT= Optional. Specifies the integer percentage (1-100) of image bits or pixels that must match for an image to be considered a successful match. The default is, of course, 100. This means ALL pixels must match unless some other BitTolerance is specified. Samples: IExplorer=&quot;Image=<imagepath>;BitTolerance=70&quot; IExplorer=&quot;Image=<imagepath>;ImageR=<imagepath>;BT=75&quot;
  • 18. Sample Application Map [SampleApplication] SampleApplication=&quot;Image=c:\Images\AnchorImage.bmp;ImageR=c:\Images\CloseIcon.bmp&quot; ButtonMinimize=&quot;Image=c:\Images\MinIcon.bmp&quot; ButtonMaximize=&quot;Image=c:\Images\MaxIcon.bmp&quot; ButtonClose=&quot;Image=c:\Images\CloseIcon.bmp&quot;
  • 19. Sample Test Records C SetApplicationMap Demo.MAP C LaunchApplication SampleApplication &quot;c:\safs\samples\Dotnet\DotNetApp\WinDemo.exe&quot; C WaitForGUI SampleApplication SampleApplication 15 T SampleApplication SampleApplication GetGUIImage c:\OutputImage1.jpg T SampleApplication SampleApplication RightClick T SampleApp SampleApp InputKeys &quot;x&quot; T SampleApplication SampleApplication GetGUIImage c:\OutputImage2.jpg T SampleApplication ButtonClose Click
  • 20. Dealing with Variations in the IBT Environment 32-Bit, 24-Bit, 16-Bit Color Depth and Resolution Themes and Schemes Platform and Version Image and Icon Variations   Multiple images are necessary if the target image is different in different environments Identify and Store Item Variations in a Directory
  • 21. Dealing with NLS Testing in an IBT Environment Same as any Recognition String handling for NLS: Item1=pathTo\{^SHARED_DIR}\targetImages Item2=pathTo\{^LANG_DIR}\targetImages Images will have to be captured and transferred if there is a language dependency
  • 22. Challenges It’s all about images Require to capture all possible image variations Precise\Reliable\Unique Images Display configurations Time consuming test development Verification Image verification only Can’t verify component properties Can’t extract data from application under test Themes and Schemes Platform and Version Image and Icon Variations Identify and Store Item Variations in a Directory
  • 23. Demo What the IBT demo does Launch Sample Application Perform few interactions Close Review the results
  • 24. Q&A
  • 25. Thanks  References : SAFS Image-Based Recognition http://safsdev.sourceforge.net/sqabasic2000/SAFSImageBasedRecognition.htm

Editor's Notes

  • #5: Explain how IBT is all about graphics on screen and its all about images. There might be many other challenging UI technologies which are prevalent in market but do not have good tool support for testing. IBTs score a point here.
  • #6: As automation inputs and outputs are produced and consumed on the OS level, the application technology becomes irrelevant and it can automate any GUI application which is displayed on screen.
  • #8: Along with this, the ease associated with doing trivial operations like reading a text, verifying enabled/disabled state, selecting from a dropdown or grid etc. helps OBT score a good point when compared to IBT.  IBTs offer an alternative here since they are UI technology neutral.
  • #13: When seeking a &amp;quot;window&amp;quot; mapping the entire screen is searched for this image. When seeking a &amp;quot;component&amp;quot; mapping the search area is limited to the area of interest found for the &amp;quot;window&amp;quot; mapping. The bounds of the area of interest can be expanded by using the optional ImageR and ImageB items described below.
  • #16: It is important to note that images must be saved in a format that provides no-loss of pixel information.  Stored images must be able to match with 100% picture quality the image snapshots that will be retrieved from the screen.  While &amp;quot;BitTolerance&amp;quot; discussed above allows for some degree of comparison fuzziness, it will usually not be able to compensate for stored images that cannot reproduce 100% picture quality due to excessive compression or intentional loss of pixel information.
  • #17: Images stored for a particular Display typically work for most or all screen resolutions on that Display. This is an issue that each Display is configured for different levels of data compression. Bitmaps stored for the Normal Display have no data compression and no loss of image information. The displayed image for the Remote displays is usually compressed--intentionally removing image information. Because of this, Normal Display images usually will not match Remote Display images. To compensate for this, it is highly recommended that recognition images always be captured in the display mode that will be used for runtime testing.  For example, if you know all testing will be done via Remote Desktop sessions, then it is best to have all recognition images captured and prepared during Remote Desktop sessions.
  • #18: It is important to note that images must be saved in a format that provides no-loss of pixel information.  Stored images must be able to match with 100% picture quality the image snapshots that will be retrieved from the screen.  While &amp;quot;BitTolerance&amp;quot; discussed above allows for some degree of comparison fuzziness, it will usually not be able to compensate for stored images that cannot reproduce 100% picture quality due to excessive compression or intentional loss of pixel information.
  • #19: It is important to note that images must be saved in a format that provides no-loss of pixel information.  Stored images must be able to match with 100% picture quality the image snapshots that will be retrieved from the screen.  While &amp;quot;BitTolerance&amp;quot; discussed above allows for some degree of comparison fuzziness, it will usually not be able to compensate for stored images that cannot reproduce 100% picture quality due to excessive compression or intentional loss of pixel information.
  • #20: It is important to note that images must be saved in a format that provides no-loss of pixel information.  Stored images must be able to match with 100% picture quality the image snapshots that will be retrieved from the screen.  While &amp;quot;BitTolerance&amp;quot; discussed above allows for some degree of comparison fuzziness, it will usually not be able to compensate for stored images that cannot reproduce 100% picture quality due to excessive compression or intentional loss of pixel information.
  • #21: imagepath  can be the full path to a single image or to a directory containing multiple images. Multiple images are necessary if the target image is different in different environments. For example, on different platforms, or different versions of the application or operating system. The framework will search the screen for each of the images in the directory until it finds the match.