SlideShare uma empresa Scribd logo
1 de 25
Image Based Testing- application technology independent automation Girish Kolapkar SAS R&D (India)
Agenda: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda: ,[object Object],[object Object],[object Object],[object Object],[object Object]
What exactly IS Image-Based Testing? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What exactly IS Image-Based Testing? ,[object Object],[object Object],[object Object]
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 Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thinking and Testing Differently for IBT ,[object Object],[object Object],[object Object],[object Object],[object Object]
SAFS Image-Based Recognition Syntax ,[object Object],[object Object],[object Object]
Component as an Image inside another Image ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BulletsItem ArrowButton
Component as an Image inside the  bounds defined by other Images ,[object Object],[object Object],[object Object],[object Object],[object Object],OfficeWin NewSlide
Component as an Image inside the  bounds defined by other Images ,[object Object],[object Object],[object Object],[object Object],[object Object],OfficeWin CenterText
SAFS Image-Based Recognition Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BulletsItem ArrowButton OfficeWin CenterText
How to automate using IBT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to automate using IBT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Image Manager Tool  ,[object Object],[object Object],[object Object]
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:magesnchorImage.bmp;ImageR=c:magesloseIcon.bmp&quot; ButtonMinimize=&quot;Image=c:magesinIcon.bmp&quot; ButtonMaximize=&quot;Image=c:magesaxIcon.bmp&quot; ButtonClose=&quot;Image=c:magesloseIcon.bmp&quot;
Sample Test Records C SetApplicationMap Demo.MAP C LaunchApplication SampleApplication &quot;c:afsamplesotnetotNetAppinDemo.exe&quot;  C WaitForGUI SampleApplication SampleApplication 15  T SampleApplication SampleApplication GetGUIImage c:utputImage1.jpg  T SampleApplication SampleApplication RightClick  T SampleApp SampleApp InputKeys &quot;x&quot;  T SampleApplication SampleApplication GetGUIImage c:utputImage2.jpg  T SampleApplication ButtonClose Click
Dealing with Variations in the IBT Environment ,[object Object],[object Object],[object Object],[object Object],[object Object]
Dealing with NLS Testing in an IBT Environment ,[object Object],[object Object],[object Object]
Challenges ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Demo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Q&A
Thanks  ,[object Object],[object Object]

Mais conteúdo relacionado

Destaque

Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
Ryan Rosario
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 

Destaque (8)

Oil & Gas Big Data use cases
Oil & Gas Big Data use casesOil & Gas Big Data use cases
Oil & Gas Big Data use cases
 
Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...Taking R to the Limit (High Performance Computing in R), Part 2 -- Large Data...
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...
“The Digital Oilfield” : Using IoT to reduce costs in an era of decreasing oi...“The Digital Oilfield” : Using IoT to reduce costs in an era of decreasing oi...
“The Digital Oilfield” : Using IoT to reduce costs in an era of decreasing oi...
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Big Data in Oil and Gas
Big Data in Oil and GasBig Data in Oil and Gas
Big Data in Oil and Gas
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and Tools
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 

Semelhante a Image Based Testing-IndicThreads-Q11

Hidden Object Detection for Computer Vision Based Test Automation System
Hidden Object Detection for Computer Vision Based Test Automation SystemHidden Object Detection for Computer Vision Based Test Automation System
Hidden Object Detection for Computer Vision Based Test Automation System
Syeful Islam
 

Semelhante a Image Based Testing-IndicThreads-Q11 (20)

RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
 
ie450RobotStudio.ppt
ie450RobotStudio.pptie450RobotStudio.ppt
ie450RobotStudio.ppt
 
Hidden Object Detection for Computer Vision Based Test Automation System
Hidden Object Detection for Computer Vision Based Test Automation SystemHidden Object Detection for Computer Vision Based Test Automation System
Hidden Object Detection for Computer Vision Based Test Automation System
 
Visual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonVisual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot Comparison
 
Introduction of Xcode
Introduction of XcodeIntroduction of Xcode
Introduction of Xcode
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Ppt lesson 03
Ppt lesson 03Ppt lesson 03
Ppt lesson 03
 
AI for Element Selection
AI for Element SelectionAI for Element Selection
AI for Element Selection
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NET
 
Easy path to machine learning
Easy path to machine learningEasy path to machine learning
Easy path to machine learning
 
Yaron Inger - Enlight - Inside the app of the year
 Yaron Inger - Enlight - Inside the app of the year  Yaron Inger - Enlight - Inside the app of the year
Yaron Inger - Enlight - Inside the app of the year
 
A Novel approach for Graphical User Interface development and real time Objec...
A Novel approach for Graphical User Interface development and real time Objec...A Novel approach for Graphical User Interface development and real time Objec...
A Novel approach for Graphical User Interface development and real time Objec...
 
Android Application Development - Level 1
Android Application Development - Level 1Android Application Development - Level 1
Android Application Development - Level 1
 
Face Detection - David
Face Detection - DavidFace Detection - David
Face Detection - David
 
Automated Face Detection System
Automated Face Detection SystemAutomated Face Detection System
Automated Face Detection System
 
Google App Inventor
Google App InventorGoogle App Inventor
Google App Inventor
 
2023/06/01 IoT ALGYAN ChatGPT研究会第9弾 資料
2023/06/01 IoT ALGYAN ChatGPT研究会第9弾 資料2023/06/01 IoT ALGYAN ChatGPT研究会第9弾 資料
2023/06/01 IoT ALGYAN ChatGPT研究会第9弾 資料
 
Apps & Widgets in Mobile Learning
Apps & Widgets in Mobile LearningApps & Widgets in Mobile Learning
Apps & Widgets in Mobile Learning
 
iOS Design to Code - Design
iOS Design to Code - DesigniOS Design to Code - Design
iOS Design to Code - Design
 
MDC - Material Design Components & Theming
MDC - Material Design Components & ThemingMDC - Material Design Components & Theming
MDC - Material Design Components & Theming
 

Mais de IndicThreads

Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
IndicThreads
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
IndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
IndicThreads
 

Mais de IndicThreads (20)

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

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Image Based Testing-IndicThreads-Q11

  • 1. Image Based Testing- application technology independent automation Girish Kolapkar SAS R&D (India)
  • 2.
  • 3.
  • 4.
  • 5.
  • 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.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 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:magesnchorImage.bmp;ImageR=c:magesloseIcon.bmp&quot; ButtonMinimize=&quot;Image=c:magesinIcon.bmp&quot; ButtonMaximize=&quot;Image=c:magesaxIcon.bmp&quot; ButtonClose=&quot;Image=c:magesloseIcon.bmp&quot;
  • 19. Sample Test Records C SetApplicationMap Demo.MAP C LaunchApplication SampleApplication &quot;c:afsamplesotnetotNetAppinDemo.exe&quot; C WaitForGUI SampleApplication SampleApplication 15 T SampleApplication SampleApplication GetGUIImage c:utputImage1.jpg T SampleApplication SampleApplication RightClick T SampleApp SampleApp InputKeys &quot;x&quot; T SampleApplication SampleApplication GetGUIImage c:utputImage2.jpg T SampleApplication ButtonClose Click
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Q&A
  • 25.

Notas do Editor

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.