SlideShare a Scribd company logo
Selenium Testing your Kubernetes Apps
with Machine Learning & Testim
Oren Rubin ⎸Founder & CEO ⎸Testim
Dan Garfield ⎸Chief Evangelist ⎸Codefresh
Dan Garfield
Chief Evangelist, Codefresh
Customers
Over 3.5 million images built
@TodayWasAwesome
Testim.io
CEO
Applitools
Director of R&D
Wix
Web Architect
Cadence
Compiler Engineer
IBM
Cloud Engineer
Mentor
Google Launchpad
Developer Expert
Google
External Lecturer
Technion University
Meetup Co-Organizer
Selenium IL, GDG, Ember.js
Oren Rubin @shexman
Agenda
Benefits, Challenges of UI/E2E Testing
How to do it better w/ Machine Learning
Dealing w/Microservices
Demo
Unit Tests: 2
Integration Tests: 0
Why Test?
Shift Left
Requirements Design Code Test Acceptance Production
Time to find bug (SDCL stage)
Cost of
bug fix
COST OF A BUG FIX ACROSS DEVELOPMENT LIFE CYCLE
Shift Left - When do the tests happen?
master
staging
feature
ProductionStagingPull RequestCommit
How far have you shifted left?
Not at all, we test last, we test quality into the product
Testing involved early, but still have an extended
test phase before release
We could probably release after every sprint
We could ship daily if we wanted to
We could deploy any minute of any day
13%
57%
19%
10%
2%
Where it’s going: Rapid Release Cycles
Innovators
2.5%
Early
Adopters
13.5%
Chasm
Early
Majority
34%
Late
Majority
34%
Laggards
34%
Every two
weeks
Every day 5 times
a day
Every 6
month
Every
month
Challenges
FROM WQR 2017
Challenges
Innovators
2.5%
Early
Adopters
13.5%
Chasm
Early
Majority
34%
Late
Majority
34%
Laggars
34%
Every two
weeks
Every day 5 times
a day
Every 6
month
Every
month
Chasm
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Demo Application - Voting App
https://github.com/todaywasawesome/example-voting-app
● 12-Factor Microservice App
● Packaged as a Helm Chart
● Helm makes Shift Left with Kubernetes
a lot easier
Vote View Results
Continuous Delivery Pipeline w/Testim UI
Commit &
Push
Build
images/Chart
Functional
Testing
Deploy to one-off
environment
Deploy Prod Deploy Validation Add Metadata
Lets Make Some Tests!
Demo the Pipeline
Schedule a Demo!
Contact us at:
Testim.io
Schedule a 1:1
Get in touch at:
Codefresh.io
Questions?

More Related Content

Selenium Testing your Kubernetes Apps with Machine Learning and Testim

Editor's Notes

  1. 1) Talk about the challenges with UI testing - Oren 2) Talk about how machine learning can solve them - Oren 3) Introduce test application - Dan 4) Introduce Testim and how it works, create some tests. - Oren 5) Introduce Codefresh, add testing step to use Testim - Dan 6) Q/A
  2. Thank you everyone for inviting me. My name is Oren and I’m the founder and CEO of Testim. I’ve been building products for the last 20+ years, focusing on developer tools. And I have to say that the testing challenge is the one of the hardest I’ve encountered, and that why I’m excited being here
  3. Shift left slide 1/3: Dan: Oren, can you start by explaining to the audience what is Shift Left and why is it starting to gain momentum recently? Oren: Shift left is the name of a development paradigm which encourages finding issues as early as possible. The initial premise is that the earlier you discover a bug, the less effort & cost you need to fix it. This ranges from a requirement fix which might take a few hours and sometimes minutes, while before release it will take X10 or X50. In production it’s a total different case. I’m not even mentioning hardware, where a production mistake costs billions or human lifes When you have everything set up, I mean testing early, and have everything automated (including the deployment), you actually get to what we call continuous deployment Dan: And what’s the adoption rate in the software industry?
  4. Shift left 2/3 Oren: We see the leading companies, such as Google and Facebook being already there, but most companies are struggling to get there (although they’re trying). Let me show the same survey result in a different way
  5. shift left 3/3 Oren: you can see the majority are not continuous deployment Dan: what are the current challenges which hinder companies?
  6. Challenges with UI Testing (first 2 min our of 10 min) Oren: there are a lot of surveys that show several challenges, and I’ve work in the recent years to map them onto the different stages of a company
  7. Challenges with UI Testing (first 2 min our of 10 min) Oren: there are a lot of surveys that show several challenges, and I’ve work in the recent years to map them onto the different stages of a company Oren: the laggers find trouble even finding good hires Then people struggling with authoring the tests, as it’s mostly asynchronous, as a human you don’t just click on stuff, you (unconsciously) wait for something to appear Initialization is the next challenge, you created a test which adds goes to ebay and adds something to the cart, and you validate that there’s one item. It will fail on the next run if you don’t reset that (because they will be two on the cart) Next is the maintenance, E2E and UI testing are considerate fragile, because on every code change the tests might break. Dan: so how does AI and machine learning help with that?
  8. Dan (?): and this is where the AI comes in I guess, doing things that humans can, like looking at multiple attributes Oren: exactly, a machine can look at all the different attributes, which could be hundreds. This means that when a class/id/text/some-attribute changes, it doesn’t fail the test. A machine today can learn from each execution, and know that a specific attribute is significant or now. For example. Everyone used to say that “ids” are the best property to use in order to find elements. A machine can tell you whether it’s stable over the last month, or is it randomly generated on every build
  9. Introduce test app (5 min) Dan: When microservices came on the scene it actually made shift left more complex because we needed a way to pull in our full application that was now split with lots of microservices. For this Demo we’ll use a Voting App packaged as a Helm Chart. If you’re not familiar with Helm...
  10. Automated Demo (10 min)
  11. Automation (introduce demo and Codefresh) (5 min) Automated Demo (10 min)
  12. Automation (introduce demo and Codefresh) (5 min) Automated Demo (10 min)