Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Specialized Testing Focus in Agile

Specialized Testing Focus in Agile

This presentation is among the Top 27 Best Papers/Practice/Tutorials selected, out of 460+ submissions received, to be presented @STC 2012.

Presentation Abstract

In recent years, many projects are adopting Agile Methodology. In traditional models like waterfall or V- model, there is enough time and focus to plan and execute various types of testing that may be needed. Apart from functional testing teams, there are dedicated testers who perform various specialized testing like performance testing, data warehouse testing, SOA testing etc. Due to varied reasons, in many agile projects, the main focus in testing remains on verifying functional requirements and automating the key functional scenarios. Many other aspects of testing is generally missed out or ignored in agile development. One of the reasons for this may be due to the following: It is easier to define stories which talks about functional aspects. Another reason may be conventionally, most of the specialized testing is performed in the end product or when the system has attained a level of stability. With changing technology and the business n eeds where performance, security, compliance and data integrity are extremely critical, it is quite risky to delay these aspects till late in the project life cycle. Any type of testing that is done in traditional environment can be done in agile development as well. What it needs is careful planning and selection of types of testing upfront. Apart from upfront planning for these types of tests, another important aspect to be considered is the skill set of the testers. This paper would cover some simple techniques that can be followed to bring in specialized testing in Agile world.

About the Authors

Harleen Bedi is Senior Project Manager at Infosys Ltd. She brings together 13 years of rich experience in managing large enterprise software testing programs from presales to end-to-end delivery. She has experience in assessment and implementation of Testing Center of Excellence. She has worked on varied domains like banking and financial services, life sciences and digital content management. Her current research interests are in specialized testing. She is a PMP, CSTE, CSQA and has “Certification in Banking” from Chartered Institute of Bankers in Scotland.

Sujatha BadriNarayanan has 15+ years of experience and is currently working as a Senior Project Manager at Infosys Limited, Bangalore (NASDAQ: Infy www.infosys.com ). She has expertise in both software development and testing field. In testing, her expertise is in White box testing, Performance testing, Automation, SOA and Middleware testing. She has worked on various domains like Embedded, Avionics, Multimedia, Storage and Banking. She is PMP certified and Six Sigma Green Belt Certified. Her current research areas are Performance Engineering, Cloud and Mobile performance testing.

More Decks by QAI Software Testing Conference

Other Decks in Technology

Transcript

  1. Agenda Testing in Agile vs Traditional Need to plan for

    Specialized Testing Unbalanced Agile Testing Quadrants Focused Approach of Implementation Example - Performance Testing Example - Performance Testing Potential Benefits Challenges in Implementation Key Success Factors 2
  2. Testing in Agile vs Traditional Story Identific ation Design Deploy

    or Review from Stakeholder s Sprint Sprint Traditional Waterfall Model Agile Model Requirement System Design Coding System Testing 3 Develop Test Release Sequential phases Requirements are clearly defined and documented Mostly, independent testing team Test Manager – enough time to plan for testing Testing phase is planned Iterative phases Limited documented requirements Testers integral part of team Very less testing time available in each sprint
  3. Specialized Testing Package Performance Testing DW/BI Mobile SOA Compliance 4

    More than functional testing Requires technology focus Validates non-functional aspects Need People with “niche” skill set
  4. Need to plan for Specialized Testing Agile is development centric?

    Agile is ad-hoc testing/ exploratory? Rarely articulate non-functional criteria in user stories Rarely have tests designed for these aspects 5 Failed to implement appropriate testing strategies Specialized Testing is postponed until product is fully integrated But! Its often too late into the project cycle. “Defects¨ found here may go directly into the backlog for the next release or cause a feature to be pulled from a release.
  5. Unbalanced Agile Testing Quadrants Functional Tests Story tests Exploratory Testing

    Usability UAT Business Facing Manual & Automated Manual Q2 Q3 Q1 Q4 Supporting the team Critique Product 6 Unit Tests Component Tests Performance and Load Testing Security Testing ility Tests Technology Facing Tools Automated Q1 Q4 Supporting the team Critique Product Quadrant 3 & 4 in particular require focused effort that is not directly related to individual features built during sprints ** Source : Agile Testing Quadrants from Brian Marick
  6. Agile development aims to deliver a feature that can be

    independently evaluated and used by customers… and what will to be delivered to customers…needs to be customers…needs to be TESTED THOROUGHLY! 7
  7. Focused Approach of Implementation… Sprint Zero or release planning –

    include Specialized testing member on project team Involve the tester in sizing and estimates Story Ide Deploy or Review from Stakeholders Agile Project Lifecycle Sprint Sprint 8 Identify the type of testing required Test Agile Project Lifecycle
  8. Specialized Testing that should get into Agile Performance Testing Design

    / Code Tuning defects found at this stage are less costlier to fix Usability Testing End users get to see the product earlier in the lifecycle Security Testing More open source / third party components Maintainability Testing Code gets churned out every other sprint and should be easily maintainable over several sprints and releases Data warehouse Testing Testing Efficiency will be better as more samples can be taken. More opportunities for automation 9 Web Services Testing Testing as and when they are developed reduces Integration issues
  9. …Focused Approach of Implementation Requirements - Add specialized Testing requirements

    in Product backlog Definition of Done Infrastructure set up – 10 Infrastructure set up – Identify specific needs for environment of Infrastructure required to perform these tests Use Appropriate tools – Wherever required plan for usage of tools
  10. Performance Testing Approach for Agile NFR Gathering Design Development System

    Testing Performance Testing Testability Analysis Testability Analysis Traditional Waterfall Model Agile Model 11 NFR Modeling Early Validation Scripting & Execution Bottleneck Analysis Analysis NFR Modeling Early Validation Scripting & Execution Bottleneck Analysis End to End PT Execution Bottleneck Analysis Sprint 1 Sprint n
  11. Performance Testing Approach in detail Non Functional Requirements Modeling Early

    Validation Service Virtualization 12 Using service virtualization, various systems can be tested even if the dependent components are not available. For example: • Mainframes • Platforms - ORACLE, Siebel, TIBCO • Services - SOAP, CORBA Design Phase: Static Review of application Design Performance Modeling Build Phase: Dynamic code profiling Static Code Review Non Functional Requirements Modeling Framework assists in creating Component level NFRs for Complex Systems Business Requirements, System Appreciation documents and taking inputs from Business Analysts / Component owners
  12. A Case Study Drivers/ Objectives • Client as the part

    of their customer strategy, envisioned the launch of online shopping eCommerce site with objective to enhance customer shopping experience with the entire product catalog. • The concept-to-launch time for the website was 6 months. • Iterative development methodology was adopted in order to achieve Testing Solution Approach • Risk Based testing for iterative development methodology • QA validation strategy aligned with the development tracks earlier in program and converging to end to end business process testing in the final phase. This helped in detecting defects in individual modules earlier in the life cycle thus improving testing turn around time at the later phase Back ground and Brief Context Client is a World leader in Healthcare with business spread across 50 countries and revenues of more than $2 Billion. With a presence in more than 59 countries, the client has more than 1,000,000 distributors This system supports the core business model including Customer management System, Order management system and Compensation Management System 13 • Iterative development methodology was adopted in order to achieve time to market • The implementation was a critical success measure of the new business model envisioned by the organization. later phase • Implement Keyword driven framework of functional test automation in parallel to manual test planning • Non functional testing - Compatibility, Security, Performance, usability scheduled inline with release dates and prioritization based on criticality • Implementation & Customization of Quality Center for test management Accomplishments and Business Benefits • Focus on non functional testing at an earlier stage preempted major flaws in the areas of performance and compatibility • Better communication with all stakeholders resulted in lesser turn around time for defect fixes • Knowledge management Portal with Training materials and induction kits helped in facilitating quick ramp up of new team members • Comprehensive Validation strategy for the eCommerce implementation on new platform ensured seamless integration with the existing Order management backend framework. Product was delivered with no major issues and on time to market
  13. Potential Benefits Reduces Business Risk, improves quality Delivers business value

    early Reduces Total cost of ownership Stays competitive 14
  14. Challenges in Implementation Stakeholder’s buy in (due to intangible benefits)

    Availability of stakeholders to derive Non Functional requirements Very limited time for developing specialized testing scripts Highly skilled talent Highly skilled talent High Collaboration with development team Constant involvement of business 15
  15. Key to Success… Shift in mind set of team Right

    People on the team - People with focus on specialized testing Early involvement of testers and not pushing specialized testing till system testing Carefully plan sprints in such a way that addresses the need to test all non-functional /specialized testing /specialized testing Collaboration, Communication, Integration 16
  16. 17 Sujatha Badri Narayanan , PMP® Senior Project Manager, Infosys

    Ltd. Harleen Bedi, PMP® Senior Project Manager, Infosys Ltd.
  17. THANK YOU www.infosys.com The contents of this document are proprietary

    and confidential to Infosys Limited and may not be disclosed in whole or in part at any time, to any third party without the prior written consent of Infosys Limited. © 2011 Infosys Limited. All rights reserved. Copyright in the whole and any part of this document belongs to Infosys Limited. This work may not be used, sold, transferred, adapted, abridged, copied or reproduced in whole or in part, in any manner or form, or in any media, without the prior written consent of Infosys Limited.