Download - How to Build the Right Automation
How to Build the Right Automation
Huw Price – Vice President, Application Delivery and Product Owner, CA Agile Requirements Designer
24th January 2017
2 © 2015 CA. ALL RIGHTS RESERVED. © 2016 CA. ALL RIGHTS RESERVED.
Featuring
Huw PriceVP Application Development &
Product Owner
With an almost 30 year career as an
innovator and Lead Technical Architect
for several US and European
companies, Huw Price has considerable
experience in bringing leading products
to market, including both CA Test Data
Manager and CA Agile Requirements
Designer.
3 © 2015 CA. ALL RIGHTS RESERVED.
Agenda
A quick overview of Automation at Rabobank
Test Design and Coverage
Changing Test Cases – keeping up with Change
A quick demo of generating automation
Diagnosing failure
Designing Test Data that matches with Automation
4 © 2015 CA. ALL RIGHTS RESERVED.
To Create Perfect Test
Cases
Design and provision Test Data
To Manage change in Test Cases
To Create Automation
Scripts
From One Input
Create Multiple Outputs
=
Less Language Hops
Less ProductHops
To Estimate Complexity
Populate Story boards & backlogs
CA-Agile Requirements Designer
To Build betterRequirements
To Improve my Existing Test Cases
Design and provision SV
FasterBetter
CheaperImpact and Differences
6 © 2016 CA. ALL RIGHTS RESERVED.
User
BAs1
Knowledge Elicitation
As before, BAs work with users to understand the desired functionality. Ideas and hypotheses are tested, along with research and fail-fast experiments. This is paramount to a “shift left” and the hard thinking is done earlier.The knowledge is then stored in Confluence projects, including documents, user reports, research documents and more.
7 © 2016 CA. ALL RIGHTS RESERVED.
PNG
Confluence project
with unique identifier
User
BAs
2
1
Requirements Design and DocumentationThe knowledge then needs to be captured in a format which is unambiguous, complete and directly usable by testers and dev. Rather than use Gliffy or VISIO, the BA therefore models the desired behaviour as an “active” flowchart in CA ARD. The modelling process has not fundamentally changed, except for becoming formalized. Crucially, assets can be derived from the flow and sent “right”, introducing traceability and driving a far higher degree of automation.
A PNG image of the flowchart is automatically pushed back and stored in Confluence, along with its unique identifier.
8 © 2016 CA. ALL RIGHTS RESERVED.
PNG
Confluence project
with unique identifier
Stories
User
BAs
2
1
3
Generate User Stories to drive Dev
The first asset to automatically derived and sent ‘right’ are the user stories used by the implementation team members, who first overlay additional functional logic and detail, before generating the stories. These might be blocks or whole flows, connected into a hierarchy of processes. The stories are pushed out to JIRA using custom mapping to export assets into the relevant place in the JIRA hierarchy.
9 © 2016 CA. ALL RIGHTS RESERVED.
PNG
Confluence project
with unique identifier
Test Cases
Stories
User
BAs
2
1
3
4
Automated Test Case DesignIn addition user stories,
optimized test cases can be derived from the flow, linked to
the right data and expected results. These are not the same as user stories, but cover 100%
of the functionality/desired behaviour they set out.
Crucially, they do so in the smallest number of tests
possible. Measurability and traceability is introduced by
virtue of the fact they are derived directly from the flow,
while automatic generation further reduces manual effort.
10 © 2016 CA. ALL RIGHTS RESERVED.
PNG
Confluence project
with unique identifier
Stories
User
BAs
2
1
3
Traceability
An automatic link between JIRA and confluence already exists, introducing further traceability. Though in the Rabobank use case, Confluence users are only really concerned with user stories, anything pushed to JIRA will appear under the relevant projects in Confluence. This includes test cases.
4
11 © 2016 CA. ALL RIGHTS RESERVED.
Test Scripts
PNG
Confluence project
with unique identifier
Test Cases
Stories
User
BAs
2
1
3
4
5
Automated Test Generation and Integration
Continuous Integration
The paths of the flow can also be converted into automated
tests and stored in a git repository. This is performed leveraging existing Cucumber scripts, where re-usable code snippets are compiled by the optimizer into executed tests.
12 © 2016 CA. ALL RIGHTS RESERVED.
Run Results
Test Scripts
PNG
Confluence project
with unique identifier
Test Cases
Stories
User
BAs
2
1
3
4
5
Change
Defects, change, automated maintenance & regressionRabobank prefer to report run results back to CA ARD, but we plan on also exporting these into JIRA for visibility’s sake. When reports are analysed, and defects detected, they are sent to JIRA. The flow can be updated, identifying the impact of the change and automatically reflecting it in the tests and JIRA for effective testing within the same sprint.
System under test
6
13 © 2016 CA. ALL RIGHTS RESERVED.
Model Based Testing – Step by Step
14 © 2016 CA. ALL RIGHTS RESERVED.
Linked Processes – Apply the same technique
15 © 2016 CA. ALL RIGHTS RESERVED.
Model Based Testing – Step by Step
CUSTOMER NUMBER: 123456
CUSTOMER NAME: HUW PRICE
CUSTOMER COUNTRY: UK
VALIDATION
PROCESS
VALIDATION
PROCESSDATA UPDATED
16 © 2015 CA. ALL RIGHTS RESERVED.
Overlaying Performance Testing into Model Based Approaches
17 © 2016 CA. ALL RIGHTS RESERVED.
Scriptless Automation Support
AutomationText Blocks
AutomationObjects
Model Based Tests
Test Data
Keywords / Test Data
Test Automation Framework Test Data Selenium\C#\UFT\PLSQL\TSQL\etc..etc..
Scripts \ Language
AutomationBuilding Blocks
18 © 2015 CA. ALL RIGHTS RESERVED. © 2016 CA. ALL RIGHTS RESERVED.
Q & A
Vice President, Application Delivery & Product Owner, CA Agile Requirements [email protected]
Huw Price