"Performance and Security Testing in Agile Development"



Similar documents
The Tester's Role in Continuous Integration

Application Security Center overview

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Cost effective methods of test environment management. Prabhu Meruga Director - Solution Engineering 16 th July SCQAA Irvine, CA

Collaborating for Quality in Agile Application Development From Beginning to End

Enhance visibility into and control over software projects IBM Rational change and release management software

HP Application Lifecycle Management

HP ALM11 & MS VS/TFS2010

Crossing the DevOps Chasm

Seeking Nirvana. Jason Collins Director Solution Sales ITKO, a CA Technologies company

Service Virtualization:

IBM Rational AppScan: Application security and risk management

Modern SOA Testing. A Practitioners Guide to. July 2011

Federal Secure Cloud Testing as a Service - TaaS Center of Excellence (CoE) Robert L. Linton

Accelerating Time to Market:

"World Quality Report: Trends in Technology, Organization and Outsourcing"

HP Application Security Center

Automation and Virtualization, the pillars of Continuous Testing

On the Edge of Mobility Building a Bridge to Quality October 22, 2013

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

Continuous Application Delivery From concept to reality. Carsten Lentz Sr. Solution strategist

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Manage projects effectively

Implement a unified approach to service quality management.

HP APPLICATION PERFORMANCE MONITORING

HP Fortify Software Security Center

Managing Open Source Code Best Practices

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Quality Assurance in an Agile Environment

The top 10 misconceptions about performance and availability monitoring

API Management Introduction and Principles

Vulnerability Management

Applying Lean on Agile Scrum Development Methodology

Testing service-oriented architecture (SOA) applications and services. White paper

DevOps for CA Plex Automated Testing

Develop and test faster by virtualizing constrained application components

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

Roles: Scrum Master & Project Manager

CONTINUOUS DIAGNOSTICS BEGINS WITH REDSEAL

Development Testing for Agile Environments

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

HP Agile Manager What we do

SOLUTION WHITE PAPER. Align Change and Incident Management with Business Priorities

Use service virtualization to remove testing bottlenecks

Guide to Mobile Testing

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

Lowering business costs: Mitigating risk in the software delivery lifecycle

Scrum in a Large Project Theory and Practice

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

"Testing in the DevOps World of Continuous Delivery"

Share the webinar Ask a question Votes (polling questions) Rate (before you leave) Attachments (you can download today s presentation)

<Insert Picture Here> When to Automate Your Testing (and When Not To)

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

Agile Projects 7. Agile Project Management 21

Table of Recommendations for End-User Monitoring Solutions

Good Agile Testing Practices and Traits How does Agile Testing work?

A Practical Guide to implementing Agile QA process on Scrum Projects

Agile Testing Overview

Request for Offers (RFO) Addendum

Seven Practical Steps to Delivering More Secure Software. January 2011

Silk Performer LOAD TESTING. The key to keeping business applications running

White Paper. Automating Your Code Review: Moving to a SaaS Model for Application Security

Align IT Operations with Business Priorities SOLUTION WHITE PAPER

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Agile Development Calls for an Agile Suite Solution

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Business white paper. Missioncritical. defense. Creating a coordinated response to application security attacks

ALM/Quality Center. Software

Successful Projects Begin with Well-Defined Requirements

Agile Requirements Engineering + LESSONS LEARNED

Test Automation: A Project Management Perspective

White Paper. Cloud Performance Testing

Agile Metrics. It s Not All That Complicated

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

Smarter Balanced Assessment Consortium. Recommendation

Java Project Management. Java Project Management: Agenda. Extreme Java G

Agile Requirements And Testing For Continuous Software Delivery

How to address top problems in test data management

IBM Innovate AppScan: Introducin g Security, a first. Bobby Walters Consultant, ATSC bwalters@atsc.com Application Security & Compliance

Application Testing Suite Overview

White Paper. Fundamentals of Performance Testing

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Application Test Management and Quality Assurance

The Worksoft Suite. Automated Business Process Discovery & Validation ENSURING THE SUCCESS OF DIGITAL BUSINESS. Worksoft Differentiators

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Test Data Management in the New Era of Computing

Transcription:

AW4 Class 6/9/2010 12:45:00 PM "Performance and Security Testing in Agile Development" Presented by: Tracy DeDore Hewlett-Packard Brought to you by: 330 Corporate Way, Suite 300, Orange Park, FL 32073 888 268 8770 904 278 0524 sqeinfo@sqe.com www.sqe.com

Tracy DeDore Hewlett-Packard Tracy DeDore is the Agile Solution Marketing Manager for HP s BTO Software Application organization. She is a twenty-four year veteran of HP and has held a variety of software-related roles including software programming, 2nd level software support and software product marketing, as well as ten years managing network and mobility solution development and marketing.

Tracy DeDore June 9, 2010 Incorporating Performance and Security Testing in Agile Development Agenda The promise of Agile Agile delivery challenges Why QA is critical to the success of Agile Agile testing challenges Manual and automated testing Change-friendly component testing framework Performance testing in every sprint Service virtualization to remove dependencies and constraints Security testing in every sprint Summary

The promise of Agile Accelerate time-to-market Reduce costs Increase project success rates without sacrificing quality Agile delivery To realize the promise of Agile, it must move from a development practice to a delivery practice Developers Project Managers Business Analysts QA Performance Engineers Security Specialists/Penetration Testers

Key Agile management challenges Manage agile projects across all stakeholders Remove latency from Dev and QA processes Maximize collaboration across the Agile team Enable discovery, sharing, and re-use of key assets and artifacts to accelerate work Provide real-time visibility into tasks and progress to speed issue resolution and improve decisions The challenges of Agile delivery VP Apps Will the business benefit from Agile? Why is Agile not working for us? Developers go one way, QA another. How do we better collaborate? No more point solutions. I need a unified vision. Where do we fit? We need a simpler way to capture reqts. It s not clear what Agile means for us. Some think Agile means No more QA! I know change is part of Agile, but how do I QA Dir. We re building in Rqmts. know the right features sprints, but still Lead made it in? QA Dir. testing at the end. Dev. Dir. We re building so fast we have no time to performance test. I don t know if performance is improving or getting worse with each sprint. How can we test earlier, when the environment isn t even in place? Perf. test lead We ll go Agile, even if no one else does. Just get rid of the process overhead and let us work! Requirements, QA these guys don t get it.

Bottom line: Moving to Agile is a big change Radically changes Planning, Dev, and QA practices Roles blur and responsibilities change Collaboration and concurrency are paramount Requires more than process change Functional, performance and security testing baked into every iteration Automation is critical to success Why the QA Director (and team) are key to Agile success You can never be agile without automated testing solutions. Gartner AADI Conference, Dec. 09, Matt Hotle, VP Distinguished Analyst As companies move to Agile, and as portfolios shift from version 1 into maintenance, the coding costs may drop, but the cost to test the application continues to rise. Thus, it is key to find ways to reduce the costs to test software and drive automation. SOA Testing: Confronting the Nightmare of Testing Shared Services, Application Architecture, Development and Integration Conference, December 7 9, 2009 Thomas Murphy, Gartner Research Director

Agile delivery as it should be Jan Feb Mar Apr May Jun RQMT DESGN CODE / UT TEST Time-boxed for focus Hands-on with stakeholders Surfaces issues sooner Rigorous, cumulative testing Designed for change True measure of progress Agile delivery as it too often is Jan Feb Mar Apr May Jun RQMT RQMT RQMT DESIGN DESIGN DESIGN CODE/UT CODE/UT CODE/UT CODE/UT SYS. TEST SYS. TEST SYS. TEST Time-boxed for focus Hands-on with stakeholders Surfaces issues sooner Rigorous, cumulative testing Designed for change True measure of progress

Agile delivery as it too often is Jan Feb Mar Apr May Jun RQMT RQMT RQMT DESGN DESGN Scrummerfall. n. The practice DESGN of combining CODE/UT CODE/UT CODE/UT CODE/UT Scrum and Waterfall together in a single SYS. TEST SYS. TEST SYS. TEST project so as to ensure failure at a faster project so as to ensure failure at a faster rate than with Waterfall alone. Time-boxed for focus Hands-on with stakeholders Surfaces issues sooner Rigorous, cumulative testing Designed for change True measure of progress Why? Some reasons the Agile vision goes unrealized Unit testing mistaken for system test System test deferred, as in Waterfall Performance and security testing deferred, as in Waterfall Regression testing not seen as viable in sprint-time Difficult to coordinate geographically distributed project teams Organizational impacts under-estimated

Why? Reasons the Agile vision goes unrealized Unit testing is mistaken for system test Regular regression testing not seen as Agile is viable still a in relatively sprint time new topic in the realm of software testing the role of the traditional Change software impact analysis test and is haphazard QA organization Scrummerfall hasn't been well-defined. The organizational impacts are underestimated Don't Let Short Term Agile Create Long Term Pain, Gartner Apr. 09 40% of unplanned downtime is caused by application failures, costing an average of $100k per hour for mission-critical apps Gartner, 2008 Gartner, From Concept to Production, Software Changes and Configuration Management, April 2008 Gartner, From Concept to Production, Software Changes and Configuration Management, April 2008

Typical cost of testing in a 30% development project 56% 82% The cost of poor quality Number of defects introduced at the requirements phase Amount of effort required to fix poor requirements 1 The no1 leading cause of IT waste is poor defect mngt and rework 100x Cost to repair a defect in production vs. requirements The value of effective quality management Where Defects Are Detected Relative Cost to Fix Where Defects Are Introduced Req Dev Test Prod Cost = of Defects X Potential Value of Req Dev Test Earlier Prod Compliance and Testing X Actual Cost Req Dev Test Prod Req Dev Test Prod Ideal Cost Source: NIST 2002 RTI Project 7007.011

Agile testing challenges Early defect discovery Test the highest value / highest risk user stories Regression testing is critical; impossible without automation Support unit, service, integration, GUI, system, and business process testing in one platform Remove pervasive system dependencies/constraints that delay testing and increase environment costs Test complex, heterogeneous enterprise environments and modern technologies Customers need a Quality Management solution that enables their business objectives Eliminate rework and reduce cost across the enterprise Improve time to market Mitigate risk

Agile project management Agile Project Management Functional, performance, and security requirements Release planning through the hardening sprint RELEASE SPRINT PLANNING PLANNING RELEASE BACKLOG SPRINT BACKLOG Product backlog SPRINT 1 SPRINT 2 2-4 weeks 2-4 weeks SPRINT 3 2-4 weeks Part of every iteration HARDENING SPRINT N 2-4 weeks AND the hardening sprint Functional, performance, and security should be addressed starting with the release planning phase

Modern Applications + Agile = Challenge Multiple components, multiple sprints, multiple moving parts HARDENING SPRINT PROCESS LAYER Business Process1 Business Process 2 GUI LAYER GUI 1 SPRINT TESTING (.Net) GUI 2 (Ajax) GUI 3 (Java) BUSINESS LAYER (Services, Components, API) Component 1 (JAVA /.Net API) Component 2 (Web Service) Component 3 (JMS Service) Manual testing must be organized and immediate C2 C2 C2 C2 C2 C2 G1 G1 G1 G1 G1 QA should be able to manually test faster within the iteration C3 C3 G2 C3 G2 G3 C3 G2 G3 BP1 BP2 C (GUI-less) component G2 GUI element BP Business Process Stable

Automate as much and as earlier as possible C2 QA should be able to automate on the available application layer as early as possible C2 G1 C2 G1 C3 Regression testing at the end of each iteration (or part of continuous build) C2 G1 C3 G2 C2 G1 C3 G2 G3 C2 G1 C3 G2 G3 BP1 BP2 C (GUI-less) component G2 GUI element BP Business Process Stable Traditional serial testing Functional testing today Create order test Login Delete order test Login Update order test Login Create Order Search Order Search Order View Order View Order Delete Order Update Order View Order Logout Logout Logout

Build a change friendly component testing framework Create once, reuse components in multiple tests Login Create Order View Order Search Order Delete Order Update Order Logout Create order Delete order Update order Test Data 25 Assess performance and security risks upfront Application architecture? New technologies: degrade performance, introduce risk? Upgrade the IT infrastructure? User interface design: degrade performance, introduce risk? Expected increase in usage: degrade performance? Test data needed to accelerate testing?

Effective user stories facilitate performance and security testing Involve performance and security engineers in user story review to identify areas of high risk For example: data privacy high data throughput new technologies (Flash, Ajax ) high degree of customization to packaged apps architectural changes new components non-standard toolkits Prioritize performance and security requirements based on risk Automated load testing Controller Simulated users Internet/ WAN Web server App. server Database Replaces real users with thousands of virtual users Generates accurate, measurable and repeatable load on the system from a single point of control Pinpoints bottlenecks in the system

Performance Testing automation accelerates the testing cycle Less development + time } Less time chasing problems } = Resource efficiency Go live Automated Performance Testing Script Dev. Run Test Triage And Diagnose Fix Repeat Go live Other solutions Script Development Run Test Triage and diagnose Fix Repeat Project timeline Incorporate Performance Testing into every sprint Assess performance requirements during system architecture and release planning Define acceptance criteria for each performance user story Develop test cases/data in parallel with coding Virtualize dependent services and resources Deliver user stories to performance testers as signed off Ensure continuous feedback among all stakeholders Share performance test assets across projects Schedule performance tests to run off-hours

Performance Testing in Agile HOW? Client-side performance awareness Monitor performance trends per iteration Monitor SLA performance per iteration Component/ Headless performance testing Share/reuse test assets across iterations Store/connect test results to components Pervasive dependencies and constraints can kill agility Time consuming to replicate data for test Swing UI Order Mgmt CORBA App Database Inventory Legacy Partner App Scarce production resources Web 2.0 UI App Server ESB Payments Mainframe 3 rd Party Outsourced Database Cost per transaction System availability constraints delay testing efforts and increase test environment costs

How to get agility in constrained environments? Combine functional and performance testing with service virtualization to simulate the realistic and dynamic behavior of dependent systems Before After Testing Solutions System Dependency Constraints Testing Solutions Virtual Test Environments App Under Test Unavailable/ inaccessible Poor Performing App Under Test Virtualize Behavior Virtualize Performance Wrong Test Data Virtualize Data Effective user stories facilitate performance and security testing Involve performance and security engineers in user story review to identify areas of high risk For example: data privacy high data throughput new technologies (Flash, Ajax ) high degree of customization to packaged apps architectural changes new components non-standard toolkits Prioritize performance and security requirements based on risk

Security risks have never been greater Attacks Time Individual fame Individual gain Loose collaboration among groups Industrialized identity theft, and illicit information markets Internal measures Variety of mitigation methods under development (including compliance) The approach Regulations/compliance begin to come into force New ones under development Maturity Security Programs Wide variety of regulations by industry and geography The costs of a security attack are huge $202 X 30,000 = $6.65 M Total average cost of a data breach per compromised record* Average # of compromised records per breach^ No industry is exempt Average Total Cost per breach* Company: Records Affected*: Cost: Organization Cost: Financial Services 12,500,000 X $202 = $2.53 Billion Government 25,000,000 X $202 = Major Retailer 94,000,000 X $202 = $5.05 Billion $19 Billion * Ponemon Institute, 2008 Annual Study: $U.S. Cost of a Data Breach ^Source: The Open Security Foundation

Applications are the target Applications: Unprotected and ignored Servers: Protected by intrusion prevention air Network: Secured by firewall From scans of 31,373 sites, over 85% showed a vulnerability that could give hackers the ability to read, modify and transmit sensitive data. Web Application Security Consortium Web security risks are complex Security professionals are overwhelmed by applications Organizations must learn to bridge the gap Developers/QA are overwhelmed by security

Ingredients for application security success People Application Security is everyone's responsibility Business, Development, QA & Security Teams Educate and empower Process Build security in Repeatable & predictable Best practices Enterprise policies and standards Technology Enterprise Security Platform Automated solutions Built in security knowledge Communication Security Testing in Agile HOW? Static source code analysis Step or path-specific business process testing Black box/dynamic Web Application Scanners Standard, repeatable security testing into standard QA practices Leverage automation tools

Incorporating Performance and Security Testing in Agile Development Change Agile from a development practice to a delivery practice Build a change-friendly component framework Bake functional, performance and security testing into every iteration Automate as soon as possible Virtualize dependent systems/resources Q&A

For more information http://www.hp.com/go/agile HP Agile Development Blog: http://www.communities.hp.com/online/blogs/agile development/default.aspx Future of Testing Blog: http://www.communities.hp.com/online/blogs/functionaltesting/default.aspx Requirements Management: Blog http://www.communities.hp.com/online/blogs/requirementsmanagement/defa ult.aspx LoadRunner/Performance Center Blog: http://www.communities.hp.com/online/blogs/loadrunner/default.aspx Application Security Blog: http://www.communities.hp.com/securitysoftware/blogs/