64
Solving the Automation Puzzle @bendet_ori

Solving the Automation Puzzle - how to select the right automation framework for you

Embed Size (px)

Citation preview

Page 1: Solving the Automation Puzzle - how to select the right automation framework for you

Solving the Automation Puzzle @bendet_ori

Page 2: Solving the Automation Puzzle - how to select the right automation framework for you

About me - @bendet_ori5.5y in HPE Software in various managerial QA roles

Michael’s father | Naomi’s husband

For small talk later:

Today – Inbound PM for UFT & a new cloud offering

Largest Pharm. Customer in

Europe

Critical Defect in Diaper

Page 3: Solving the Automation Puzzle - how to select the right automation framework for you

3

State of Automation – the poll!

Page 4: Solving the Automation Puzzle - how to select the right automation framework for you

4

Page 5: Solving the Automation Puzzle - how to select the right automation framework for you

5

Page 6: Solving the Automation Puzzle - how to select the right automation framework for you

6

Page 7: Solving the Automation Puzzle - how to select the right automation framework for you

7

Page 8: Solving the Automation Puzzle - how to select the right automation framework for you

8

To Business!

Page 9: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #1

9

Vendors only use their own tools

Page 10: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #2

10

Evil corporates hate Open Source

Page 11: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #3

11

Everybody is doing automated testing

Page 12: Solving the Automation Puzzle - how to select the right automation framework for you

12

My Automation Journey

Page 13: Solving the Automation Puzzle - how to select the right automation framework for you

13

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

Page 14: Solving the Automation Puzzle - how to select the right automation framework for you

14

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 15: Solving the Automation Puzzle - how to select the right automation framework for you

15

Page 16: Solving the Automation Puzzle - how to select the right automation framework for you

16

Page 17: Solving the Automation Puzzle - how to select the right automation framework for you

17

Page 18: Solving the Automation Puzzle - how to select the right automation framework for you

18

An extendable Java class

Page 19: Solving the Automation Puzzle - how to select the right automation framework for you

19

Page 20: Solving the Automation Puzzle - how to select the right automation framework for you

20

Why?

Page 21: Solving the Automation Puzzle - how to select the right automation framework for you

21

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 22: Solving the Automation Puzzle - how to select the right automation framework for you

22

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 23: Solving the Automation Puzzle - how to select the right automation framework for you

23

Saved over 10K MH

Page 24: Solving the Automation Puzzle - how to select the right automation framework for you

24

Why?

– High demand for automation coverage

– Developers selected the automation framework

– Wanted to work together with developers

– Invested in automated installation as well

Page 25: Solving the Automation Puzzle - how to select the right automation framework for you

25

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 26: Solving the Automation Puzzle - how to select the right automation framework for you

26

Project #2AUT: Performance Testing toolAutomation: Open Source

Page 27: Solving the Automation Puzzle - how to select the right automation framework for you

27

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 28: Solving the Automation Puzzle - how to select the right automation framework for you

Without the framework

With the framework

REST API

Page 29: Solving the Automation Puzzle - how to select the right automation framework for you

Without the framework

With the framework

UI:

Page 30: Solving the Automation Puzzle - how to select the right automation framework for you

Test (created by non-technical engineer)

Page 31: Solving the Automation Puzzle - how to select the right automation framework for you

31

Why?

– Best available choice for the technology stack

– 1 automation engineer working on the framework, others re-using the assets

Page 32: Solving the Automation Puzzle - how to select the right automation framework for you

32

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 33: Solving the Automation Puzzle - how to select the right automation framework for you

33

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

Page 34: Solving the Automation Puzzle - how to select the right automation framework for you

34

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 35: Solving the Automation Puzzle - how to select the right automation framework for you

35

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 36: Solving the Automation Puzzle - how to select the right automation framework for you

36

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 37: Solving the Automation Puzzle - how to select the right automation framework for you

37

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 38: Solving the Automation Puzzle - how to select the right automation framework for you

38

Why?

– Cross Technology support (Desktop & Web)

– Script once – run of all browsers

– Re-use, share testing assets with Dev

Page 39: Solving the Automation Puzzle - how to select the right automation framework for you

39

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

Page 40: Solving the Automation Puzzle - how to select the right automation framework for you

40

The Automation Council

Page 41: Solving the Automation Puzzle - how to select the right automation framework for you

41

Page 42: Solving the Automation Puzzle - how to select the right automation framework for you

42

The Guidelines

Page 43: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #1

43

Accessible in the developers workspace

Page 44: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #2

44

Cross Browsers/Technology Support

Page 45: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #3

45

Ability to easily model the UI

Page 46: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #4

46

Full support for REST APIs testing

Page 47: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #5

47

DB Layer

Page 48: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #6

48

Ability to combine UI/API/DB in 1 flow

Page 49: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #7

49

Messaging Parser (json, XML, etc.)

Page 50: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #8

50

Parameterization of tests

Page 51: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #9

51

CI/CD complaint

Page 52: Solving the Automation Puzzle - how to select the right automation framework for you

Rule #10

52

Modularity to allow re-use by less tech eng

Page 53: Solving the Automation Puzzle - how to select the right automation framework for you

53

Page 54: Solving the Automation Puzzle - how to select the right automation framework for you

54

FIST Selenium built FWK LeanFT UFTIDE X √ √ X

Cross Browsers/Technology

X Mobile/Web √ √√√

Model the UI X X* √ √

REST API testing √ X* X* √

DB Layer √ X* X* √

Combine UI/API/DB X X* X* √

Parsers √ X* X* √

Parameterization √ √ √ √

CI/CD X √ √ √

Modularity for less-tech X X √ √

Cross Platforms X √ X X

Lightweight X √ √ X

= can be added by user

Page 55: Solving the Automation Puzzle - how to select the right automation framework for you

55

Summary

Page 56: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #1

56

Vendors only use their own tools

Page 57: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #1

57

Vendors only use their own tools

It’s not about the tool

Page 58: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #2

58

Evil corporates hate Open Source

Page 59: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #2

59

Evil corporates hate Open Source

We love Open Source!!

Page 60: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #3

60

Everybody is doing automated testing

Page 61: Solving the Automation Puzzle - how to select the right automation framework for you

Assumption #3

61

Everybody is doing automated testingEverybody is using automated testing

Page 62: Solving the Automation Puzzle - how to select the right automation framework for you

62

Take Home Message

Page 63: Solving the Automation Puzzle - how to select the right automation framework for you

63

“It’s never about the tool, it’s about finding the right tool for the right project”

Page 64: Solving the Automation Puzzle - how to select the right automation framework for you

64

Thank You!Contact me: @bendet_ori

[email protected]