2012 selenium kiev_08_final

24
Automation in Concur Technologies. Practical Experience. Anastasiya Nesterenko QA UI Automation

Upload: metaxacz

Post on 09-Jun-2015

791 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 2012 selenium kiev_08_final

Automation in Concur Technologies. Practical Experience. Anastasiya Nesterenko

QA UI Automation Lead

Page 2: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Presenter: Anastasiya Nesterenko

Lead of QA UI Automation Team In IT – 8 years In Concur – 3.5 years

Likes beer and socializing

Page 3: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Presentation Agenda

About ConcurHow do we do automationWhy move to Selenium 2?Demo

Page 4: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Concur

Leading provider of integrated travel and expense management solutions

90 countries 15 000 companies 15 000 000 users

Page 5: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Automation Goals

Reliable Accurate Maintainable Extendable Scalable

Page 6: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Some Challenges

Different technologies involvedContinuous execution: 24/7Monthly releases

Page 7: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Teams & Responsibilities

UI9 people

Execution5 people

Framework5 people

QA Automation

Page 8: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Components, Tools and Frameworks

Dispatcher

Data StoreWeb UI

Test Execution Tasks

ResultTask

Execution Results

Selenium

VM – Robot #1

Selenium

VM – Robot #N

ResultTask

. . .

VMware Farm

Page 9: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Automation Data

•Smoke tests

•Continuous: 24/7/365

Execution

•470+ test suites on both Seleniums

•15..50 min per suite (3..5x faster than manual run)

•5+ times per release (one month)

•500+ executions daily

•35+ bugs per release (regressions)

Some numbers

Page 10: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

UI Automation: Selenium 1

•2.5 years: Selenium 1 (HTML)

Test Runner, SQL, JavaScript

General•3

20+ suites

Stats

•No programming experience required

•Execution with the Test Runner

Benefits

Page 11: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Page 12: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Page 13: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

UI Automation: Selenium 1

•Ajax = No recording

•CSS Selectors

Specifics

•Lack of object-oriented style

Challenges

•Internal ‘LEGO’ development

Painkillers

Page 14: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

UI Automation: Selenium 2

•Since September 2011: transition to Selenium2/ WebDriver

General•4

5+ suites

Stats

•Robust tests

•Multiple browsers support

•Faster development

Benefits

Page 15: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Speed of Development: S1 vs S2

Series10

0.5

1

1.5

2

2.5

Selenium 1Selenium 2

Dev

elo

pm

ent

spee

d,

mo

nth

/ p

erso

n

Jun 09 Jul 09 Aug 09 Sep 09 Oct 09 Nov 09

Sep 11 Oct 11 Nov 11 Dec 11 Jan 12 Feb 12

Page 16: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

UI Automation: Selenium 2

•Selenium 1: 15-20% of time

•Selenium 2: 5-10% of time

Support Efforts

•Proving investment in transition

Strategy

•Programming

•Finding good synchronization

•Knowledge building and sharing

•Coexistence with Selenium 1

Challenges

Page 17: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

UI Automation: Selenium 2

•Collecting feedback

Team

•Easier to test complex scenarios

•Support of popup windows testing

Less Pain

•Window size affects testing

•Focus sensitivity

Grain of Salt

Page 18: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

The Main Stages of…… ?

Page 19: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Main Stages of Transition

•Java, OOP

•Page objects pattern

Building Knowledge

•Initial design of Page Objects

•CSS Selectors vs. XPath evaluation

First Steps

•Redesign of Page Objects

•Conversion to XPath

Refactoring

Page 20: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Main Stages of Transition•Ex

ecute daily, fix broken stuff

•Tweak for IE

Adoption

•Review and improve design

JAVA / OOP

•Do trainings

•Support other teams

Education

Page 21: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Selenium 2: Advices

Evaluate the benefits of switching Identify the early adoptersEstablish communication with devsAim for the best practices

Page 22: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Road to Go…

Increase coverage Concentrate on the most complex partsComplete S1 -> S2 transitionKeep improving quality

Page 23: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Demo

Page 24: 2012 selenium kiev_08_final

© 2012 Concur, all rights reserved. Concur is a registered trademark of Concur Technologies, Inc.

@metaxa_cz #SeleniumCamp

Automation ROCKS!

Thank you. Questions?

[email protected]

@metaxa_cz