SlideShare a Scribd company logo
1 of 34
AI Testing
Godfrey Nolan
godfrey@riis.com
UI
API
Unit Tests
8/28/2019 AI Testing 2
8/28/2019 AI Testing 3
8/28/2019 AI Testing 4
8/28/2019 AI Testing 5
8/28/2019 AI Testing 6
8/28/2019 AI Testing 7
8/28/2019 AI Testing 8
8/28/2019 AI Testing 9
8/28/2019 AI Testing 10
8/28/2019 AI Testing 11
Get Data
Train & Test
Adjust
Deploy
Test & Validate
8/28/2019 AI Testing 12
Get Data
Train & Test
Adjust
Deploy
Test & Validate
8/28/2019 AI Testing 13
Images
Train.csv
Test.csv
Train.record
Test.record
Training
the model
Evaluating
the model
Generate
CVS file
Generate TFRecords
Generate TFRecords
8/28/2019 AI Testing 14
Laggards
Leaders
Today, most fall
in this range
TestingEfficiency&Efficacy
Time
Manual Testing
Testing Automation
Continuous Testing
Intelligent Continuous
Testing
https://www.ca.com/en/blog-highlight/artificial-intelligence-and-continuous-testing-its-the-next-big-thing-really.html
8/28/2019 AI Testing 15
AccelQ
Acellere
Acellere
AppDiff
APImetrics
Appium Classifier Plugin
Applitools
Appvance
Assister
Automorph
AutonomIQ
Codebeat
Codebots
Codota
Decibel Insight
Deckard AI
Deep Code
DiffBlue
Eggplant
Endtest
EvoSuite
Fedr8
Firedrop
Functionize
Ghost Inspector
Kite
Logz
Mabl
Memorio
Near
Opsani
Parasoft SOAtest
Prodo
Qordoba
Qualicen
RainforestQA
ReTest
Saucelabs
Sealights
Selenium with AI
Sema
Sourcegraph
Source{d}
Stepsize
Tara Intelligence
Tesabot
Test AI
Test Complete
Test Craft
Testim
Test Sigma
The Grid
Tosca
Uizard
Yotako
8/28/2019 AI Testing 16
NLP
Auto generate
tests
Unit tests only
Enhanced version
of Selenium
Low code
Limited number
apps
Test management
tool
XPATH
helper tools
8/28/2019 AI Testing 17
Self Healing Flexible Generic solution Web and Mobile
Test more than
one
Export code for CI Repeatable Quick
No False Positives Not Expensive Scalable Still funded
8/28/2019 AI Testing 18
Flexible
Generic solution
Web and Mobile
Test more than one
Export code for CI
Repeatable
Quick
No False Positives
Not Expensive
Scalable
Still funded
Self Healing
8/28/2019 AI Testing 19
8/28/2019 AI Testing 20
8/28/2019 AI Testing 21
8/28/2019 AI Testing 22
8/28/2019 AI Testing 23
8/28/2019 AI Testing 24
8/28/2019 AI Testing 25
8/28/2019 AI Testing 26
8/28/2019 AI Testing 27
8/28/2019 AI Testing 28
8/28/2019 AI Testing 29
Get Data
Train & Test
Adjust
Deploy
Test & Validate
8/28/2019 AI Testing 30
8/28/2019 AI Testing 31
Flexible
Generic solution
Web and Mobile
Test more than one
Export code for CI
Repeatable
Quick
No False Positives
Not Expensive
Scalable
Still funded
Self Healing
8/28/2019 AI Testing 32
Selenium
with AI
Selenium
with AI
Selenium
with AI
Selenium
with AI
Fix Patch
Generation
Bug Detection Triggers
Trigger Patch
Generator
Sapienz Auto
Triage
Validated
Revision
8/28/2019 AI Testing 33
8/28/2019 AI Testing 34
How to apply AI to testing by Jeremias Rößler
https://www.gartner.com/doc/reprints?id=1-5U7BFII&ct=181120&st=sb
https://www.youtube.com/watch?v=EcTmKXdYvtM
https://github.com/testdotai/appium-classifier-plugin
https://www.kaggle.com/testdotai/common-mobile-web-app-icons
AI for element selection - Jason Arbon
http://testerstories.com/
https://david.rothlis.net/testdotai-appium-plugin/
https://code.fb.com/developer-tools/finding-and-fixing-software-bugs-automatically-with-sapfix-and-sapienz/
https://riis.com/blog/building_better_ui_tests_with_ai/

More Related Content

What's hot

Introduction to K6
Introduction to K6Introduction to K6
Introduction to K6Knoldus Inc.
 
Sql Objects And PL/SQL
Sql Objects And PL/SQLSql Objects And PL/SQL
Sql Objects And PL/SQLGary Myers
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010guest5639fa9
 
Service Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIService Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIKnoldus Inc.
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0MoritzHalbritter
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 frameworkSvetlin Nakov
 
Chaos engineering and chaos testing
Chaos engineering and chaos testingChaos engineering and chaos testing
Chaos engineering and chaos testingjeetendra mandal
 
Cloud native principles
Cloud native principlesCloud native principles
Cloud native principlesDiego Pacheco
 
Karate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomasintuit_india
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실Taewan Kim
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareVisual Engineering
 
Object Relational Mapping In Real World Applications
Object Relational Mapping In Real World ApplicationsObject Relational Mapping In Real World Applications
Object Relational Mapping In Real World ApplicationsPhilWinstanley
 

What's hot (20)

Introduction to K6
Introduction to K6Introduction to K6
Introduction to K6
 
Test NG Framework Complete Walk Through
Test NG Framework Complete Walk ThroughTest NG Framework Complete Walk Through
Test NG Framework Complete Walk Through
 
Sql Objects And PL/SQL
Sql Objects And PL/SQLSql Objects And PL/SQL
Sql Objects And PL/SQL
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 
Service Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIService Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLI
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
7 steps to Software test automation success
7 steps to Software test automation success7 steps to Software test automation success
7 steps to Software test automation success
 
AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
Chaos engineering and chaos testing
Chaos engineering and chaos testingChaos engineering and chaos testing
Chaos engineering and chaos testing
 
Cloud native principles
Cloud native principlesCloud native principles
Cloud native principles
 
Karate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomas
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
Selenium
SeleniumSelenium
Selenium
 
Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux Middleware
 
cmi5-xapi-camp
cmi5-xapi-campcmi5-xapi-camp
cmi5-xapi-camp
 
Object Relational Mapping In Real World Applications
Object Relational Mapping In Real World ApplicationsObject Relational Mapping In Real World Applications
Object Relational Mapping In Real World Applications
 

Similar to Using ML to make your UI tests more robust

Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...Amazon Web Services Korea
 
AI APIs as a Catalyst for Machine Learning Initiatives
AI APIs as a Catalyst for Machine Learning InitiativesAI APIs as a Catalyst for Machine Learning Initiatives
AI APIs as a Catalyst for Machine Learning InitiativesNicholas Walsh
 
Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...
Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...
Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...Intland Software GmbH
 
Accelerating Your Digital Agenda with Continuous Testing by Diego Lo Giudice
Accelerating Your Digital Agenda with Continuous Testing by Diego Lo GiudiceAccelerating Your Digital Agenda with Continuous Testing by Diego Lo Giudice
Accelerating Your Digital Agenda with Continuous Testing by Diego Lo GiudiceSauce Labs
 
AI in Test Automation
AI in Test AutomationAI in Test Automation
AI in Test AutomationInflectra
 
Raising the Speed Limit on Mobile App Development
Raising the Speed Limit on Mobile App DevelopmentRaising the Speed Limit on Mobile App Development
Raising the Speed Limit on Mobile App DevelopmentCA Technologies
 
Auto visualization and viml
Auto visualization and vimlAuto visualization and viml
Auto visualization and vimlBill Liu
 
[WSO2 Summit Sydney 2019] Building Agile Teams
[WSO2 Summit Sydney 2019] Building Agile Teams[WSO2 Summit Sydney 2019] Building Agile Teams
[WSO2 Summit Sydney 2019] Building Agile TeamsWSO2
 
APImetrics Product Overview March 2015
APImetrics Product Overview March 2015APImetrics Product Overview March 2015
APImetrics Product Overview March 2015apimetrics
 
Model-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accuratelyModel-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accuratelyCuriosity Software Ireland
 
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...Bosnia Agile
 
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterAccelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterSauce Labs
 
Reinforcement Learning with Sagemaker, DeepRacer and Robomaker
Reinforcement Learning with Sagemaker, DeepRacer and RobomakerReinforcement Learning with Sagemaker, DeepRacer and Robomaker
Reinforcement Learning with Sagemaker, DeepRacer and RobomakerAlex Barbosa Coqueiro
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingSauce Labs
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and SplunkSplunk
 
#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...
#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...
#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...Agile Testing Alliance
 

Similar to Using ML to make your UI tests more robust (20)

Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
Datarobot, 자동화된 분석 적용 시 분석 절차의 변화 및 효용 - 홍운표 데이터 사이언티스트, DataRobot :: AWS Sum...
 
AI APIs as a Catalyst for Machine Learning Initiatives
AI APIs as a Catalyst for Machine Learning InitiativesAI APIs as a Catalyst for Machine Learning Initiatives
AI APIs as a Catalyst for Machine Learning Initiatives
 
Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...
Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...
Advanced System Engineering in the Automotive Industry - Dr Alain Pfouga (pro...
 
Accelerating Your Digital Agenda with Continuous Testing by Diego Lo Giudice
Accelerating Your Digital Agenda with Continuous Testing by Diego Lo GiudiceAccelerating Your Digital Agenda with Continuous Testing by Diego Lo Giudice
Accelerating Your Digital Agenda with Continuous Testing by Diego Lo Giudice
 
Java best practices
Java best practicesJava best practices
Java best practices
 
Meetup #5 API Testing World
Meetup #5 API Testing WorldMeetup #5 API Testing World
Meetup #5 API Testing World
 
AI in Test Automation
AI in Test AutomationAI in Test Automation
AI in Test Automation
 
Raising the Speed Limit on Mobile App Development
Raising the Speed Limit on Mobile App DevelopmentRaising the Speed Limit on Mobile App Development
Raising the Speed Limit on Mobile App Development
 
Auto visualization and viml
Auto visualization and vimlAuto visualization and viml
Auto visualization and viml
 
Five reasons to model during QA
Five reasons to model during QAFive reasons to model during QA
Five reasons to model during QA
 
[WSO2 Summit Sydney 2019] Building Agile Teams
[WSO2 Summit Sydney 2019] Building Agile Teams[WSO2 Summit Sydney 2019] Building Agile Teams
[WSO2 Summit Sydney 2019] Building Agile Teams
 
APImetrics Product Overview March 2015
APImetrics Product Overview March 2015APImetrics Product Overview March 2015
APImetrics Product Overview March 2015
 
Model-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accuratelyModel-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accurately
 
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
 
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterAccelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
 
Reinforcement Learning with Sagemaker, DeepRacer and Robomaker
Reinforcement Learning with Sagemaker, DeepRacer and RobomakerReinforcement Learning with Sagemaker, DeepRacer and Robomaker
Reinforcement Learning with Sagemaker, DeepRacer and Robomaker
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous Testing
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and Splunk
 
#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...
#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...
#ATAGTR2019 Presentation "AI Led Intelligent Testing" By Senthilkumar Thiruma...
 
MicroShed Testing
MicroShed TestingMicroShed Testing
MicroShed Testing
 

More from Godfrey Nolan

Counting Cars with Drones
Counting Cars with DronesCounting Cars with Drones
Counting Cars with DronesGodfrey Nolan
 
Customising QGroundControl
Customising QGroundControlCustomising QGroundControl
Customising QGroundControlGodfrey Nolan
 
Parrot Tutorials in Kotlin
Parrot Tutorials in KotlinParrot Tutorials in Kotlin
Parrot Tutorials in KotlinGodfrey Nolan
 
DJI Mobile SDK Tutorials in kotlin
DJI Mobile SDK Tutorials in kotlinDJI Mobile SDK Tutorials in kotlin
DJI Mobile SDK Tutorials in kotlinGodfrey Nolan
 
Getting started with tensor flow datasets
Getting started with tensor flow datasets Getting started with tensor flow datasets
Getting started with tensor flow datasets Godfrey Nolan
 
Counting sheep with Drones and AI
Counting sheep with Drones and AICounting sheep with Drones and AI
Counting sheep with Drones and AIGodfrey Nolan
 
Writing Secure Mobile Apps for Drones
Writing Secure Mobile Apps for DronesWriting Secure Mobile Apps for Drones
Writing Secure Mobile Apps for DronesGodfrey Nolan
 
The Day We Infected Ourselves with Ransomware
The Day We Infected Ourselves with RansomwareThe Day We Infected Ourselves with Ransomware
The Day We Infected Ourselves with RansomwareGodfrey Nolan
 
From Maps to Apps the Future of Drone Technology
From Maps to Apps the Future of Drone TechnologyFrom Maps to Apps the Future of Drone Technology
From Maps to Apps the Future of Drone TechnologyGodfrey Nolan
 
Tableau 10 and quickbooks
Tableau 10 and quickbooksTableau 10 and quickbooks
Tableau 10 and quickbooksGodfrey Nolan
 
Network graphs in tableau
Network graphs in tableauNetwork graphs in tableau
Network graphs in tableauGodfrey Nolan
 
Android Design Patterns
Android Design PatternsAndroid Design Patterns
Android Design PatternsGodfrey Nolan
 

More from Godfrey Nolan (20)

Counting Cars with Drones
Counting Cars with DronesCounting Cars with Drones
Counting Cars with Drones
 
Customising QGroundControl
Customising QGroundControlCustomising QGroundControl
Customising QGroundControl
 
DJI Payload SDK
DJI Payload SDKDJI Payload SDK
DJI Payload SDK
 
Parrot Tutorials in Kotlin
Parrot Tutorials in KotlinParrot Tutorials in Kotlin
Parrot Tutorials in Kotlin
 
DJI Mobile SDK Tutorials in kotlin
DJI Mobile SDK Tutorials in kotlinDJI Mobile SDK Tutorials in kotlin
DJI Mobile SDK Tutorials in kotlin
 
Drone sdk showdown
Drone sdk showdownDrone sdk showdown
Drone sdk showdown
 
AI/ML in drones
AI/ML in dronesAI/ML in drones
AI/ML in drones
 
Getting started with tensor flow datasets
Getting started with tensor flow datasets Getting started with tensor flow datasets
Getting started with tensor flow datasets
 
Counting sheep with Drones and AI
Counting sheep with Drones and AICounting sheep with Drones and AI
Counting sheep with Drones and AI
 
Writing Secure Mobile Apps for Drones
Writing Secure Mobile Apps for DronesWriting Secure Mobile Apps for Drones
Writing Secure Mobile Apps for Drones
 
Android Device Labs
Android Device LabsAndroid Device Labs
Android Device Labs
 
The Day We Infected Ourselves with Ransomware
The Day We Infected Ourselves with RansomwareThe Day We Infected Ourselves with Ransomware
The Day We Infected Ourselves with Ransomware
 
Agile Android
Agile AndroidAgile Android
Agile Android
 
Agile Swift
Agile SwiftAgile Swift
Agile Swift
 
Android Refactoring
Android RefactoringAndroid Refactoring
Android Refactoring
 
Agile mobile
Agile mobileAgile mobile
Agile mobile
 
From Maps to Apps the Future of Drone Technology
From Maps to Apps the Future of Drone TechnologyFrom Maps to Apps the Future of Drone Technology
From Maps to Apps the Future of Drone Technology
 
Tableau 10 and quickbooks
Tableau 10 and quickbooksTableau 10 and quickbooks
Tableau 10 and quickbooks
 
Network graphs in tableau
Network graphs in tableauNetwork graphs in tableau
Network graphs in tableau
 
Android Design Patterns
Android Design PatternsAndroid Design Patterns
Android Design Patterns
 

Recently uploaded

一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样ayvbos
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
Loker Pemandu Lagu LC Semarang 085746015303
Loker Pemandu Lagu LC Semarang 085746015303Loker Pemandu Lagu LC Semarang 085746015303
Loker Pemandu Lagu LC Semarang 085746015303Dewi Agency
 
Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...
Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...
Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...mikehavy0
 
原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样AS
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书c6eb683559b3
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理F
 
一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理F
 
Research Assignment - NIST SP800 [172 A] - Presentation.pptx
Research Assignment - NIST SP800 [172 A] - Presentation.pptxResearch Assignment - NIST SP800 [172 A] - Presentation.pptx
Research Assignment - NIST SP800 [172 A] - Presentation.pptxi191686
 
一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理A
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon
[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon
[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformonhackersuli
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303Dewi Agency
 
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptxA LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptxthinamazinyo
 
一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理SS
 

Recently uploaded (20)

一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Loker Pemandu Lagu LC Semarang 085746015303
Loker Pemandu Lagu LC Semarang 085746015303Loker Pemandu Lagu LC Semarang 085746015303
Loker Pemandu Lagu LC Semarang 085746015303
 
Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...
Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...
Abortion Clinic in Germiston +27791653574 WhatsApp Abortion Clinic Services i...
 
原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理
 
Research Assignment - NIST SP800 [172 A] - Presentation.pptx
Research Assignment - NIST SP800 [172 A] - Presentation.pptxResearch Assignment - NIST SP800 [172 A] - Presentation.pptx
Research Assignment - NIST SP800 [172 A] - Presentation.pptx
 
一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon
[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon
[Hackersuli] Élő szövet a fémvázon: Python és gépi tanulás a Zeek platformon
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
 
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptxA LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
 
一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理
 

Using ML to make your UI tests more robust

Editor's Notes

  1. Hey I’m Godfrey Nolan, own a mobile company in Detroit, MI.
  2. Mike Cohn’s agile testing pyramid – which is 10 years old this year unit tests test the methods, the API or service layer tests the REST APIs using Postman or RestAssure and the GUI is tested using Espresso or Appium Why do we do it? For insurance purposes, to stop the finger pointing between the backend and the mobile team IMHO we do it to extend the life of the software, it’s IT’s dirty little secret that apps only last a couple years before someone decides to rewrite them Anything that has been around for a while has an inertia, where it takes way longer to add a feature to a 2 yr old mobile app than it did when it first came out You can see that it’s a triangle for a reason, we should have lots of unit tests, many API tests and then a much smaller number of UI tests – which you think would be the most
  3. Ok, we can take a look at a simple login screen for our app, takes a username and password and a Sign in Button. We also have the create account, and need help – for forgot passwords etc.
  4. If you’re new to testing you’ll probably just write GUI tests for each any every scenario When you first start testing, it’s almost like all you do are GUI tests. ‘cos that’s what the user sees Quickly there can be hundreds of these tests in our tests suite. Maybe all of your tests are really well written Espresso, Selenium or Appium Or maybe all of your tests used the recording tool that you edited to get working.
  5. So when we make a subtle change such as going from username to email then all of our tests are going to fail There are too many dependencies to manage manually
  6. So if we change the field from username to email address like in the previous slide then all of our other tests cases are going to fail people only run diff tests….explain (TODO) People write less UI tests
  7. What we need to do is invert the pyramid or at least turn it into a square not a triangle? What do we want the tool to do? => need a testing tool that can recognize logins, carts, registrations So the tests aren't as brittle. => need a tool that can teach itself Need to work on Android, not just the web performs some type of self maintenance, fixes code automatically, self healing => Generic testing tool - one app to rule them all (not everyone’s going to want that)
  8. Before we go much further got to say there really isn’t enough time to talk about the morals of AI or just how scary some of the predictions are Yes this is going to mean manual testers are going to need to change how they do their job But that’s been the same for many a year. Context is key – we can’t teach the AI context. So a generic tool might be a long way off but a specific type of tool could work. This has implications for developers in the future
  9. We have can decompose this mobile app or any other web page into standard components =>shopping cart =>search bar =>data card with two texts boxes and a corresponding image So what we want is an app that will use machine learning/object detection to break apart an app into easily recognizable elements such as login, registration, forgot password, Nueral Networks can learn many different types of login buttons o NN know what aren’t login buttons o NN know if a login button moves, changes size, position, color, etc. o “Sees and Thinks like a User”
  10. We have can decompose this fitness app =>fab button =>hamburger menu =>alert =>home button =>user etc
  11. To train a network we need to get a largish sample size of images, say 5000 We label each of the images to show what we’re looking for - in this case it’s person and kite We train with 70% of the data and then test our model on the remaining 30% with the hope that a very small percentage are not recognized AI testing is basically doing exactly the same thing.
  12. So where do we get the data? First place to look is Kaggle, test.ai have a largish dataset of mobile icons. Many of the icons came from https://thenounproject.com/ If we need to find a cart image then we can can use the custom cart image driver.findElement('-custom', 'ai:cart'); It will find the cart element
  13. I took this from the Tensorflow github repo and it shows how we put it all together. Test.ai uses Tensorflow and the Kaggle data to train the model which we then use as an Appium plugin
  14. Here’s where we are at the moment. There are the beginnings of something that meets our definition of Nirvana But so far I don’t see anything works out of the box on all apps.
  15. There’s been a significant growth in the number of tools that claim to be AI testing tools. So many that it’s hard to know where to begin Don’t believe the Hype - be skeptical - most of them just help you write tests quicker – it’s debatable that some have any sort of AI.
  16. Tools fall into a very similar type of categories NLP - natural language processing Auto Generate tests Unit tests only Enhanced version of Selenium Low code Limited number apps Test management tool XPATH helper tools
  17. Self Healing - can fix any simple coding error, recommit and then test again Flexible - if I change from username to email, I don’t have to rewrite everything Generic solution - should be able to work on any app in the app store, Google Play Web and Mobile - iOS and Android Test more than one Page/Activity/ViewExport code for CI Repeatable Quick No False Positives Not prohibitively expensive - transparent pricing Scalable - multi browser, multi device Still funded - support?
  18. Test.ai is using object detection, uses TensorFlow Jason Arbon is the creator of the tool Appium Plugin - Appium with a brain You can try it yourself as everything is up on github They did get funding from Google 11m Does have a higher learning curve than the other examples
  19. # install appium $ npm install -g appium # install test-ai dependencies $ brew install pkg-config cairo pango libpng jpeg giflib # install test-ai $ npm install test-ai-classifier --save # install python unit testing framework and python Appium client. $ pip3 install pytest Appium-python-client
  20. TO DO: Show the two apps being tested TO DO: Show all the prerequisites Pre-req’s – install node, python3, Appium, In this example we’re starting up the FandangoNow app and telling it to find the search bar It’s been trained for approx 100 commands or images for finding - cart, search, login, send, up down buttons etc. and you can train more yourself
  21. Import the Appium drivers
  22. Point the test at the genymotion device You get this from running adb devices
  23. Running this against FandangoNow, for the moment we’re hardcoding the location of the apk
  24. Here’s where we load the test.ai module
  25. This is the address of the Appium web interface, if you used Appium before this is where you normally create your tests
  26. This is where we do the actual test, we’re looking for a search button Looking at the app I’ve highlighted the search, in top rh corner of the app on the nav bar, marked with a red rectangle Once we find it we send a click event
  27. So here’s the result of our test. I’m also highlighting how our demo test gets called.
  28. You can find a list of the objects or commands your can find using test.ai There’s over 100 at the moment which should suit most needs Our objective is to create dynamic data in 1000’s of APKs, i.e. automated registration and then login to apps to see what’s been saved insecurely.
  29. Like I said the dataset is open source, so if you have something you want to test, for example there was a diary icon in the fitness app That isn’t in the existing list then you can add that to the dataset and retain the machine learning so it’ll work for you requirements.
  30. Ok so we want this to be a generic test, we want to pass in more apks and search for a single movie, say Thor Here’s two more app with search buttons with different search buttons, one high one low. DEMO: do the second demo.
  31. Maybe you don’t need a flexible solution like we need maybe you need something very specific, Facebook created Sapienz Sapienz is Facebooks app for testing Facebook, Instagram and Whatsapp only. I left it to the end as it’s not publicly available but it’s interesting to help see where AI testing is headed
  32. Sapienz and Sapfix have a true self-healing functionality. Testing is all about passing tests, so if we have failure then mutate the code using templates and if it passes the tests then commit the code, otherwise revert. SAY THAT TWICE so if we have failure then mutate the code using templates and if it passes the tests then commit the code, otherwise revert.
  33. Are we there yet? Not that intelligent yet to call it AI and It's not machine learning either. I would say it's just Intelligent Test Automation Coding. Mostly all about efficiency not AI Mostly all about fixing tests quickly not AI Have we reached Nirvana. If you’re only testing a small number of apps then I think you can use something like test.ai Facebook – SELF HEALING WTF!! WHY DO WE WANT TO DO IT? Dynamic testing security – I’ll let you know how we get on
  34. Any questions??