• No results found

The Future of Testing: How Service Virtualization Changes the Game in Testing Complex Applications

N/A
N/A
Protected

Academic year: 2021

Share "The Future of Testing: How Service Virtualization Changes the Game in Testing Complex Applications"

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

© 2012 IBM Corporation

The Future of Testing:

How Service Virtualization

Changes the Game in Testing Complex Applications

The new frontier for quality management and testing

(2)

© 2012 IBM Corporation 2

Today’s complex applications provide a constant challenge for companies to balance the

level of quality while ensuring rapid time to market. Development teams are delivering

applications faster which is driving the need for change in the world of testing. This session

will delve into these pressures and discuss the impact that service virtualization and

continuous integration testing can have to improve quality, remove unnecessary costs, and

reduce project risk.

Agenda

Looking back at the past – Those were the days!

Planning for flexibility

Avoiding the big bang

Wrapping up

(3)

© 2012 IBM Corporation

(4)

© 2012 IBM Corporation

Are delivering today’s cutting edge IT solutions

COBOL

PL/1

Fortran

J2EE

.NET

C++

php

Ruby

Java

CICS

IMS

iOS

Android

Windows Mobile

REST

SOAP

(5)

© 2012 IBM Corporation

Development and Testing Complexity is a top customer concern …

5

Application complexity is exploding:

Mainframe (one interface) -> Client

Server (a few interfaces) ->

Web/SOA/Cloud apps (100’s of interfaces)

Development and Test teams are

getting larger and more

geographically disperse

Costs are escalating and quality is

suffering

Waterfall models and serial projects

are out, agile and continuous testing

are in

(6)

© 2012 IBM Corporation

Development and test challenges bring opportunities across the

software development life cycle

6

Challenges

Opportunities

 Drive testing earlier, discover defects early when they are cheaper to correct

 Automate testing that matters freeing up resources for other value add activities  Improve resource governance and control

Long cycle times

Availability of resources Escalating labor costs High cost of defect fixes  Poor asset utilization

Inadequate testing and test environments

Defect escapes

Test data consistency

Time To Market Cost

Quality

 Reduce infrastructure required to develop and test applications

 Increase resource flexibility and availability  Improve asset utilization

 Provide rapid delivery of services

 Allow testing when only portions of the final solution are available

(7)

© 2012 IBM Corporation 7

Agenda

Looking back at the past

Planning for flexibility – changing the Game!

Avoiding the big bang

(8)

© 2012 IBM Corporation 8

Accelerated Software Delivery

Integrate

Collaborate

Optimize

Accelerating software delivery

Operations Software

Development

Customers of BusinessLine

Open Lifecycle Integration

(9)

© 2012 IBM Corporation 9

Buy, adopt and

gain momentum

with quick success

Test lifecycle scenario

As a test manager, I want test automation to be easy to build

from manual tests and easy to

maintain so that we can reduce

automation cost

As an automation

engineer, I want an easy to build, easy to use

solution so that the automation is

maintainable

As a tester, I want manual

regression tests to be automated so that I can do

exploratory testing

As an developer, I want to reuse a test

automation framework so that I

can spend more time

developing

As a business analyst/SME, I want to easily create test

scenarios so that test coverage is increased.

(10)

© 2012 IBM Corporation

The Godzilla Tester

Integration testers require:

•Technical knowledge

•Test tools knowledge

•Business domain knowledge

•Testing knowledge

Accelerate the learning process with a

collaborative approach.

(11)

© 2012 IBM Corporation 11

The new frontier for quality management and testing

Combining IBM software

solution capabilities to:

•collaborate in context with real-time

test planning

•manage risk by testing smarter

•accelerate continuous delivery with

automated testing that matters

•achieve predictability with an

integration first approach

IBM Solution for

Quality Management and Testing

Requirements Management Design & Development Deployment & Operations Quality Management Test Automation Service

Virtualization PerformanceTesting

Integration

Testing FunctionalTesting

Security Testing Test Data Management Application Lifecycle Management

(12)

© 2012 IBM Corporation

Shift from testing to quality management – from chaotic to optimized

Systematic monitoring and

evaluation of the various aspects of a product or service, to

maximize the probability that target quality standards are being

attained

Catch & patch

Ad-hoc testing

Catch & patchAd-hoc testing Test planning Test automationTest planningTest automation Collaborative quality assuranceBroader scopeSecurityCompliance AccessibilityCollaborative quality assuranceBroader scopeSecurityComplianceAccessibilityIntegration testTestability, maintainabilityDefined policies and quality gates

Automated regressionIntegration testTestability, maintainabilityDefined policies and quality gatesAutomated regressionEnt. Quality ManagementGap analysisRisk assessmentsProcess improvementsEnt. Quality ManagementGap analysisRisk assessmentsProcess improvements

0

1

2

3

4

Chaotic

Repeatable

Proactive

Prevention

Optimization

Quality Management

Testing

“I have hundreds of testers & lots of automation, but all I do is find more defects. I don’t have a testing problem, I have a quality problem.” – large global bank

A technical investigation done to expose quality-related

information about the product or service under test

(13)

© 2012 IBM Corporation 13

Rational Quality Manager: centralized hub for managing quality

Rational Quality Manager

Test Planning

Test Construction

Test Execution

Team Collaboration

Reporting & Dashboard

Requirements Management

Defect Management

Rational Requirements Composer Rational DOORS

Rational RequisitePro

Rational Team Concert Rational ClearQuest

Functional

Testing Performance

Testing Integration Testing and Test Virtualization Test Data Security and Compliance

Worksoft Certify (SAP)

Rational Test Workbench

(automated integration, functional and performance testing)

AppScan Optim

(14)

© 2012 IBM Corporation

Databases Mainframe applications App Under Test

Third-party Services Packaged apps, messaging services, etc.

Rational Test Virtualization Server

Rational Test Workbench

Developers & Testers

Rational Performance Test Server

14

IBM Rational Test Automation: automated testing that matters

Rational Test Workbench is a desktop solution that

enables testers/developers to: • Capture and model virtual services

• Test services and applications long before their user interfaces becomes available and do integration testing (SOA, BPM)

Rational Test Virtualization Server is a server

solution that:

• Provides a central environment to virtualize

heterogeneous hardware, software and services to provide 24x7 testing capabilities

• Reduces infrastructure costs of traditional testing environments

• Virtual Services can be built from the interface definition of the system for a wide variety of protocols, including HTTP, web services, SOA, JMS, TIBCO, IBM

WebSphere MQ, Oracle, etc.

Rational Performance Test Server enables Rational

Test Workbench users to reuse test scripts to drive performance testing:

• Can be used in combination with Virtual Services • Probe for identification of system bottlenecks

(15)

© 2012 IBM Corporation

A better approach = integration testing + service virtualization

(16)

© 2012 IBM Corporation 16

• Collaborate in context – people and interactions over process and tools

• Embrace real time planning – change is inevitable

• Employ traceability across the lifecycle – measure impact of change and manage risk

• Share the responsibility of quality – everyone contributes (analysts, programmers, testers)

• Automate testing that matters – free up resources for value add activities

Planning for flexibility – Innovation over Remediation

Faster time to market, increased quality, reduced costs

• Isolate defects at the source – faster defect resolutions =

shorter, more efficient iterations

• Adopt continuous integration testing - Get to “Done

Done” faster; test applications end to end earlier

• Eliminate Agile’s testing bottlenecks – Service

(17)

© 2012 IBM Corporation

Agenda

Looking back at the past

Planning for flexibility

Avoiding the big bang – Service Virtualization to the rescue

Wrapping up

(18)

© 2012 IBM Corporation

What is Service Virtualization?

18

Service Virtualization enables you to create “

virtual services

”:

–Virtual Services simulate the behavior of an entire application or system during testing –Virtual Services can run on commodity hardware, private cloud, public cloud

–Each developer, tester can easily have their own test environment

–Developer and testers continue to use their testing tools (Manual, Web performance, UI test automation) C a p tu re & M o d e l C a p tu re & M o d e l Heterogeneous Environments Public Cloud Private Cloud

Data Warehouse Mainframe Service BusEnterprise Directory

Identity

File systems

Collaboration

App Under Test Routing Service Third-party Services Portals Content Providers EJB Shared Services Archives Business Partners Messaging Services Databases Mainframe applications

App Under Test

Third-party Services

Packaged apps, messaging services, etc.

(19)

© 2012 IBM Corporation 19

What are we concerned with?

Transport

Test Data

Schema

Formatter

(20)

© 2012 IBM Corporation

Service Virtualization provides benefits across the software delivery

life cycle

20 Define constrained systems and services for virtualization

Integration System System Integration User Acceptance Operability

Unit Integration System System Integration User Acceptance Operability Unit

Performance

Developer uses virtual services to

unit test code on their workstation

– no elaborate environment

required

Development and Test teams uses virtual services

for early stage advanced testing

The full system or components of the system can be performance tested early in the cycle. Virtual services can be used when

components are not available

Later in the cycle, final pre-production versions of services are swapped in as they become available. Final

testing is done against real services

(21)

© 2012 IBM Corporation

The Old World

21

OAT

OAT

Performance

Performance

UAT

UAT

Sys Tests

Sys Tests

Unit Tests

Unit Tests

Requirements

Requirements

Quality Gate

Big Bang

• Multiple defects introduced at once

• More unknowns – greater risk

(22)

© 2012 IBM Corporation

The New World

22

Performance

Performance

Requirements

Requirements

Unit Tests

Unit Tests

UAT

UAT

OAT

OAT

Integration Tests

Integration Tests

Sys Tests

Sys Tests

Sys Tests

Sys Tests

• Accelerates testing

• Reduces costs

• Lowers risk

(23)

© 2012 IBM Corporation

Changing the Performance Test Model

MONITORING PREDICTIVE ASSESSMENT ASSESSMENT Low Intensity Performance Testing (LIP) Low Intensity Performance Testing (LIP) High Intensity Performance Testing (HIP) High Intensity Performance Testing (HIP)

Incremental integration strategy defines HIP start point; focus of HIP is informed by LIP results

(24)

© 2012 IBM Corporation

Service Virtualization listens to and captures the behavior and

characteristics of back-end systems

24

Physical Test Environment

Volume Constraints Volume Constraints 2hr. access window Maintenance Constraints Database / JDBC Database / JDBC

Server/ Web Services

Server/ Web Services

Mainframe / MQ/CICS

Mainframe / MQ/CICS

Smart Device / SD-IO

Smart Device / SD-IO

MQ/CICS Web Services Smart Devices JDBC Virtual Environment Virtual Environment Capture & Model

System Under Test

System Under Test

Listen / Capture Listen / Capture Store Store Test Case Repository

(25)

© 2012 IBM Corporation

How would this work?

MQ Queue Manager

Queue

Live

System

MQ Exit

Client that initiates transaction (or RIT)

MQ Exit is installed on the MQ Queue Manager. Directs inbound and outbound traffic for execution

purposes.

Stub

MQ Exit Intercepts message before it hits the inbound queue.

If stub is down, then MQ Exit directs message to

Live system. Pass through

(26)

© 2012 IBM Corporation

Building a System Model from Recorded Events

26

Queue.A.Reply

Queue.A

Application

Servers

Clients

Queue.B.Reply

Queue.B

Queue.C.Reply

Queue.C

(27)

© 2012 IBM Corporation

Synchronization

27

Synchronization provides an interface for importing project assets, and mirroring updates to

those assets.

(28)

© 2012 IBM Corporation

Synchronization and Model Based Testing

28

Model

Executable

tests

Abstract tests

System

IS A PARTIAL DESCRIPTON OF:

ARE DERVIED FROM: CAN BE RUN AGAINST:

(29)

© 2012 IBM Corporation

Incremental Testing

29

Initial Stage:

A single component can be

tested in the context of an

end to end environment,

supplied by a set of

virtualized components.

Actual Component

(30)

© 2012 IBM Corporation

Incremental Testing

30

As components are built:

The same end to end tests

can be run, replacing

virtualized components

with actual components.

Actual Component

(31)

© 2012 IBM Corporation

Incremental Testing

31

As components are built:

This enables us to test

downstream dependencies

as they are built.

Actual Component

(32)

© 2012 IBM Corporation

Incremental Testing

32

When the system is

complete:

End to end testing can be

carried out with fewer

surprises and lower risk

Actual Component

(33)

© 2012 IBM Corporation

Streamline your process with continuous integration & test

 Avoid time spent installing and configuring software just to discover basic build issues

Smoke tests can be integrated as part of the continuous integration process through

deployment automation and test virtualization

Regression test results are made available to the entire team to shorten resolution

Assets Product Increment Virtual Machines App Server Order Mgr Virtual Lab Manager Cloud Environment CRM VM Catalog

Build

•Smoke Tests

•Sandboxes

•Self-provisioning

•Smoke Tests

•Sandboxes

(34)

© 2012 IBM Corporation

ROI Model

Effort spent on stub creation and maintenance

(35)

© 2012 IBM Corporation 35

Agenda

Looking back at the past

Planning for flexibility

Avoiding the big bang

(36)

© 2012 IBM Corporation

Service Virtualization allows you to…

Eliminate critical development and testing constraints by virtualizing IT

resources

Deliver realistic simulated development and test environments at a

fraction of the cost

Isolate defects and drill into their root cause

Create automated regression test suites to reduce test cycle time and

improve test coverage and quality

Leverage Cloud services with Service Virtualization to minimize

infrastructure set-up time and provide scalable, on-demand

infrastructure

Drive benefits across the entire application development and test

lifecycle

(37)

© 2012 IBM Corporation

The Vision

(38)

© 2012 IBM Corporation 38

IBM quality management and testing solutions have

demonstrated measureable results and business value

Major telecom carrier

Multiple test releases required additional test resources, increasing testing costs  Solution: Virtualized services and created

reusable test cases across multiple environments

 Results: Reduced testing time by 50%, saving $800K over 3 years

A leading global financial services firm with assets of over $2 trillion

Many disparate legacy format to be migrated to next gen payments system  Solution: Virtualized third-party systems

otherwise unavailable for testing

 Results: Reduced manual testing from 10 days to 10 minutes, saving over $7 million to date

Major U.S. insurer

Recognized manual efforts insufficient for complex SOA and web services

 Solution: Agile middleware solution created to match the legacy systems’ functionality  Results: Reduced testing by 95% to 2 hours;

reduced ‘rate filing’ validation by 94% to 320 hours

Global manufacturer acquires competitor

Migrate off rented infrastructure onto

company’s standardized middleware platform

 Solution: Virtualized critical, unavailable systems during migration

 Results: Fully integrated in 6 months – 2 months ahead of schedule; saved significant rental costs and dependencies on third-party systems

(39)

© 2012 IBM Corporation 39

(40)

© 2012 IBM Corporation 40

© Copyright IBM Corporation 2011. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind,

express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

References

Related documents

Design Manual/Automated Functional test Performance & Security test Manual/Automated Manual/Automated Unit test Manual/Automated Data Quality test Defect

STaaS leads to cost optimization as well as demonstrable improvement in quality of testing, test process, test deliverables, test results and flexibility of test operations.

Software Configuration Management (SCM) Requirements Gathering Application Architecture Development & Debugging Testing & Verification Deployment Application

Service virtualization should provide target environments that work alongside existing application lifecycle solutions such as test management (TM), defect management/issue

Project & Portfolio Lifecycle Management & Automation Requirements Development Integration.. Quality & Performance Security Project

concept development concept validation deployment & launch operations & management end-user perception Consumer pre-launch testing Consumer post-launch

Functional Test Performance Test Load Test Security & Compliance Test Environ Config Info Environment Management Continuous Integration Deployment Automation Test

The test automation Security testing was achieved using automated web application vulnerability assessment & Penetration Testing tools like Acunetix, Appscan, WebInspect,