Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond...

83
Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce

Transcript of Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond...

Page 1: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Modern Web Testing:

Going Beyond Selenium

Dmitry Vinnik, @DmitryVinnikLead Software Engineer, Salesforce

Page 2: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

GoalsEnd-to-End Testing:

What, Why, How and When

Looking Beyond Selenium WD

Find Right E2E Tool For Your Team

What are our goals?

2

Page 3: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

How do we usually test?

3

Let’s go in more details

Page 4: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Test Pyramid↑ Fidelity

↓ Speed

↑ Cost

↓ Fidelity

↑ Speed

↓ Cost 4

Page 5: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Let’s test something!

5

What is this “something”?

Page 6: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

6

Example App

Page 7: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Back to testing!

7

Page 8: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

End-to-End Testing

8

Today’s Focus

Page 9: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Common way to do E2E?

9

Page 10: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Selenium WebDriver

10

Defacto

E2E Tool

Testing

Standard

Generic ↑ Integrations

Page 11: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Selenium WebDriver

11

Selenium WebDriver

From “SeleniumHQ, Selenium RC”

Page 12: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Case #1

12

Backend:

Java

Testing:

Java

Page 13: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Is there a problem?

13

Yes, there is

Page 14: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Why not Server Side Test?

14

Hybrid

ModelDDD

User

Centric

DDD

User

Centric

Page 15: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Hybrid Model

15

Software

Engineers

Software

Principles

Testing

Expertise

Page 16: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Why not Server Side Test?

16

Hybrid

ModelDDD

User

Centric

DDDDDDHybrid

Model

Page 17: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Domain Driven Design

17

Context Matters

Ubiquitous

Language

Page 18: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Why not Server Side Test?

18

Hybrid

ModelDDD

User

Centric

DDDDDDHybrid

ModelDDD

User

Centric

Page 19: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Still not convinced?

19

Page 20: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Modern Web Testing

20

Page 21: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Power of JavaScript

21

Assertion

Libraries

Process

Libraries

Enterprise

Libraries

Process

Libraries

Enterprise

Libraries

ChaiJasmineProcess

Libraries

BDD

LibrariesCucumber

Enterprise

LibrariesApplitools

Page 22: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Speaking Language

of the Web

22

JavaScriptNode.js

Page 23: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Node.js

23

NPM

Manager

Flexible

Customizable

Isomorphic

Page 24: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Established Medium

24

Going back to the Pyramid

Page 25: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Test Pyramid

↓ Fidelity

↑ Speed

↓ Cost 25

Page 26: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Unit Testing

26

In Web Context

Page 27: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Example: Jasmine

27

Page 28: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Test Pyramid

↓ Fidelity

↑ Speed

↓ Cost 28

Page 29: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Integration Testing

29

In Web Context

Page 30: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Example: Jest

30

Page 31: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Let’s reflect on it

31

Page 32: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Test Pyramid

↓ Fidelity

↑ Speed

↓ Cost 32

Page 33: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Every step has

only 1 focus

33

Developers

Page 34: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

34

Good for some testsBut not for E2E tests

Page 35: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Test Pyramid↑ Fidelity

↓ Speed

↑ Cost

↓ Fidelity

↑ Speed

↓ Cost 35

Page 36: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Shifting focus

36

Developers Customers

Page 37: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Sounds great!

37

But how do we do it?

Page 38: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

User Centric TestingEnd-to-End Task Testing

38

Interactions Tasks

Page Object

Model

Screenplay

Pattern

Page 39: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Should we use

Java for tests?

39

No!Back to our app

Page 40: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

What should we do?

40

Move to Client Side

Page 41: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Continuing with Selenium

41

WebdriverJs

Page 42: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Selenium WebDriver

42

Defacto

E2E Tool

Testing

Standard

Generic ↑ Integrations

WebdriverJs

Page 43: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Selenium WebdriverJs

43

Selenium WebdriverJs

From “SeleniumHQ, Selenium RC”

Page 44: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Example: WebdriverJs

44

Page 45: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Only good parts, right?

45

Not Really...

Page 46: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

E2E Tests:

General Complexity

46

SelectorsLocator

Strategy

Test Flows SPA Types

Page 47: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

What about WebdriverJs?

47

Page 48: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

E2E Tests:

General Complexity

48

SelectorsLocator

Strategy

Test Flows SPA Types

WebdriverJs

Locator

Strategy

Test Flows SPA Types

ID, CSS,

Xpath

Locator

StrategyBy Locators

Test FlowsPromise

ManagerSPA TypesSPA TypesSPA TypesGeneric

Page 49: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Looks limited

49

Is there anything better?

Page 50: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Remember our test app?

50

Case #2Angular

Components

Models Controllers

Page 51: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Demo App: Closer Look

51

Page 52: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

How would we test that?

52

Page 53: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Test Pyramid↑ Fidelity

↓ Speed

↑ Cost

↓ Fidelity

↑ Speed

↓ Cost 53

Page 54: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Do we have to use

WebdriverJs?

54

No!

Page 55: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Protractor

55

E2E Test Framework for Angular Apps

Page 56: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Protractor

56

Protractor

From “Protractor.org”

Page 57: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

E2E Tests:

General Complexity

57

SelectorsLocator

Strategy

Test Flows SPA Types

Protractor

Locator

Strategy

Test Flows SPA Types

Element

Bindings

Locator

StrategyBy Repeaters

Test FlowsApplication

State AwareSPA Types

Angular

Oriented

Page 58: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Example: Protractor

58

Page 59: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Angular is great

59

But

Page 60: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

There are Many More Front-

End Frameworks...

60

React Vue

Ember Backbone

Page 61: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Protractor + React

61

Protractor + React

Page 62: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Protractor + ReactConclusion

62

Page 63: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

What’s Next?

63

Non-Selenium

UI Test Frameworks

TestCafe

Cypress.io

Page 64: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

What have we

learned so far?

64

Handling

Waits

RTD

Parallel

Execution

Recorder

& IDE

Patterns.

Patterns everywhere

Page 65: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

65

Non-Selenium

UI Test Frameworks

TestCafe

Cypress.ioCypress.io

Page 66: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Common Patterns

66

Handling

Waits

RTD

Parallel

Execution

Recorder

& IDE

TestCafe

Page 67: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

TestCafe: Recorder & IDE

67

Recorder & IDE

Source:

TestCafe by DevExpress, https://github.com/DevExpress/testcafe

Page 68: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

TestCafe: Example

68

TestCafe: Example

Source:

TestCafe by DevExpress, https://github.com/DevExpress/testcafe

Page 69: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

69

Non-Selenium

UI Test Frameworks

TestCafe

Cypress.ioCypress.io

TestCafe

Cypress.io

Page 70: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Common Patterns

70

Handling

Waits

RTD

Parallel

Execution

Recorder

& IDE

Cypress.io

Page 71: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

71

Cypress.io: Reports & IDE

Source:

Cypress.io Example by Cypress.io, https://www.cypress.io

Page 72: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Cypress.io: Example

72Source:

Basic Example by Cypress.io, https://www.cypress.io

Cypress.io: Example

Page 73: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Right Tool

for the Right Problem

73

Page 74: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

There are many other

E2E Test Frameworks

74

WebdriverIO

WD

Nightwatch.js

Nemo

Page 75: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Avoid Tool Mixups

75

No DDD

No Common

Language

↑ Complexity

Page 76: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

How to Choose?

76

Github

Stars

NPM

Downloads

External

IntegrationsPOC

Page 77: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

But More Importantly

77

Flexibility

Use CaseUse Case

Page 78: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Flexibility

78

Cost of

TransitionROI

Ability to

ReplaceAbility to

Customize

Page 79: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

But More Importantly

79

Flexibility

Use CaseUse Case

Flexibility

Use Case

Page 80: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Use Case

80

Team

Expertise

Application

Framework

Test

Infrastructure

Page 81: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Call For Action

Evaluate Test

Architecture

Have Domain

Boundaries

Unify Test

StrategyExperiment!

81

Page 82: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

Q/A

82

Page 83: Modern Web Testing: Going Beyond Selenium · 2020-01-28 · Modern Web Testing: Going Beyond Selenium Dmitry Vinnik, @DmitryVinnik Lead Software Engineer, Salesforce. Goals ... Selenium

About Speaker

Twitter: @DmitryVinnik

LinkedIn: in/dmitry-vinnik/

Email: [email protected]

83