building regression tests to increase velocity and prevent things from “going boom” in the night

17
Building regression tests to increase velocity and prevent things from “Going BOOM” in the night. Chris Kraus DevOps: Continuous Delivery CA Technologies Product Manager DO4T27T @ChrisKraus3 #CAWorld

Upload: ca-technologies

Post on 12-Apr-2017

292 views

Category:

Technology


0 download

TRANSCRIPT

Building regression tests to increase velocity and prevent things from “Going BOOM” in the night.

Chris Kraus

DevOps: Continuous Delivery

CA Technologies

Product Manager

DO4T27T

@ChrisKraus3

#CAWorld

2 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

For Informational Purposes Only

© 2015 CA. All rights reserved. All trademarks referenced herein belong to their respective companies. The presentation provided at CA World 2015 is intended for information purposes only and does not form any type of warranty. Some of the specific slides with customer references relate to customer's specific use and experience of CA products and solutions so actual results may vary.

Certain information in this presentation may outline CA’s general product direction. This presentation shall not serve to (i) affect the rights and/or obligations of CA or its licensees under any existing or future license agreement or services agreement relating to any CA software product; or (ii) amend any product documentation or specifications for any CA software product. This presentation is based on current information and resource allocations as of November 18, 2015, and is subject to change or withdrawal by CA at any time without notice. The development, release and timing of any features or functionality described in this presentation remain at CA’s sole discretion.

Notwithstanding anything in this presentation to the contrary, upon the general availability of any future CA product release referenced in this presentation, CA may make such release available to new licensees in the form of a regularly scheduled major product release. Such release may be made available to licensees of the product who are active subscribers to CA maintenance and support, on a when and if-available basis. The information in this presentation is not deemed to be incorporated into any contract.

Terms of this Presentation

3 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Abstract

Agile practices seem to be the favorite approach when organizations has to make frequent releases to production, requiring faster release processes with new changes, improvements or functionality in each release. Regression Tests are an important part of this process, one that tests and retest already functioning SW so that the “new elements” don’t make it “Go BOOM” in the night.

This session will be a show and tell on how to gain visibility into your API data and how this visibility can be a game changer in building regression tests.

Chris Kraus

CA Technologies

Product Manager

4 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Agenda

FINDING THE APIs AND IMPORTANCE OF TESTING CONTRACTS

BUILD HORIZONTAL TRUST - GENERATING API TESTS

MULTI CONSUMER VIRTUAL SERVICE GENERATION

BOOM – WHO CHANGED THE EJB?

DEMO BUILDING API TESTS IN QUANTITY

1

2

3

4

5

5 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Finding the APIs and Importance of Testing Contracts

Shared APIs exist across the enterprise from UI’s to common services on backend.

Sharing is great till someone asks for a change

ESB

6 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Common APIs – the Good and the Bad

API reuse means time well spent by development

Everyone gets the same data – not the best SQL guru

Small changes can break multiple applications

People just don’t document there use of a API

Multiple consumers mean teams can rely on different data behavior

Yet Another Version created and I now have 8 flavors of “common”

GOOD BAD

7 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

CA Continuous Application Insight (CA CAI) –Finding Common APIs

A Common API is one that more than 1 agent has consumed

Focus the analysis on 1st call into the application not the buried “shared code”

The transactions are now from different consumers perspective

8 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Build Horizontal Trust

EG. Should I remove zip code from getCustomer?– Mobile many use zip code from getCustomer to see if you are near your home – ASSERT – zip code

mandatory

– Web pages may never need the zip code from getCustomer

If zip code is removed or changed to be international postal code the mobile developers tests should fail.

Consumers of services should “owe” test to the service consumers to build the use contract

Trust is built by providing your behavior to the API providers as test cases

9 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Multi Consumer Virtual Service GenerationVirtual Service Data from 3 Points of View

Virtual service data represents 3 different points of view.

No need to change clients to point to recorders, agents see all the transactions

All web services are grouped into 1 VSI making it easier for developers to manage.

10 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Visibility Into Changes

Visibility into a application is hard – what really happens below the UI

New business rules behind the same UI or API turn into new functional tests

CA CAI provides graphical view and lets you see how changes far below the UI

11 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Demo – User Journey API Tests

Finding Common APIs

Visual Comparisons

Finding the changing EJB

Generate Tests

Build horizontal trust

Generate Virtual Services

Higher fidelity virtual services

12 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Generate Better Virtual Services

It is always great if a Virtual Service contains data and use cases from multiple teams, the service becomes more valuable and realistic.

Common APIs

Are really good for development, keep in mind that service consumers have rights. But service providers really do like having multiple consumers leveraging there APIs.

Generate API Test

Service Consumers owe service providers tests that validate there expected behavior. Providing a use contract will prevent breaking changes.

SummaryA Few Words to Review

13 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Q & A

14 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Recommended Sessions

SESSION # TITLE DATE/TIME

DO3X118STechnology Primer: The Why, Where and How of Service

Virtualization Adoption11/19/2015 at 2:00 pm

DO4T17S

Case Study: T-Mobile’s DevOps and Continuous Delivery

Journey – Building a Foundation for a Future Built for

Agility

11/19/2015 at 2:00 pm

DO3X114SFreeing the World from Slow: How Service Virtualization

and the Concept of S.P.E.E.D. 11/19/2015 at 3:45 pm

15 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Must See Demos

Automate Tests for Better Apps

DevOps

Theater 4

DevOpsSimulation

DevOps

Theater 3

Service Virtualization on Demand

DevOps

Theater 3

Service Virtualization Use Cases

DevOps

Theater 3

16 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Follow On Conversations At…

Smart Bar

DevOps

Theater 3 & 4

Tech Talks

DevOps

Theater 3 & 4

17 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

For More Information

To learn more, please visit:

http://cainc.to/Nv2VOe

CA World ’15