The Right Tool for the Right Project

70
Welcome!

Transcript of The Right Tool for the Right Project

Page 1: The Right Tool for the Right Project

Welcome!

Page 2: The Right Tool for the Right Project

Agenda–18:00-18:20 Gathering–18:20-19:00 The right tool for the right project | Ori Bendet –19:00-19:05 PIZZAS!–19:00-19:45 Surviving the Storm - continuous testing in the world of SaaS & Cloud | Karim Fanadka 

–19:45-20:30 networking and Pokémon party outside the office (2 Pokéstops w/ lures)

Page 3: The Right Tool for the Right Project

3

Have any ideas for a future meetup?–Contact me: [email protected]

Page 4: The Right Tool for the Right Project

4

Please give us a 5-star rating!

Page 5: The Right Tool for the Right Project

The Right Tool for the Right Project@bendet_ori

Page 6: The Right Tool for the Right Project

6y in HPE Softwarein various managerial QA rolesToday - Inbound PM for a new cloud testing offering

ABOUT ME

Page 7: The Right Tool for the Right Project

Michael's FatherNaomi’s Husband

ABOUT ME

Page 8: The Right Tool for the Right Project

For small talk later…

ABOUT ME

Page 9: The Right Tool for the Right Project

State of AutomationThe poll!

Page 10: The Right Tool for the Right Project
Page 11: The Right Tool for the Right Project
Page 12: The Right Tool for the Right Project
Page 13: The Right Tool for the Right Project
Page 14: The Right Tool for the Right Project

Now Let’s GetTo Business!

Page 15: The Right Tool for the Right Project

Assumption #1

15

Vendors only use their own tools

Page 16: The Right Tool for the Right Project

Assumption #2

16

Evil corporates hate Open Source

Page 17: The Right Tool for the Right Project

Assumption #3

17

Everybody is doing automated testing

Page 18: The Right Tool for the Right Project

My OwnAutomaton Journey

Page 19: The Right Tool for the Right Project

19

Project #1AUT: Analytic Platform Automation: Internal Standalone Tool

Page 20: The Right Tool for the Right Project

20

Analytic Platform for IT Executives (v 1.0)

– AUT technology Stack– Glassfish Server– Flex + GWT– SAP BODS for ETLs– SAP BOE for BI– MSSQL

– Automation– People doing automation: 0.5 / 5– Focusing mainly on APIs– Java Beans (EJBs)– Internal tool called FIST– ROI: LOL

3.5 hours to install

Page 21: The Right Tool for the Right Project

21

Page 22: The Right Tool for the Right Project

22

Page 23: The Right Tool for the Right Project

23

Page 24: The Right Tool for the Right Project

24

An extendable Java class

Page 25: The Right Tool for the Right Project

25

Page 26: The Right Tool for the Right Project

26

Why?

Page 27: The Right Tool for the Right Project

27

Lessons LearnedStandalone Tool developed internally– Cons

– Nobody knew about the tool, wasn’t cool, no buzz around it– External tool: unable to get DEV to cooperate with automation (or even install the tool)– Manually triggered (no part of the CI process)– Almost every new test required changes to be done by DEV (expose new API methods)– No direct access to source code

– Pros– Small investment– QTTV– Easily extendable– Stability

Page 28: The Right Tool for the Right Project

28

Analytic Platform for IT Executives (v 1.0 2.0)

– AUT technology Stack– Glassfish Server– Flex + GWT– SAP BODS for ETLs– SAP BOE for BI– MSSQL

– Automation– People doing automation: 4 / 10, dedicated developer to assist– Focusing mainly on APIs Automation installation, E2E flows– Java Beans (EJBs) REST APIs– Internal tool called FIST Internally built framework REST client, Selenium, Flex Monkey– Automatic Deployment Solution: internally developed tool called Slick – ROI: 3 MD each sprint 1 MM per release

Automatic Deployment

Solution

Page 29: The Right Tool for the Right Project

29

Saved over 10K MH

Page 30: The Right Tool for the Right Project

30

Why?

– High demand for automation coverage– Developers selected the automation framework– Wanted to work together with developers– Invested in automated installation as well

Page 31: The Right Tool for the Right Project

31

Lessons LearnedInternally built Automation Framework (inside the IDE)– Cons

– Required more coding skills– Large effort of getting things started– Harder to be used by less-technical testers– UI automation stability

– Pros– Harness developers into the automation– Developers re-used testing assets for their own benefits– Testers have access to source code– Part of the CI process

Page 32: The Right Tool for the Right Project

32

Project #2AUT: Performance Testing toolAutomation: Open Source

Page 33: The Right Tool for the Right Project

33

Performance Testing tool

– AUT technology Stack– nodeJS– AngularJS– Internal SQLlite

– Automation– People doing automation: 1 / 4– System tests leveraging developers assets– Focus on API testing, sanity level UI testing– Application Modeling for less-technical testers – Protractor, Mocha, Jasmine– ROI: 1.5 MD / sprint

Protractor

Page 34: The Right Tool for the Right Project

Without the framework

With the framework

REST API

Page 35: The Right Tool for the Right Project

Without the framework

With the framework

UI:

Page 36: The Right Tool for the Right Project

Test (created by non-technical engineer)

Page 37: The Right Tool for the Right Project

37

Why?

– Best available choice for the technology stack– 1 automation engineer working on the framework, others re-using the assets

Page 38: The Right Tool for the Right Project

38

Lessons LearnedLeveraging DEV assets and extending into our own framework (+ modeling)– Cons

– Modeling takes time– Technical engineer becomes the bottleneck– UI automation stability

– Pros– Use existing developers assets– Extend automation coverage using non-technical engineers– Modeling eases tests maintenance

Page 39: The Right Tool for the Right Project

39

Project #3AUT: Firefox pluginAutomation: Commercial Tool (LeanFT)

Page 40: The Right Tool for the Right Project

40

TruClient?TruClient is a tool for recording Web-based applications. It is used inside LoadRunner for performance testing on the browser level

1. TruClient Sidebar2. TruClient Toolbox3. Firefox browser4. Application

Browser Window5. TruClient Sidebar

Status Pane

LeanFT = UFT’s younger & cooler brother

Page 41: The Right Tool for the Right Project

41

TruClient

– AUT technology Stack– Firefox Plugin– Pure Web– WPF– Windows app

– Automation– People doing automation: 2 / 6– Did not have an automation suite as they could not find a tool which has automation abilities for the

full flow – including the three technologies.– Supports the three main browsers and needs an automation tool that can identify and test the objects

in all the supported browsers – Selected LeanFT as the tool

Page 42: The Right Tool for the Right Project

42

The Automation SuiteLeanFT Application Model

Containing the full AUT hierarchy, the App Model displays a Modular view of all the objects implemented in the tested application

Page 43: The Right Tool for the Right Project

43

The Automation SuiteLeanFT test

- Everything is written in the IDE, Dev have access to tests (and used them for sanity)

- Test code is completely reusable among the whole test suite

- The test is authored once, and can be run on all three browsers

- In the test setup, the TruClient launcher – written in WPF - is started and being used, and during the test, web and standard windows technologies are tested.

Page 44: The Right Tool for the Right Project

44

Why?

– Cross Technology support (Desktop & Web)– Script once – run of all browsers– Re-use, share testing assets with Dev

Page 45: The Right Tool for the Right Project

45

Want to buy a new automation framework for 1 shekel??

Page 46: The Right Tool for the Right Project

46

The Automation Council

Page 47: The Right Tool for the Right Project

47

Page 48: The Right Tool for the Right Project

48

The Guidelines

Page 49: The Right Tool for the Right Project

Rule #1

49

Accessible in the developers workspace

Page 50: The Right Tool for the Right Project

Rule #2

50

Cross Browsers/Technology Support

Page 51: The Right Tool for the Right Project

Rule #3

51

Ability to easily model the UI

Page 52: The Right Tool for the Right Project

Rule #4

52

Full support for REST APIs testing

Page 53: The Right Tool for the Right Project

Rule #5

53

DB Layer

Page 54: The Right Tool for the Right Project

Rule #6

54

Ability to combine UI/API/DB in 1 flow

Page 55: The Right Tool for the Right Project

Rule #7

55

Messaging Parser (json, XML, etc.)

Page 56: The Right Tool for the Right Project

Rule #8

56

Parameterization of tests

Page 57: The Right Tool for the Right Project

Rule #9

57

CI/CD complaint

Page 58: The Right Tool for the Right Project

Rule #10

58

Modularity to allow re-use by less tech eng

Page 59: The Right Tool for the Right Project

59

Page 60: The Right Tool for the Right Project

60

FIST Selenium built FWK

LeanFT UFT

IDE √Cross Browsers/Technology

X Mobile/Web

Model the UIREST API testing X*DB Layer X*Combine UI/API/DB X*Parsers X*Parameterization CI/CDModularity for less-techCross PlatformsLightweight

= can be added by user

Page 61: The Right Tool for the Right Project

SummaryTime

Page 62: The Right Tool for the Right Project

Assumption #1

62

Vendors only use their own tools

Page 63: The Right Tool for the Right Project

Assumption #1

63

Vendors only use their own tools

It’s not about the tool

Page 64: The Right Tool for the Right Project

Assumption #2

64

Evil corporates hate Open Source

Page 65: The Right Tool for the Right Project

Assumption #2

65

Evil corporates hate Open Source

We love Open Source!!

Page 66: The Right Tool for the Right Project

Assumption #3

66

Everybody is doing automated testing

Page 67: The Right Tool for the Right Project

Assumption #3

67

Everybody is doing automated testingEverybody is using automated testing

Page 68: The Right Tool for the Right Project

68

Take Home Message

Page 69: The Right Tool for the Right Project

It’s never about the toolIt’s about finding

the right tool for the right project

Page 70: The Right Tool for the Right Project