Intelligent automated testing with
HP Business Process Testing


Susan Bockhoff
Software QA Manager
McKesson Provider Tech...
Agenda

 McKesson and Project Background
 Project Goals and Test Automation ROI
 Why BPT was Selected
 Test Automation...
McKesson: Who Are We?

Largest healthcare services company in the world
 Fortune 15 – $106 billion in revenues (FY09)

 ...
Horizon Clinicals Software Products
    Manage information across the healthcare lifecycle

                              ...
Our Software Is Complex ….

 We develop software in multiple locations
   ─   Westminster, Colorado
   ─   Alpharetta, Ge...
Why Automate Our Tests?

 Revenue: Faster time to adoption will speed
  license revenue recognition, market penetration
...
Status at the Start of the Project

 2000 working automated tests using QTP
 These took 3 years to develop
 The team wa...
The Challenge!

 5000 new working automated tests in one year
  ─   Must be in production and executed successfully
  ─  ...
Business Process Testing

 HP’s Business Process Testing (BPT) product
  was selected for this project
 The QTP framewor...
Advantages of BPT

 Components are created by automation
  engineers who can create them without really
  knowing everyth...
How to Select Good Candidates for
Automated Tests

 App must be in a technology that is automatable
  (no apps requiring ...
Frequency of Automated Tests

 Environmental Health Check – 1 hr. Can you log
  in to all apps? Executed on every build.
...
Test Automation Architecture

                         HP Quality Center (QC)
                                            ...
SME-centricTest
                        Automation Process
                            Automation Architecture Design
    ...
SME-centric Process Advantages

 Responsibilities are clearly defined:
   ─   Automation developers define architecture a...
Automated Testing with Agile




    Automation Engineers            SME Testers


                                Embe...
Benefits of New Approach

 Leverage product knowledge of SMEs to write
  more meaningful and reliable tests
 Increase te...
The Results

 The team created 5500 new, working BPT tests
  in one year using this approach.
 With the same budget, the...
Igor Gershovich




President
Connected Testing
                    19
Automated Testing Process

Quality                         QTP                    AUT
            BPT Components,
Center  ...
Step 1

SETTING UP THE BPT
ARCHITECTURE

                     21
Test Automation Elements

 IDE: Quality Center with BPT/Mercury QuickTest
  Professional (QTP)
 Environment Files
 Appl...
Environment (BPT Test) for Computer
Name–Test Environment Mapping




               Computer name – Test Environment mapp...
Environment.xls
Function Libraries

 Technology libraries
   ─   Web
   ─   GWT
   ─   .Net
   ─   Win32
 Common libraries
   ─   Utilit...
Step 2

CREATING REUSABLE BPT
COMPONENTS

                        26
Business Components

 A component is a reusable module to perform
  tasks on logically independent application parts
  (P...
Login Component Steps
(Example for Web Application)

 Component initialization
   ─   Load environment variables like URL...
Functional Component Steps
(Example for Web Application)
 Component initialization – ComponentInit() function
   ─   Load...
BPT Component Script and AUT




AUT
 QTP
Step 3

CREATING AUTOMATED TESTS
BY CONFIGURING PARAMETERS
WITHIN COMPONENTS

                            31
BPT Test Case in Quality Center




              Data
Parameter Naming Conventions
Prefix   Object                    Example

lst      List                      lst_User
txt  ...
.Apply Method

 Object.Apply Parameter(“Parameter_Name”)
  .WebEdit(“Name”).Apply Parameter(“txt_Name”)
 Apply method fu...
Input Constraints for Edit (Text Box)
 Object
Value                       Action                       Example

          ...
Working with Objects in Grids

row=WebTable().GetRowIndex(Parameter(“search_”),clmn)
WebTable().CellApply row, clmn, objTy...
Example: Working with Grids
Data Substitution

 Special tags for Dates, Times, SSNs, Unique
  values, DB Queries, Random, etc.
  <SSN> - get substitu...
Summary

 This method provides a way for test automation
  engineers to create re-usable components without
  having to k...
Q&A




      40
To learn more on this topic, and to connect with your peers after
   the conference, visit the HP Software Solutions Commu...
Intelligent automated testing with HP Business Process Testing
Upcoming SlideShare
Loading in...5
×

Intelligent automated testing with HP Business Process Testing

4,091

Published on

Learn how McKesson created a set of multi-leveled automated tests using HP Business Process Testing (BPT) and Quality Center to run a successful test-automation project on a major product release. The team created an intelligent test automation architecture using BPT that allowed teams to quickly create meaningful, re-usable, and maintainable automated tests. This approach maximized the time of automation engineers as well as subject-matter experts to increase automated test output five-fold during the first year. We will review the BPT architectural approach as well as the automated test strategy to show how we got the most value from our automated tests, including smoke tests, regression tests, and acceptance tests on Agile development projects.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,091
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
230
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Intelligent automated testing with HP Business Process Testing

  1. 1. Intelligent automated testing with HP Business Process Testing Susan Bockhoff Software QA Manager McKesson Provider Technologies ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
  2. 2. Agenda  McKesson and Project Background  Project Goals and Test Automation ROI  Why BPT was Selected  Test Automation Approach and Results  Behind the scenes: the BPT architecture  Creating Business Components  Setting up Parameters  Creating automated tests using BPT Components 2
  3. 3. McKesson: Who Are We? Largest healthcare services company in the world  Fortune 15 – $106 billion in revenues (FY09)  More than 32,000 employees dedicated to healthcare Oldest U.S. healthcare company  Established 1833 Only company offering solutions at every point of care  Deep clinical, IT and process expertise 3
  4. 4. Horizon Clinicals Software Products Manage information across the healthcare lifecycle Local Pediatrician Hospital Patient & Family Primary Care Physician / Pharmacy Medical Home Alternative Grandma’s Medicine Physician Practitioner 4
  5. 5. Our Software Is Complex ….  We develop software in multiple locations ─ Westminster, Colorado ─ Alpharetta, Georgia ─ Roseville, MN ─ Bangalore, India  Using many development tools ─ Java ─ .Net ─ GWT ─ Standard HTML  New release contains 35 different applications and over 40,000 tests 5
  6. 6. Why Automate Our Tests?  Revenue: Faster time to adoption will speed license revenue recognition, market penetration  Cost: Reduced cost to execute tests  Agility: Ability to run regression tests more quickly to speed time to market of our products.  Repeatability: Detect regression errors more quickly without human errors or variability.  Coverage: Increase platform coverage on each release.  Increased confidence in our application quality. 6
  7. 7. Status at the Start of the Project  2000 working automated tests using QTP  These took 3 years to develop  The team was using a keyword-driven framework  Tests were scripted using VB script (no record and playback)  Tests required a lot of maintenance and many had to be abandoned  There were many false failures 7
  8. 8. The Challenge!  5000 new working automated tests in one year ─ Must be in production and executed successfully ─ Broad product coverage  Be able to execute the tests in 3 days  Tests must be re-usable over multiple releases with a minimum of maintenance  Automate first – SME Centric approach  Use automated testing as part of agile development process 8
  9. 9. Business Process Testing  HP’s Business Process Testing (BPT) product was selected for this project  The QTP framework had some problems we wanted to resolve: ─ Tests still required a lot of maintenance ─ Tests required automation engineers to write, and they did not know the applications well enough to know what the tests should do ─ When tests failed the failures could not be resolved by the automation engineers (did not know enough about the app to know if it was a bug) 9
  10. 10. Advantages of BPT  Components are created by automation engineers who can create them without really knowing everything the application needs to do  Tests themselves are created by subject matter experts who know what the tests need to do and how best to prioritize them.  Test failures are analyzed by subject matter experts who know if it is a software defect or a problem with the automated script itself. 10
  11. 11. How to Select Good Candidates for Automated Tests  App must be in a technology that is automatable (no apps requiring reading of bitmaps).  Frequently run tests are automated first since they will give the greatest payback  This requires that a full risk-based analysis be performed on your regression suite to prioritize all regression tests  High-priority regression tests (wide and shallow) are the ones that should be automated for highest ROI. 11
  12. 12. Frequency of Automated Tests  Environmental Health Check – 1 hr. Can you log in to all apps? Executed on every build.  Smoke tests – 4 hrs. Can all main pages be accessed? Executed every two weeks.  Critical automated regression – 6 hrs. can all major transactions be performed? Executed at start of regression testing and also last thing before release.  High priority regression - executed several times on a release. 12
  13. 13. Test Automation Architecture HP Quality Center (QC) Resources: Test Test Test Test Test -Functions -Object Rep. Component Component Component -Environment Business Process Testing (BPT) HP QuickTest Pro (QTP) Application Under Test
  14. 14. SME-centricTest Automation Process Automation Architecture Design Automation Engineer Create Function Libraries Create Object Repositories Create Business Components Drag Components to create tests in QC Subject Matter Expert Test Engineer Configure Input/Output parameters or Debug tests in QC Test Plan module Add tests to test set in Test Lab module
  15. 15. SME-centric Process Advantages  Responsibilities are clearly defined: ─ Automation developers define architecture and create components ─ Subject matter experts create automated test cases  SME doesn’t need to know/use QTP.  Uses very flexible Keyword/Data-Driven approach.  Reduced learning curve due to same approach across different applications/technologies  Applicable to all areas of automated testing, like regression, smoke, acceptance, etc.  Designed for Maintainability
  16. 16. Automated Testing with Agile Automation Engineers SME Testers Embedded in Agile teams Shared between Agile teams Create BPT components Write automated tests using BPT during each sprint components during each sprint Modify components as needed Execute automated tests at the end of each sprint Use BPT tests as regression tests during later sprints
  17. 17. Benefits of New Approach  Leverage product knowledge of SMEs to write more meaningful and reliable tests  Increase test coverage -> fewer product escapes  Ability to keep up with increased product workload without increase in staff  Reduce time spent analyzing automation failures  Faster execution of automated tests
  18. 18. The Results  The team created 5500 new, working BPT tests in one year using this approach.  With the same budget, the team increased the number of automated tests created by 5 times using this approach.  Automated tests now comprise 30% of our total different tests, and 60% of the total tests executed on a given release.  The current project is to get test execution even faster. 18
  19. 19. Igor Gershovich President Connected Testing 19
  20. 20. Automated Testing Process Quality QTP AUT BPT Components, Center Automation Resources AUT Testing Test case Results Data
  21. 21. Step 1 SETTING UP THE BPT ARCHITECTURE 21
  22. 22. Test Automation Elements  IDE: Quality Center with BPT/Mercury QuickTest Professional (QTP)  Environment Files  Application Areas  Function Libraries  Object Repositories  Business Components and Test Scripts
  23. 23. Environment (BPT Test) for Computer Name–Test Environment Mapping Computer name – Test Environment mapping
  24. 24. Environment.xls
  25. 25. Function Libraries  Technology libraries ─ Web ─ GWT ─ .Net ─ Win32  Common libraries ─ Utility ─ DB ─ CommProtocols  Project Specific libraries
  26. 26. Step 2 CREATING REUSABLE BPT COMPONENTS 26
  27. 27. Business Components  A component is a reusable module to perform tasks on logically independent application parts (Page or Window).  Components use Input/Output parameters for data input/verification and navigation within Page or Window.  Input/Output parameters also are used to pass data between components.  Components can use iterations.
  28. 28. Login Component Steps (Example for Web Application)  Component initialization ─ Load environment variables like URL, login credentials, DB connection strings, etc.  Close all browsers except QC  Invoke an application  Login  Verification that login is successful
  29. 29. Functional Component Steps (Example for Web Application)  Component initialization – ComponentInit() function ─ Load environment variables like URL, login credentials, DB connection strings from Environment.xls file using QC OTA  Verify that Expected page is displayed  Side or Top menu navigation  Web Page internal flow
  30. 30. BPT Component Script and AUT AUT QTP
  31. 31. Step 3 CREATING AUTOMATED TESTS BY CONFIGURING PARAMETERS WITHIN COMPONENTS 31
  32. 32. BPT Test Case in Quality Center Data
  33. 33. Parameter Naming Conventions Prefix Object Example lst List lst_User txt Edit txt_User chk Checkbox chk_User rad Radiobutton/RadioGroup rad_User tab Tab tab_User tbl Table tbl_User cell Cell in Table cell_User file WebFile file_User ele WebElement ele_User cmb Combobox cmb_User st Static Text (Read Only) st_User
  34. 34. .Apply Method  Object.Apply Parameter(“Parameter_Name”) .WebEdit(“Name”).Apply Parameter(“txt_Name”)  Apply method functionality: ─ Performs data substitution ─ Verifies if object exists and visible ─ Makes decision what to do with “Name” edit object based on Parameter data
  35. 35. Input Constraints for Edit (Text Box) Object Value Action Example No action <CLEAR> Clear edit field <CLEAR> text Enter text Hello [text] Verify text [Hello] [<ENABLED>], [<DISABLED>] Verify if object is Enabled/Disabled [<EXIST>],[<NOEXIST>] Verify if object exist/no- exist [<REGEX>Pattern] Verify that Pattern [<REGEX>TestCase.*] matches text
  36. 36. Working with Objects in Grids row=WebTable().GetRowIndex(Parameter(“search_”),clmn) WebTable().CellApply row, clmn, objType, Parameter(“cell_”) iRow = WebTable().GetRowIndex(Parameter(“search_Name”),2) WebTable().CellApply iRow,3,“WebElement”,”Parameter(cell_Age”)  Parameter prefixed with the word “search_” indicates which row to work with. ─ Row can be selected by using row number: #n ─ the text contained in the specified Column ─ Pattern  Parameters for objects in table cells are prefixed by “cell_”
  37. 37. Example: Working with Grids
  38. 38. Data Substitution  Special tags for Dates, Times, SSNs, Unique values, DB Queries, Random, etc. <SSN> - get substituted with unique SSN <TODAY> - get substituted with today date (03/19/10) <RNDDIG 3> get substituted with 3 random digits <DateTime YYYYMMDDHHmmss> <DB DBEnvironment::SQLStr>  Tags can be combined [<REGEX><TODAY> at .* AM]
  39. 39. Summary  This method provides a way for test automation engineers to create re-usable components without having to know all the ways the application will be used.  Subject matter experts can use the components to easily create tests that can do anything that the application can do without having to be software engineers.  This method allowed us to create a great number of working automated tests in a relatively short time.  The project has been a major success and has helped us achieve greater confidence in our release quality. 39
  40. 40. Q&A 40
  41. 41. To learn more on this topic, and to connect with your peers after the conference, visit the HP Software Solutions Community: www.hp.com/go/swcommunity 41 ©2010 Hewlett-Packard Development Company, L.P.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×