TESTING IN A CONTINUOUS DELIVERY WORLD Improve speed without rushing software out the door.

Similar documents
Scrum Test Planning. What goes into a scrum test plan?

THE PURPOSE OF TESTING

Assessor-3 Release-1 Retrospective-ESI

Agile Test Plan How to Construct an Agile Test Plan

Avoid the Hype and Find Real Value in Devops and PaaS ABDUL KHALIQ GAFFAR

AGILE TEST MANAGEMENT WITH VISUAL STUDIO

Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model

POINTS OF DEFECT CREATION

The Faster Road to Innovation Why Workopolis Went Agile

Introduction to Agile and Scrum

Test Management Forum

Test Management Test Planning - Test Plan is a document that is the point of reference based on which testing is carried out within the QA team.

Copyright Software Engineering Competence Center

Adopting iterative development: the perceived business value

Legacy System Modernization Using Open Source Tools and Agile. Adam D Angelo

10 Steps to Mainframe Agile Development. Mark Schettenhelm, Sr. Product Manager September 28, 2017

[Name] [ ID] [Contact Number]

WHITE PAPER. Six Simple Steps to Improve Service Quality and Reduce Costs

DevOps architecture overview

Breaking the Bottlenecks in Your SDLC

CASE STUDY INCREASING DRILLING OPERATIONAL PRODUCTIVITY WITH DIGITAL PLATFORMS IN THE OIL & GAS INDUSTRY

Software Testing Life Cycle

Achieving Balance: The New Pivotal Points of Software Development

Mike Cottmeyer blog.versionone.net

VectorCAST Presentation AdaEurope 2017 Advanced safety strategies for DO178C certification Massimo Bombino, MSCE

Drive more value through data source and use case optimization

Capgemini & Experitest Co-webinar: A secure Mobile Testing Cloud Resource- Accessible Anytime Anywhere. Dec 2014

Agilitate.com. From Mountain To Molehill. Saving Millions With Agile Programme Management. Bill Nicholas - 8 th September 2011

Top 5 Reasons Why Agile Fails (and how to avoid them!) March 2017

Evolving Team Structure in DevOps

18-642: Software Development Processes

Q&A from Transitioning from Waterfall to Agile Web Seminar

[control] [data] [process] [strategy] [partners] [testing] [validation]

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

Conclusion.

The Science of Running Effective User Acceptance Testing Cycles

What is Continuous Integration. And how do I get there

PRODUCT QUALITY AT EMS

Scrum. Outrageous Assessments Copyright 2009, ADM, All Rights Reserved v1.1

HP Quality Center 10 Overview

Axa. Olivier De Lissnyder. Agenda

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Test Automation Event

INF 3121 Software Testing - Lecture 05. Test Management

A Guide to Branching and Merging Patterns

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

Apply Lean Methodology-VSM to Improve IT Regression Testing

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

UPGRADE CONSIDERATIONS Appian Platform

Building Cloud Apps using Agile Methodology & Tools

CASE STUDY. Building an Enterprise Plant Management Platform to Improve Operational Efficiency for Commercial Laundries

Mendix Application Test Suite Expert Webinar - September Expert Services Consultant

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Software Development Life Cycle:

Transparent Development Program for ILMT.next IBM License Metric Tool Central Team Questions & Answers

The XBOSoft 2012 Scrum Testing Survey

1. The Case for Agile 2. The Scrum Process 3. Scaling Scrum

How to Scale Agile Across Departments with WHITEPAPER

AI in ITSM. Automate your IT to deliver great experience.

INTEGRATED APPLICATION LIFECYCLE MANAGEMENT

PLM APPLICATION TESTING

Handling Product Management Across The Enterprise. copyright Net Objectives, Inc.

Rigel Networks Capability Document. Software/Application Testing

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

DevOps Guide: How to Use APM to Enhance Performance Testing

David. Director of Rational Requirements and Quality Management Products

Agile Scrum Process Checklist

Service Virtualization

AutomatedQA Webinar 1

CM MatchPoint Agile. Christoph Heinrich, CM First Plex Track A / Session 17

The Basic Waterfall Model. Software Process Models. Concurrent Development. (Concurrent Development) The Agile Critique of the Waterfall

the Basics of Software Quality Management

IBM Innovate 2010 Managing Requirements for Your Agile Team

Implementing Physical Inventory for Telecommunications Operational Support Systems.

Key Takeaways: 1. How to make your Exploratory testing sessions more effective so that you achieve customer value

Seeking Good Agile and Avoiding Bad Agile. Agile Aus2n Monthly Mee2ng Jan. 06, 2015

Hennepin County Technology Plan Presented by Craig Troska, Chief Enterprise Architect

Finally! A Model for Evaluating Agile Performance: The Agile Performance Holarchy. Darian Poinsetta Senior Executive Agile CxO

Guaranteed Value Projects in Legacy Modernization. Michael Oara VP for R&D Relativity Technologies, Inc.

Communicate and Collaborate with Visual Studio Team System 2008

Best Practices for Creating an Open Source Policy. Why Do You Need an Open Source Software Policy? The Process of Writing an Open Source Policy

TSP*-Agile Blend: The Gun Smoke Clears

Session 11E Adopting Agile Ground Software Development. Supannika Mobasser The Aerospace Corporation

OBJECTIVE VISIONARY OF CMMI HIGH MATURITY PRACTICES WITH AGILE & DEVOPS

ISTQB CTFL BH QuestionsAnswers with Explanation

SAP s Quality & Testing Platform Complete Solution of Products and Professional Services

The Quality Quotient Insightful Strategies for Quality IT Project Releases. October 24, 2015

Designing the Process. A Brief Introduction to Agile Programming

Emerging Paradigms in Testing. Refocus your view of testing to drive superior results

Analyze, Design, and Develop Applications

wipro.com IT4IT & DevOps Transformation The Common Ground

Agile Plus Comprehensive model for Software Development

EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999.

Take Your UAT from the Stone Age to the Digital Age

CORE ELEMENTS OF CONTINUOUS TESTING

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering

"Session-based Exploratory Testing on Agile Projects"

Transcription:

TESTING IN A CONTINUOUS DELIVERY WORLD Improve speed without rushing software out the door. Testing needs to shift left : Testing is starting to be done by developers more frequently. QA professionals are still doing manual work, but they re trying to automate the process as well. Challenge for Testers: not just to be a good tester but also be able to engineer the process and take advantage of advanced automation practices. KEY AREAS IN CONTINUOUS TESTING Risk Assessment. Defect Casual Analysis. Code Quality Control. Traceability. Test Optimization. Service Virtualization. KEY BENEFITS Focus on the areas that matter Determine current gaps in maturity Control risks, quality and costs

BASIC TESTING AWARE OF RISKS MEASURED QUALITY MEASURED COSTS EFFICIENT TESTING CONTROLLED RISKS CONTROLLED QUALITY CONTROLLED COSTS CONTINUOUS TESTING REDUCED RISKS OPTIMIZED QUALITY OPTIMIZED COSTS SOURCE CODE Source code versioning Code quality control CONTINUOUS INTEGRATION / CONTINUOUS DELIVERY ENVIRONMENT / INFRASTRUCTURE Separted /dev environments Few devices/browsers are covered Test data management Full devices/browsers coverage Virtual servers Test environment management Containers Service virtualization INCIDENTS / BUGS Bug tracking Defects Causal Analysis Traceability between features, issues and code TEST MANAGEMENT Basic test management Test planning with development Testing before development Impact analysis Agile management Testing and development as one unified team FUNCTIONAL Functionality inventory (backlog) Traceability between TCs and features TCs, checklists, ET sessions Test design techniques Tests are prioritized Long-term code coverage strategy AUTOMATED Unit API automated tests UI automation Unit with minimal coverage Unit, API and UI automated tests running continuously PERFORMANCE Client-side performance tests System performance (before go-live) Reactive monitoring in production Unit performance tests (during development) Proactive monitoring in production Performance tests running continuously SECURITY Basic of access control policies OWASP top 10 Pen Automated security checks USABILITY Usability User Accessibility MANDATORY RECOMMENDED OPTIONAL

BASIC TESTING EFFICIENT TESTING CONTINUOUS TESTING SOURCE CODE Pieces of source code get lost. Not clear what version each client has, which makes it complicated to do fixes in the corresponding code. The code has a big technical debt, maintainability problems, poor internal quality, lack of documentation, dead or duplicated code, doesn't follow best practices in design or architecture, complex code (spaghetti), etc. Finding bugs and solving issues takes too long. Integration is complex and costly. ENVIRONMENT / INFRASTRUCTURE INCIDENTS / BUGS TEST MANAGEMENT Not clear what is in each environment, everyone works in shared environments. Not sure if we are with the latest version. Bad communication between development and. No knowledge of the state of each incident. No knowledge of the version in which an incident was fixed. No test cycles defined. Testing is hard, not business focused, starts late, and takes too long to update a test case. No knowledge of which incidents each test case corresponds to. Not clear what needs to be tested or when. Data is overwritten between developers, testers or automated tests. There are devices that have problems. Cannot test on all devices. No knowledge of how to avoid incidents. No knowledge of where the incidents come from. Testing starts after development, focused on detecting and reporting, not prevention. When something changes, no knowledge of which test cases need to be executed. Difficult to set up a new environment for a demo, test or whatever is necessary. No knowledge of which feature is affected by a certain bug and to what line of code it relates to. No traceability within code versions. Gap between development and team, not sharing goals. PAINS TO SOLVE FUNCTIONAL No record of what has to be tested or with which level of priority. No evidence of test executions. No information on the quality status of each version. Uncertain about how well the tests are designed. Not clear what to test first. No knowledge of what coverage we should have. Not enough time to meet the expected coverage. AUTOMATED Incidents already solved reappear. Getting feedback after introducing a new change takes too long. Automated tests take a long time to run. Automated tests are expensive in terms of maintenance. Testers are bored and demotivated, always executing the same tests. Regression tests are executed manually and take a long time. Testers make mistakes when doing checkups. Fear and uncertainty when releasing a new feature to production. PERFORMANCE Uncertainty when going live, lack of knowledge about how the system will perform. No control over production systems or other environments. No clear methodology to carry out tests that simulate the expected load. Performance problems are difficult to solve and are detected very late. Unable to anticipate problems that occur in production. No knowledge of how a new change affects performance. SECURITY Security breaches, uncontrolled risks or uncertainty concerning how unprotected the users are. Security standards are not met. No knowledge of how a new change affects security. Need to release frequent security patches. USABILITY Users find the system difficult to use. No evidence that the application is usable. Users are resistant to change due their lack of involvement in acceptance. No evidence that the application is user-friendly. No evidence that the application is accessible to all.

WHY CONTINUOUS DELIVERY? CASE STUDY By using continuous delivery practices, HP LaserJet Firmware team could: Reduce overall development costs by ~40% Increase programs under development by ~140% Reduce development costs per program by 78% Increase resources driving innovation by 5x Source: Thoughtworks - The Case for Continuous Delivery.