riverbed's presentation at sfse meetup 2/22
TRANSCRIPT
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.
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.
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.
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.
© 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.