33
© 2013 IBM Corporation Learn Faster Deploy what you have, Virtualize what you don’t

Learn Faster: Deploy what you have, Virtualize what you don't

Embed Size (px)

DESCRIPTION

Agile Development and DevOps emphasize quick feedback cycles. But how do we test non-trivial applications with many components? What do we do when some components are outside of our control, expensive to access, or simply not ready to test against? Delaying integration testing or running the tests infrequently is can cause problems to linger, quality to fall, and delivery delays. Recorded webinar is here: https://events.na.collabserv.com/register.php?id=ce89353437&l=en-US

Citation preview

  • 2013 IBM Corporation Learn Faster Deploy what you have, Virtualize what you dont
  • 2013 IBM Corporation Who are these guys? Eric is a DevOps Evangelist with IBM where he helps customers get the most out of their build, deploy and release processes. Today he works with customers and industry leaders to find the best ways of adopting continuous delivery and DevOps. @EricMinick Eric Minick Al is a Testing Evangelist at IBM focused on quality management and testing. Having performed many development roles over a number of years and armed with real-world experience for the testing challenges organizations face. Al has spent the last two years raising awareness for Service Virtualization and how it is the enabler to Continuous Testing! @Al_Wagner Al Wagner
  • 2013 IBM Corporation Delayed learning is why waterfall fails Idea Requirements Development Integrated Test Release Weeks / months to validate code matches Reqs Months or years to learn if ideas / requirements match the market need
  • 2013 IBM Corporation Time to customer feedback is governed by risk Traditionally Organizations looked to find a balance between speed, cost & risk. Development teams were not as agile as they are today; testing never seemed to have enough time.
  • 2013 IBM Corporation Time to customer feedback is governed by risk Traditionally Organizations looked to find a balance between speed, cost & risk. Development teams were not as agile as they are today; testing never seemed to have enough time. *Survey of 250 Testers 90% of testers have some but not complete confidence in the software thats released. 4 testers are seeing faster releases per 1 that sees slower 34% of those who expressed no change were regularly releasing quarterly or better.
  • 2013 IBM Corporation Shift Left: To win in the market, learn faster Organizations are asking teams to release higher quality software sooner. Development teams are becoming more and more agile; testing still never seems to have enough time.
  • 2013 IBM Corporation Todays Focus: Integration Testing Pretty Great Castle, huh? Just need to do that little integration part at the end.
  • 2013 IBM Corporation Late integration testing: Design verification occurs too late in the lifecycle 100% Project Schedule DevelopmentProgress (%coded) Original Target Date Integration Begins
  • 2013 IBM Corporation Earlier validation leads to a smoother curve 100% Project Schedule DevelopmentProgress (%coded)
  • 2013 IBM Corporation Basic strategy 1. Deploy all the stuff into a test environment 2. Setup test scenarios 3. Run regression tests 4. Create known good version of the system 5. Repeat when there are changes Pet Shop Content J2EE App MySQL DB SIT WEB MID DB PROD WEB MID DB Tomcat Deploy Process Rollback Process Restart Process
  • So why arent we all doing this?
  • 2013 IBM Corporation Composite applications have lots of pieces Image from ischool.tv
  • 2013 IBM Corporation Deploying composite applications Challenges 1. Deploy all the stuff into a test environment 2. Setup test scenarios 3. Run regression tests 4. Create known good version of the system 5. Repeat when there are changes Need to coordinate change Link to provisioning Track / collect versions under test
  • 2013 IBM Corporation Deploying composite applications Challenges 1. Deploy all the stuff into a test environment 2. Setup test scenarios 3. Run regression tests 4. Create known good version of the system 5. Repeat when there are changes Coordinate Change Model full applications and design orchestrated release processes JPetStore Application Apache Tomcat JPetStore DB SIT WEB MID DB PROD WEB MID DB JPetStore Content JPetStore WAR
  • 2013 IBM Corporation Deploying composite applications Challenges 1. Deploy all the stuff into a test environment 2. Setup test scenarios 3. Run regression tests 4. Create known good version of the system 5. Repeat when there are changes Link Provisioning & Deploy Deploy into environments that dont yet exist.
  • 2013 IBM Corporation Deploying composite applications Challenges 1. Deploy all the stuff into a test environment 2. Setup test scenarios 3. Run regression tests 4. Create known good version of the system 5. Repeat when there are changes Track / collect versions Create a logical version of what was tested together, for deployment to later environments.
  • 2013 IBM Corporation Testing is often plagued with bottlenecks & delays Todays testing challenges 1. Difficult to automate tests when the dependent services have yet to be developed 2. Lack of complete production like test labs 3. Software and/or systems dont exist yet as priorities may differ across development teams 4. Testing with 3rd party services may incur access fees driving up the cost of testing 5. Blocking defects may interrupt end-to-end testing 6. There just isnt enough time due to all the interruptions! There must be a way which allows Testers to test What they want, When they want, How they want!
  • 2013 IBM Corporation Where do Testers want to spend their time? Creating Automated Tests Performing Exploratory Tests Executing Automated Tests Designing Tests Planning Tests Reviewing Test Results Running Pre-defined Tests Maintaining Automated Tests I want to spend MORE time I want to spend LESS time Creating Reports Maintaining Automated Test Tools Configuring Test Tools Creating Test Data Re-running tests Investigating, Documenting and Submitting Defects Setting Up Test Labs
  • 2013 IBM Corporation Continuous Testing means Validating todays composite applications earlier and at a lower cost Continuous Testing DevOps Foundation Test Automation Run unattended Validate business flows across channels Durable, maintainable, resilient to change Automated Deployment Into Test Environments Reliable Repeatable Traceable Test Environments Realistic & complete - (production like) Available on demand Inexpensive to setup
  • 2013 IBM Corporation Continuous Testing means Making production-like test environments a reality Traditional test environments are both underutilized and insufficient Environments are expensive: hardware, software, and labor Tester and developer time wasted waiting for appropriate environment Agile test environments require four enabling capabilities Dynamic Infrastructure Deployment Automation Test Environments DevOps Foundation Service Virtualization Test Data Management
  • 2013 IBM Corporation Time Spent on Test Data Management
  • 2013 IBM Corporation Organization Process Technology an agile test organization and testers need continuous access to test data with agile development you have continuous integration and delivery and have to test often test data management software needs to support agile method by streamlining access to test data and having insight into test data Test Data Management with IBM InfoSphere Optim Agile testing needs continuous access to test data
  • 2013 IBM Corporation Dealing With Unavailable Software & Services
  • 2013 IBM Corporation Continuous Testing improves software quality Actual Service/App Virtual Service/App Service Virtualization can simulate the behavior of a service or application for the purposes of testing Service Virtualization is an enabler for continuous testing Services, applications, systems are introduced into the continuous integration cycle in a prioritized, controlled fashion. Controlled integration helps isolate defects for faster resolution. Service virtualization enables continuous integration testing Using Service Virtualization Enables testers to test continuously with control
  • 2013 IBM Corporation Continuous Testing means Creating easy to maintain automated tests for continuous execution Continuous Testing DevOps Foundation Test Automation Run unattended Validate business flows across channels Durable, maintainable, resilient to change Automated Deployment Into Test Environments Reliable Repeatable Traceable Test Environments Realistic & complete - (production like) Available on demand Inexpensive to setup
  • 2013 IBM Corporation Unattended test execution Automate testing with Rational Test Workbench integration, functional, & performance Continuous Testing
  • 2013 IBM Corporation Continuous Testing means. Automating the creation of realistic test labs Continuous Testing DevOps Foundation Test Automation Run unattended Validate business flows across channels Durable, maintainable, resilient to change Automated Deployment Into Test Environments Reliable Repeatable Traceable Test Environments Realistic & complete - (production like) Available on demand Inexpensive to setup
  • 2013 IBM Corporation IBM UrbanCode Deploy orchestrates and automates the deployment of applications, middleware configuration, and database changes into development, test and production environments. Databases Internal Messages Third-party Services virtual components Simultaneously test across multiple test stages Dev QA IBM Rational Test Virtualization Server Combining continuous testing withOrchestration from build to production A REAL reliable, repeatable, & traceable deployment automation solution IBM UrbanCode Deploy IBM Rational Test Workbench integrated with Test Environments Dynamic Infrastructure Deploy what is ready, virtualize the rest Continuously test in production-like env. Deploy private, secure right sized test data IBM InfoSphere Optim Test Data Mgmt UC Deploy Plugins IBM Rational Quality Manager Manage quality across the delivery lifecycle
  • 2013 IBM Corporation Summary Get to market faster requires faster testing Testers need automated tests, environments to run them in, and the latest code in those environments. Complex environments can be simplified with service virtualization Complex deployments can be managed with Application Release Automation Continuous testing coupled with continuous deployment, check the software/validate the deployment process Together, you get faster feedback and make more money
  • 2013 IBM Corporation Resources Continue your learning journey as you shift left ibm.co/ARDfordummies ibm.co/ServiceVirtualizationForDummies ibm.co/agilefordummies ibm.co/devopsfordummies
  • 2013 IBM Corporation Learning opportunities on YouTube IBM UrbanCode Applications IBM Continuous Testing videos http://www.youtube.com/playlist?list=PLZGO0qYNSD4VZEYSvNbpXqFnAqmsSj2gQ http://www.youtube.com/user/IBMRationalUE/playlists?sort=dd&view=50&shelf_id=9
  • Thank You!
  • Q&A