Reduce Third-Party Tool Dependencies in Your Test Framework
-
Upload
techwellpresentations -
Category
Software
-
view
37 -
download
0
Transcript of Reduce Third-Party Tool Dependencies in Your Test Framework
4/27/2015
1
By: Chris Mauck
Principal Software Engineer in Test
Reduce Third-Party Tool
Dependencies in Your Test
Framework
Third-Party Tools
© Neustar, Inc. / Proprietary and Confidential2
» Winrunner (1995)
» Test Complete (1999)
» QuickTest -> QTP (1999)
» IBM Rational Functional Tester –orig. RobotJ (2002)
» Selenium - RC (2004)
» UIAutomation – Coded UI (2005)
» Tricentis Tosca (2007)
» Selenium – WebDriver (2009)
» Unified Functional Testing (UFT) – prev QTP (2012)
» And many more;
4/27/2015
2
Third-Party Tools
© Neustar, Inc. / Proprietary and Confidential3
» Winrunner (1995)
» Test Complete (1999)
» QuickTest -> QTP (1999)
» IBM Rational Functional Tester –orig. RobotJ (2002)
» Selenium - RC (2004)
» UIAutomation – Coded UI (2005)
» Tricentis Tosca (2007)
» Selenium – WebDriver (2009)
» Unified Functional Testing (UFT) – prev QTP (2012)
» And many more;
The issue
© Neustar, Inc. / Proprietary and Confidential4
Test Planning
Test Strategy
Test Case Development
Test Framework
Design
4/27/2015
3
Solution
© Neustar, Inc. / Proprietary and Confidential5
» Solid Foundation
» Build with the future in mind
» Proper Test Layout
» Common Methods
» Configuration / Reusability
» System Level
» Test Level
» Locators
» Data
» Hardcoded / Import File / Database / Data Generator
Disclaimer�
© Neustar, Inc. / Proprietary and Confidential6
» Pros
» Common Terminology
» Reliable
» Reduce Technical Debt
» Keep up with Changing Technologies
» Could prevent the need for third-party tool knowledge for end
user
» Cons
» Does not guarantee port (bridge) between languages
» Could prevent learning third-party tool knowledge for end user
4/27/2015
4
“10-codes”
© Neustar, Inc. / Proprietary and Confidential7
What are 10-codes?
Common terminology used by emergency personnel
Reduce the volume of radio traffic and add a layer of privacy
Issue: “10-88” for one jurisdiction could mean something completelydifferent in another jurisdiction
Same goes for coding
Enter Text into a TextBox
RFT :: rft.find(;).setText(text);
Selenium :: driver.findElement(;).sendKeys(text);
More on that soon
© Neustar, Inc. / Proprietary and Confidential8
Dispatch
4/27/2015
7
Or this
© Neustar, Inc. / Proprietary and Confidential13
© Neustar, Inc. / Proprietary and Confidential14
4/27/2015
8
© Neustar, Inc. / Proprietary and Confidential15
Another Perspective
© Neustar, Inc.16
biz.neustar.xxx.codeRequests
CodeDisconnect.java
CodeModify.java
CodePart3CodeDisconnect.java
CodePart3CodeModify.java
biz.neustar.xxx.blockRequest
AssignCancelBlockReservation.java
BlockRequests.java
CreateNewBlockReservations.java
CreatePart3AssignCancelBlockReservation.java
biz.neustar.xxx.pageobjects
CodeDisconnnectObject.java
CommonPageObject.java
biz.neustar.xxx.codeRequests
CodeDisconnect.java
CodeModify.java
CodePart3CodeDisconnect.java
CodePart3CodeModify.java
biz.neustar.xxx.blockRequest
AssignCancelBlockReservation.java
BlockRequests.java
CreateNewBlockReservations.java
CreatePart3AssignCancelBlockReservation.java
biz.neustar.xxx.pageobjects
CodeDisconnnectObject.java
CommonPageObject.java
ObjectInteraction.java
AutomatonFramework.Jar