riverbed's presentation at sfse meetup 2/22

16
Lalitha Padubidri Lead QA Engineer (UI) Leena Ananthayya QA Engineer (UI) © 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Upload: sauce-labs

Post on 09-May-2015

1.311 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Riverbed's presentation at SFSE Meetup 2/22

Lalitha Padubidri – Lead QA Engineer (UI)

Leena Ananthayya – QA Engineer (UI)

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 2: Riverbed's presentation at SFSE Meetup 2/22

Introduction

Challenges

Goals

Approaches

Building blocks

Results

Gotchas

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 3: Riverbed's presentation at SFSE Meetup 2/22

Riverbed Technology is the IT performance company. (http://www.riverbed.com/us/)

~10 primary software products, including Wireshark packet sniffer

Public company with $600mil annual revenue, 9000 customers

Flagship product: Steelhead ◦ wide area network accelerator based on Linux OS and Intel

hardware

Engineering offices in San Francisco, Sunnyvale and other sites

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 4: Riverbed's presentation at SFSE Meetup 2/22

Network appliance, not a web site ◦ Web based user interface and Command Line interface

100+ pages with complex AJAX ◦ Network configurations, monitoring, security, reports etc.

Diverse install base

Multiple independent releases for each product

Multiple browsers

Consistent user experience

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 5: Riverbed's presentation at SFSE Meetup 2/22

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 6: Riverbed's presentation at SFSE Meetup 2/22

Our automation goals: ◦ Reusable

◦ Scalable

◦ Easy to learn

◦ Low development and maintenance cost

Our automation approach: ◦ Multiple layers of abstraction for writing tests

◦ Making the test data driven

◦ Factory methods

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 7: Riverbed's presentation at SFSE Meetup 2/22

Automation Services

DUT

Test Environment

Target Browser, OS, Grid

Selenium Grid1 Selenium Grid2

RC FF36

RC IE8

RC IE7

RC FF2

Test and data set

Test

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 8: Riverbed's presentation at SFSE Meetup 2/22

Automation Services

DUT

Test Environment

Target Browser, OS, Grid

Selenium Grid1 Selenium Grid2

RC FF36

RC IE8

RC IE7

RC FF2

Test and data set

PageAction PageVerificaton

Widgets

Elements

Selenium API

Test

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 9: Riverbed's presentation at SFSE Meetup 2/22

Abstracts HTML element’s selenium locators and its selenium methods into a single class ◦ Example: Radio, Checkbox, Textbox classes etc.

◦ Uses Selenium locators in the constructor

class CheckBox():

def check(self): //call to selenium method

def un_check(self): //call to selenium method

def is_check(self): //call to selenium method

Added benefit: improves code readability

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 10: Riverbed's presentation at SFSE Meetup 2/22

Allows us to customize widget operations ◦ Setter and getter methods to HTML element classes

To check a checkbox cb1, use cb1.set_value(true)

To enter text into a textbox tb2, use tb2.set_value(“testing”)

Allows us to expand the types of elements ◦ Form class that can perform user operations such as filling a web

form

◦ Table class that has methods to handle complex, heterogeneous and dynamic tables

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 11: Riverbed's presentation at SFSE Meetup 2/22

Container for HTML element locators

Built upon Elements library

cb = elements.CheckBox(id=“locator1”)

tb = elements.TextBox(name=“locator2”)

Automatically generate widget file from HTML page

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 12: Riverbed's presentation at SFSE Meetup 2/22

Run time instantiation of classes (PageAction, PageVerification and Widgets)

Versioning through inheritance

Handles releases, branches, products

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 13: Riverbed's presentation at SFSE Meetup 2/22

Instantiates the appropriate PageAction and PageVerification class using factory methods ◦ PageAction: Logical user action on the web page

◦ PageVerification: Verifying widgets against golden results

Contains generic calls to methods in PageAction and PageVerification class

Data-driven

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 14: Riverbed's presentation at SFSE Meetup 2/22

Some page are common among products

Automated around 50 test cases ◦ Low development cost

Data-driven tests: 50tests =>90 tests

Target three products: 50 tests => 90*3 = 270 tests

Target three browsers: 50 tests => 270*3 = 810 tests

Net ROI: 50 tests => 810 tests

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 15: Riverbed's presentation at SFSE Meetup 2/22

Performance issues on IE

No screenshot capture support for IE

Selenium ignores generic JavaScript errors

Operating on OS level popups

Selenium Grid reliability issues on VMs

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.

Page 16: Riverbed's presentation at SFSE Meetup 2/22

Contact

[email protected] (manager)

[email protected] (team lead)

[email protected] (QA engineer)

© 2011 Riverbed Technology. Confidential. IMPORTANT NOTE: The roadmap is for information purposes only and is not a commitment, promise or legal obligation to deliver

any new products, features or functionality. The development, release, and timing of any features or functionality described remains at Riverbed's sole discretion.