SlideShare a Scribd company logo
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

What's hot (20)

Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 Tips for Writing Better Charters for Exploratory Testing Sessions by Michael... Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
The Thinking Tester, Evolved
The Thinking Tester, EvolvedThe Thinking Tester, Evolved
The Thinking Tester, Evolved
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit Testing
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation
 
ASP.NET Brief History
ASP.NET Brief HistoryASP.NET Brief History
ASP.NET Brief History
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
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)
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
BDD - Writing better scenario
BDD - Writing better scenarioBDD - Writing better scenario
BDD - Writing better scenario
 
TestNG
TestNGTestNG
TestNG
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
API Testing.pptx
API Testing.pptxAPI Testing.pptx
API Testing.pptx
 

Similar to Using ML to make your UI tests more robust

Five reasons to model during QA
Five reasons to model during QAFive reasons to model during QA
Five reasons to model during QA
Curiosity Software Ireland
 
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
Curiosity 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
 

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

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

Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
abhinandnam9997
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
aagad
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
lolsDocherty
 

Recently uploaded (13)

Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdf
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdf
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
The Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI StudioThe Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI Studio
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's Guide
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case Study
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
 
Case study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxCase study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptx
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?
 

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??