Accelerating Time to Market with Agile Testing

Similar documents
What your SIEM vendor will not tell you

MongoDB and Python. Key Ingredients for a Perfect Big Data Recipe WHITEPAPER. Firoz Mohamed Kasim, PMP

Building Business Continuity and Enabling Smart Disaster Recovery with Azure Site Recovery (ASR) WHITEPAPER. By Pawan Kumar Dontula

AGILE SOFTWARE TESTING

The Customer. Manual and Automation Testing for a leading Enterprise Information Management (EIM) Solution provider. Business Challenges

Mobile Automation: Best Practices

Measuring ROI of Agile Transformation

Redefining Agile to Realize Continuous Business Value

Abstract. SAP Upgrade Testing : In A Nutshell Page 2 of 15

Using Use Cases on Agile Projects

Agile Scrum Workshop

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Distributed Agile Development in the Cloud

LEAN AGILE POCKET GUIDE

Aligning Correct and Realistic Performance Testing with the Agile Development Process

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Streamlining Identity and Access Management through Unified Identity and Access Governance Solutions

AGILE - QUICK GUIDE AGILE - PRIMER

Agile Master Data Management A Better Approach than Trial and Error

Optimizing Agile with Global Software Development and Delivery

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

Codeless Test Automation for Web Apps

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

Five Reasons why Agile Won t Scale Without Automation

CORE & CONFIGURED SOFTWARE TESTING SERIVICES [SCM, CRM, ERP & PLM SOFTWARE PRODUCTS]

Service Definition: Agile Business Services

Quality Assurance - Karthik

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

Creating Business Value with Mature QA Practices

Proper Product Backlog Prioritization

Qlik UKI Consulting Services Catalogue

Aspire's Approach to Test Automation

6wresearch

Bridging the Gap Between Acceptance Criteria and Definition of Done

Agile Software Development Methodologies and Its Quality Assurance

Technology. Accenture Application Testing Services. Embedding quality into the application development life cycle

SOFTWARE PERFORMANCE TESTING SERVICE

Agile project portfolio manageme nt

Our Business Knowledge, Your Winning Edge. Consulting & Thought Partnership

Leveraging Automated Data Validation to Reduce Software Development Timelines and Enhance Test Coverage

Software Quality Transformation: Focus on Results, Not Process

Driving Healthcare Efficiency through Transformational Sourcing.

Quality Assurance in an Agile Environment

Nova Software Quality Assurance Process

Consolidation and outsourcing improves QA process and saves $3.5 million annually for a leading financial services company

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

Adopting Agile Testing

Software Testing Lifecycle

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Software Product Testing in Agile Environment

Chart Optimize Transform Your Data Center

How Effective Data Management Can Help Your Organization Unlock Its True Potential

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW Vol. 7

Datamaker for Skytap. Provide full-sized environments filled with up-to-date test data in minutes

CMDB and its Role in Transformation

Whitepaper: Agile Commerce: An Introduction for Retailers. Prepared by: Barry Hogan

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Test Automation: A Project Management Perspective

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

Accelerating Time to Market:

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Points of Defect Creation

Continuous Delivery / Continuous Deployment How to automate your Deliveries. Bernhard Keprt

Managing Agile Projects in TestTrack GUIDE

PointZERO Enabling the right first time principle

Maintaining Quality in Agile Environment

Digital Marketplace Services Service Definition

Cloud Call Centre. itouch Vision. This document gives an overview of the cloud call Centre and discusses the different features and functionality.

Visual design and UX services for cloud based applications, services and sites

World-Renouned Services

Smarter Balanced Assessment Consortium. Recommendation

Oracle Utilities Customer Care and Billing

QUALITY ASSURANCE AND TESTING SERVICE CERTAIN

Test Automation. Full service delivery for faster testing at optimum cost

Accenture & NetSuite

ADVANTAGE YOU. Be more. Do more. With Infosys and Microsoft on your side!

Accelerating software testing effectiveness using Agile methodologies..

Innovation Reimagined

SOFTWARE LOCALIZATION FOR AGILE, WATERFALL, AND HYBRID DEVELOPMENT

ICAgile Learning Roadmap Agile Testing Track

Use service virtualization to remove testing bottlenecks

Cognizant Mobility Testing Lab. The faster, easier, more cost-effective way to test enterprise mobile apps.

How To Choose A Test Maturity Assessment Model

QA Engagement Models. Managed / Integrated Test Center A Case Study

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

We are live on KFS Now What? Sameer Arora Director Strategic Initiatives, Syntel

PUTTING ANSWERS TO WORK

Why Performance Matters. Cloud Testing with SOASTA CloudTest. Hexaware Introduction. Best Practices for Performance Testing in Production.

Picasso Recommendation

Getting Maximum Business Value out of ERP Sachin Kinare, Vivek Tatkare & Abhijit Dixit

How To Test A Web Application For Campaign Management On A Web Browser On A Server Farm (Netherlands) On A Large Computer (Nostradio) On An Offline (Nestor) On The Web (Norton

Benefits of Test Automation for Agile Testing

Often Clients tend to use in-house functional resources for their testing and validation processes ending up with issues such as

Recording : Screen* SIP ISDN PRI Analog

a new generation software test automation framework - CIVIM

Global BPO Market Forecast:

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

EXIN Agile Scrum Foundation. Sample Exam

Virtual Brand Management: Optimizing Brand Contribution

Transcription:

WHITEPAPER Accelerating Time to Market with Agile Testing By Balaji Uppili To discover how GAVS can help you innovate and bring greater value to your business, write to inquiry@gavstech.com or visit www.gavstech.com.

Contents Realizing Better Results with Shorter Sprints 4 Leveraging Automation for Agile Testing 4 Automation of Test Suites 5 Key Features of a Robust Test Automation Strategy 5 Role of Performance Testing in the Agile Testing Process 5 Building Architectural Stability in Agile Testing 6 Advantages of Agile Performance Testing 6 Conclusion: Ensuring Collaboration to Drive Superior Testing Results 6 2

Abstract Testing is often the weakest link in effective application or software development and delivery. Ineffective testing strategies and inadequate planning lead to cost overruns, delays, and inaccurate resource allocation, ultimately resulting in poor quality and less than satisfactory project outcomes. Businesses are increasingly recognizing the critical role testing plays in delivering high quality at top speed. They are focused on accelerating the time to market of the end product and spotting defects early on in the development lifecycle. Agile testing, which helps achieve these goals, has therefore gained increased momentum in recent times. With increasing adoption of agile principles, businesses are opting for risk based, automated, functional regression and reactive testing to generate better return on investment. This paper emphasizes the advantages of agile principles and shorter test sprints, and elaborates efficient ways to drive greater ROI from agile testing. 3

Realizing Better Results with Shorter Sprints Agile testing is done incrementally and iteratively, and its effectiveness depends on continuous co-ordination and communication between developers and testers. The crux of agile testing is performing coding and testing in sprints to ensure high stability and quality of each feature. In this methodology, the test case is created based on the development team s comprehensive design documents. A sprint is a defined span of time to complete specific work and ensure that it is ready for review. Typically, a sprint runs for 30 days. The success of a sprint hinges on systematic planning. The product owner along with the development and testing teams determines the activities that need to be completed during a specific sprint. Realistic timelines are set right at the beginning and the quality criteria are also approved. One of the key aspects of agile testing is the sprint 1-n phase 1. This is an iterative process that includes the sprints that have been identified during the sprint 0 release along with the functional and nonfunctional user stories identified for that release. For each user story, the testing team will need to define specific requirements and design as well as perform System Integration Testing (SIT) and Customer Acceptance Testing (CAT). Testing teams are increasingly opting for shorter sprints. As the duration of the sprint gets shorter, the testing process needs to become more automated. Rigorous, repeatable and automated testing processes enable testing teams to eliminate the risk of bugs and ensure quality products. As the iterative process continues, more functionalities and test cases are added to the existing ones. A full set of tests are run each time a bug is spotted (even if it is a minor one). In the absence of strong codes, rapid delivery cycles will fail to deliver expected results. In order to manage shorter sprints, it is essential to build accurate and stable codes. Failure to do so will hinder the effective testing of a product. Testing teams need to define the testing process for an agile project right at the beginning of the project and consistently perform each sprint. Often, testing teams move from unit testing to a full integration test to end-to-end checking of the entire solution. For some projects, regression testing of the full solution follows the unit testing. Leveraging Automation for Agile Testing Agile testing hinges on efficient automation. Agile practices and automated testing help reduce cost, compress long regression cycles and accelerate time to market. As part of test automation, manual test cases are converted into automated scripts and executed autonomously. Typically, roughly 60 percent of the entire development budget is allotted for testing, of which about 50 percent is utilized for regression testing. In agile testing, the code constantly changes. Therefore, automated test cases need to be constantly refactored to derive relevant feedback on quality. One of the biggest challenges faced by testing teams is the substantially high cost of maintaining the automated test code, leading to reduced ROI from the automation initiative. 1 http://blogs.versionone.com/agile_management/2014/04/11/is-your-sprint-pipeline-running-well/ 4

The solution lies in adopting an n-tiered test automation architecture. This segments the automation project into distinct tiers such as business, data, and services, enabling effective automated testing in spite of the constant changes in the system. Automation is also used to enhance regression testing. It is used primarily to test the stability of modules developed in each sprint. In this process, defects and bugs are reported and remediated on the basis of their priority. Developers, product owners and testers collectively determine the parts of the software that will be tested using automation and decide the main flows that will be automated. Automation yields better results for unit, functional and integration testing, and continuous integration. Automated tests encompass unit tests that help verify the most minute software segments. The advantage of automation in agile testing is the ability to perform tests many times per day, per hour or even more frequently - as required. Automation of Test Suites By automating test suites, testing teams can efficiently increase the range and depth of their testing processes. It is possible to leverage automation test suites to specify a test and assign results such as pass or fail. Testing teams can thus perform automatic testing of code at a module level, and identify regression errors automatically. This enables them to develop and enlarge the test suites, thereby testing for larger sets of conditions. Testing teams can thus ensure greater reliability in comparison with traditional methodologies. With agile methodologies, it is also possible to automate functional testing, thereby performing effective load testing and stress testing earlier on in the cycle. Key Features of a Robust Test Automation Strategy Businesses can effectively automate testing and reduce maintenance costs by adopting a systematic approach. Key factors that deliver better results: Using high quality test automation code Reusing code across teams Increasing test automation coverage beyond functional testing to include performance and stability testing or localization testing Role of Performance Testing in the Agile Testing Process By including performance testing as a part of agile processes, businesses can accelerate the creation of high quality software and also contain costs. Two factors are key to successful agile testing. These include testing performance early on in the development cycle, and testing functionality and performance in the same sprint. When performance tests are conducted at the end of the sprint, incorporating changes becomes more expensive, ultimately increasing the time to market. However, incorporating performance testing early on in the sprint is challenging. Here are a few ways to do this efficiently: Ensure that performance testing of code, features and overall integrated system is conducted in parallel, and cover them in the same sprint Start performance testing at the coding level in parallel with coding 5

When a new feature is subjected to functional testing, conduct performance testing to gather insights into the time taken to perform the functionality as well After integrating new functions with the entire product, conduct performance testing to eliminate the risk of performance issues in the product Conduct performance testing in the regression stage to spot issues pertaining to configuration, hardware or infrastructure Building Architectural Stability in Agile Testing The following steps enable testing teams to ensure architectural speed and stability: Add architectural information to the feature description document before release prioritization Perform focus prototyping on quality attributes including performance or security Include external dependency analysis in the roadmap planning process Ensure that test-driven practices including automated test-driven development and continuous integration are driven by factors such as performance, scalability, and security Advantages of Agile Performance Testing An agile performance testing approach delivers the following key advantages: Deliver robust code and functionality: By conducting performance testing early on in the development life cycle, testing teams can deliver effective code and functionality before releasing the product Realize cost savings: Early performance testing enables testing teams to avoid expensive and time consuming code or software changes Accelerate time to market: Reduce time to market by conducting performance testing along with development and within the same sprint Conclusion: Ensuring Collaboration to Drive Superior Testing Results IT organizations are under increased pressure to deliver high quality software products that drive increased revenues and business growth. With growing focus on speed, businesses are embracing agile software development and testing practices. The success of agile projects hinge on realizing greater synergies between business and development and QA teams, effective project governance, robust testing methodology, and availability of relevant skills and capabilities. Above all, a collaborative approach is essential to deliver desired results. Businesses can drive increased efficiencies by embracing new ways of automating and streamlining processes. This means, agile will gradually become the norm in development and testing projects. By partnering with an experienced service provider such as GAVS, businesses can efficiently embrace agile principles, enhance quality of products, reduce errors, and realize greater value with increased flexibility. GAVS brings extensive experience spanning a variety of models such as agile Kanban, iterative and interactive models, enabling businesses to increase the ROI on their agile initiatives. 6

Author Profile Mr. Balaji has over 23 years of experience in the IT industry across application Value Management, Infrastructure Management, BPO and Strategic Operations handling, P&L, Delivery, Operations and Customer Relations across Multiple Verticals which include, Information Services, Retail & Hospitality, Manufacturing & Logistics, and Consumer goods. Balaji has played various roles across Geographies viz., USA, US, Continental Europe, and Asia Pacific, through his previous stints at Patni Computers, L&T Infotech, Cognizant Technology Solutions, and Virtusa Software Solution Limited. His enthusiasm, energy and client focus is a rare gift, and he will be playing a key role in engendering the push for new clients by GAVS. Balaji heads the delivery and helps GAVS in steering the business. 7

About GAVS GAVS Technologies (GAVS) is a global IT services & solutions provider for customers across multiple industry take advantage of futuristic technologies like Cloud, IoT, Managed Infrastructure Services, and Security services. GAVS has been recognized as an emerging player in the Healthcare Provider IT outsourcing sector by Everest Group, and as a prominent India-based Remote Infrastructure Management player by Gartner. USA GAVS Technologies N.A., Inc 10901 W 120th Avenue, Suite 110, Tel: +1 303 782 0402 Fax: +1 303 782 0403 GAVS Technologies N.A., Inc 116 Village Blvd, Suite 200, Princeton. New Jersey 08540, USA. Tel: +1 609 951 2256/7 Fax: +1 609 520 1702 UK GAVS Technologies (Europe) Ltd. 3000 Hillswood Drive, Hillswood Business Park, Chertsey KT16 ORS, United Kingdom Tel: + 44 (0) 1932 796564 INDIA GAVS Technologies Pvt. Ltd. No.11, Old Mahabalipuram Road, Sholinganallur, Chennai, India - 600 119 Tel: +91 44 6669 4287 Middle East GAVS Technologies LLC Knowledge Oasis, Muscat, Rusayl, Sultanate of Oman Tel: + +968 24449301 GAVS Technologies Thuraiya Tower 1 Dubai Internet City Dubai, UAE Tel: +971-4-4541234 inquiry@gavstech.com www.gavstech.com www.gavstech.com