Five Commandments for Successful COTS Package Testing

Similar documents
Wrap and Renew Digital SOA Catalog Offerings

Data Virtualization A Potential Antidote for Big Data Growing Pains

TALENT MANAGEMENT A KEY BUSINESS DRIVER

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

Master Data Management as a Solution Using SAP MDM and Complementing Technologies

Application Services Portfolio

Infosys Business Process Management Offerings

Best Stories of Infosys Salesforce Implementation

Reduced Total Cost of Ownership (TCO) and Increased Scalability with a New Accounting Solution

Evaluation Framework: To Build or to Buy CRM Software?

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

View Point. Image Area. Insurance Modernization New Demands, New Approaches. - Jeffrey Kupper, Lalit Kashyap, Siva Nandiwada, Srikanth Srinivasan

perspective Customer Relationship Management Solutions for effective Customer & Dealer Management Abstract

Product Complaints Management. Infosys Handbook for Life Sciences

INFOSYS MOBILITY QA PRACTICE

Top 3 steps to a successful ERP implementation for M&A in manufacturing - a project management point of view

Digital Transformation with Intelligent Solutions from Infosys and Pega

Mobilizing SAP Enterprise Applications

Digital Marketing. SiMplifieD.

Creating Business Value with Mature QA Practices

View Point. Overcoming Challenges associated with SaaS Testing. Abstract. - Vijayanathan Naganathan, Sreesankar Sankarayya

Comprehensive Testing Services for Life Insurance Systems

BPM for Structural Integrity Management in Oil and Gas Industry

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

Technical Management Strategic Capabilities Statement. Business Solutions for the Future

Optimizing the Car Buying Experience via Integrated Sales and Marketing

SAP PRACTICE AT INFOSYS

Driving Your Business Forward with Application Life-cycle Management (ALM)

TCoE based Approach for building an Independant Test Organization

BUSINESS INTELLIGENCE

Test Data Management Concepts

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

WHITE PAPER. Test data management in software testing life cycle- Business need and benefits in functional, performance, and automation testing

Leveraging BPM Workflows for Accounts Payable Processing BRAD BUKACEK - TEAM LEAD FISHBOWL SOLUTIONS, INC.

perspective Shrink Resolution Times with Field Service Automation (FSA) Abstract

ADVANTAGES OF IMPLEMENTING A DATA WAREHOUSE DURING AN ERP UPGRADE

Global Software Change Management for PVCS Version Manager

Improved Efficiency and Significant Cost Savings through a Flexible Managed Services Model

Flexible and Agile Service Delivery Platform Elevates Customer Experience

Key Benefits of Microsoft Visual Studio Team System

Business Intelligence Tool Migration. Title: Domain: Client: Location:

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

View Point. Oracle Applications and the economics of Cloud Computing. Abstract

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

Data Warehouse Testing

Datacenter Management and Virtualization. Microsoft Corporation

Loss Prevention Data Mining Using big data, predictive and prescriptive analytics to enpower loss prevention

9 June 2015 Michael Stroh BCS CMSG Conference. Service Maps. From Server to Service Management

Master Data Management for Life Science Manufacturers

SaaS Adoption Lifecycle in Life-Sciences Companies

ERP IMPLEMENTATION AND MAINTENANCE FOR A LARGE ENTERPRISE.

White paper. Reverse e-auctions. A Recipe for Success

View Point. The Enterprise QA Transformation Model. A solution to enhance an enterprises testing maturity. Abstract.

Accenture Duck Creek Driving efficiency and high performance through Property & Casualty insurance software

Effective Data Governance

Bridging the IT Business Gap The Role of an Enterprise Architect

Implement a unified approach to service quality management.

Accelerate Innovation. Get a 360 view of customers Finacle CRM Solution

Contents. Ensure Accuracy in Data Transformation with Data Testing Framework (DTF)

Transportation Solutions Built on Oracle Transportation Management. Enterprise Solutions

Reduce QA Cost by Improving Productivity & Test Optimization

Gain superior agility and efficiencies with enterprise origination solution. Finacle Origination

Modernizing enterprise application development with integrated change, build and release management.

Procedure for Assessment of System and Software

Application Test Management and Quality Assurance

SOA: The missing link between Enterprise Architecture and Solution Architecture

A Corporate Profile.

Transforming Software Quality Assurance &Testing

VIEW POINT. Getting cloud management and sustenance right! It is not about cloud, it s about tomorrow s enterprise

White paper. The long and short of managing tail spend. Deepa M.K. Abstract

Functional Validation of SAP Implementation

Estimating the Size of Software Package Implementations using Package Points. Atul Chaturvedi, Ram Prasad Vadde, Rajeev Ranjan and Mani Munikrishnan

for Oil & Gas Industry

Driving workload automation across the enterprise

Integration points: Project management and accounting and other Microsoft Dynamics AX 2012 modules

How To Implement Fusion Hcm

TEST MANAGEMENT SOLUTION Buyer s Guide WHITEPAPER. Real-Time Test Management

The expression better, faster, cheaper THE BUSINESS CASE FOR PROJECT PORTFOLIO MANAGEMENT

WHITEPAPER. An ECM Journey. Abstract

Testing Big data is one of the biggest

GET STARTED WITH A SIMPLE, FAST AND COST EFFECTIVE ORACLE FUSION SALES CLOUD ADOPTION TODAY!

CORPORATE PROFILE

Business Process Validation: What it is, how to do it, and how to automate it

Oracle BI Applications. Can we make it worth the Purchase?

Transcription:

View point Five Commandments for Successful COTS Package Abstract Ineffective COTS implementation will cost you Adopting commercial off-the-shelf (COTS) products or packages like ERP, CRM, and HR management systems to fulfil a range of enterprise functions is a crucial decision involving huge investment. Most implementations do not identify testing as an independent function required during the implementation of the COTS product, while others do not engage testing teams early enough. Only a minority have a successful implementation without any testing-related challenges. The rest discover that the eventual cost of implementation and on-going maintenance have dented their overall business case.

Some worrying trends common to such failed implementations are: Expensive functional consultants conduct testing Business users involvement is higher than required for complementing testing Lack of sufficient testing coverage during the testing phase leading to defects showing up in UAT or, even worse, in the production environment is not recognized during ongoing maintenance This point of view elaborates the rationale of independent testing for package implementation/upgrades and highlights arguments for the benefit of the yet undecided.

What is your strategy for COTS/Package? The complexity and risk associated with implementation has a direct correlation with the scope expected to be realized from the package. Companies are increasingly realising the role independent testing teams with specialized testing skills can play in overcoming the risks specified above. The package testing dogma during implementation/on-going maintenance of a package can be laid out as follows: Base package does not require exhaustive testing of its functionalities irrelevant to the context Package will coexist with other applications of the enterprise & hence data flows in & out of the package Package Principles User requirements are over & above the gaps identified for configuration & development Each implementation has unique degree of customization and configuration is not required for the base package, at least for the irrelevant conditions/functionalities. - For instance, for an order creation and printing application created in Microsoft Excel, it is not required to test the MS Excel product core functionalities like Print Preview and Print Properties options. The gaps identified for configuration/ development are different and are a subset of what users require. - Taking the same example of MS Excel, for a requirement of the ability to always print the sales orders in the landscape mode, the MS Excel core functionality of printing is a subset of the overall workflow. It must be tested in conjunction with the configuration changes in the order creation and printing application. Any package implementation/ operation will involve a degree of configuration and code development. - All products/packages should be configured before use and customized to address user requirements. Every package implementation is unique as a result of the degree to which the product is customized and configured. The package will co-exist with other applications/packages and data will flow into or from the package. - For example, an online retailer may use an order fulfilment package to fulfil the order received. To share the shipping information with the carrier, this package has to be integrated with the delivery systems of the carrier. of the functionality for the changes is a job half done. - For externally facing applications developed on COTS (Oracle ATG, Salesforce.com, etc.) emphasis of performance and security requirements are self-explanatory and rightly justified. When the COTS product is primarily implemented for back-office systems (Oracle PeopleSoft, Sterling Commerce, etc.), special considerations for improved performance and data security are critical inputs. In addition, data retention and disaster recovery are equally important requirements when compared to the functional expectations. This calls for specialist testers, who prioritize based on the identified risks, appreciate the changes from a user perspective and accordingly implement the right set of strategies.

During the early stages, when different components of the products are built or configured and put together, it is important to answer the question: Did we build it right? Effective testing at this stage tends to be more technical in nature. As the package reaches finishing stages, it is important to answer the question: Did we build the right thing? at this stage is more functional in nature. Therefore independent testing alone can provide appropriate answers to the above questions. Following are the FIVE Commandments we identify from past experience for successfully executing independent package testing: What needs to be built? Systematic and formal test planning / design Align Test Plan to User Requirement (Not Gaps) Did we build it right? Small and Simple Test Levels System Test Data Management E2E Business Process Test Environments Management Did we build the right it? Structured Test Methodology Integration Data Migration Performance Security 1. Systematic and formal approach to test planning and design Test Strategy is not correct if these are not addressed It goes without saying that any package tester should have an in-depth understanding of the out-of-the-box features of the package. Identification of how specific requirements are met (core vanilla, configuration or custom-coding within the product) is critical to ensure that the out-of-the box features are appropriately tested. Hence, a systematic and disciplined approach to planning the tests and designing the test conditions employed by testers ensures optimal balancing of testing timelines and gives a truly vetted product. 2. Align test plan as per business requirements and not as per the gaps identified When packages are implemented for a particular enterprise, requirements are analyzed for a good fit to the package and the gaps are captured as part of the gap analysis. The package is then configured or custom-coded to bridge the gaps. In situations where non-testers develop test plans, the test plans are generated according to the gaps. This is usually the case when functional experts are conducting the testing. Planning the tests and designing the test cases against the requirements and using the gaps as reference ensures that testing aligns with the user s expectations as opposed to what IT had implemented. 3. Keep the levels of testing small and simple Configuration includes setting up the business rules, access, workflow, and master data so as to ensure that the package is usable in day-to-day operations. Most effective methods for testing such changes would be all pairs / orthogonal array and boundary value analysis techniques. The custom-code development is fundamentally considered as traditionally developed. The right strategy is to keep it small and simple small islands of functionalities are tested initially for a large set of scenarios before binding them to end-to-end workflows. In other words, the testing strategy will progress from system-level testing (testing limited to a screen, report or module, etc.) to end-to-end business process testing. a. The boundaries of system-level testing and end-to-end business process testing are usually fuzzy and easily confused. b. Scope of test cases in system-level testing can be defined as threepoint testing. It starts where data initialization is needed for a single user of system to do his/her work, moves to where the single user conducts the activity in the system, and ends where the single user is able to verify the results of his/her action. c. Scope of test cases in end-to-end business process testing begins when data flows between multiple users and the functionality involves collaboration between these multiple users.

4. Define and adopt structured test methodology The data flow from and to the package is arguably one of the most complex and risky dimension of package implementation/maintenance, which is compounded with the onset of new and advanced integration technologies (SOA, Cloud, etc.). In many cases, the packages get integrated with data warehouse (DW) and business intelligence (BI) systems. These scenarios require a separate track comprising of testers who specialize in handling them integration testers and DW/BI testers. The integration testers predominantly employ grey box testing methods as their testing strategy. The DW and BI testing track is best assigned to a specialist testing team, which deploys white box/ grey box testing techniques. It is recommended to compress the integration testing track between system testing and end-to-end business process testing (discussed in point 3 above). The DW/BI testing is typically executed as an independent track with separate timelines altogether. A pictorial representation of the test methodology adopted in relation to the implementation lifecycle is given for ease of understanding: Req. High level design Technical Design Build Test Acceptance Test Post Go Live Test Methodology 1a) Test Strategy 1b) Requirements Testability Review 2a) Test Reqmts traceability 2b) Test Execution Planning 2b) Test Script Design 3a) System 3b) Data Migration 4a) System Integration 5a) Performance 5b) Security 3d) User Acceptance 4b) Test Closure 4b) E2E Project/Program Management, Communication & Governance Defect Management Phase 1 Test Strategy Phase 2 Test Design Phase 3 - Test Execution Phase 4 - Defect Resolution & Test Closure

5. Give special attention to activities that support and complement functional testing Another rationale of independent testing for package implementation/maintenance is the final principle of package testing. Besides the fact that functional testing for packages needs to be ably supported (Test Data Management, Environment Management and UAT Support), it also needs to be strengthened (Data Migration testing, Compliance testing etc.) and complemented (Non-functional ). a. Test Data Management is one of the latest areas of specialization in the software testing function. With the database size handled by packages crossing from terabytes to petabytes, it is increasingly becoming an expensive and complex affair to create and/or maintain the master data and reference data required for a comprehensive testing exercise. A quick look at the number of non-defects reported by testing teams and users with root cause of incorrect test data will validate this claim. Companies are now setting up independent and centralized test data management teams, entrusted with the role of creating a repository of relevant business test data and provisioning to testing teams. b. It is imperative that an adequate test environment is available for each of these testing activities. Creating multiple test environments is expensive. Sharing and reusing available infrastructure reduces the overall testing cost. However, multiple environments may be needed due to different environment requirements, data constraints, security constraints and time constraints. By sanctioning test environment budget to the independent testing team, companies make the testing teams accountable for this trade off. The independent testing team also allows for automatic control of the test environment, thereby streamlining efficient testing. On their part, the testing team will need to accept this responsibility by exercising due diligence in identifying test environments, providing concise environment requirements, and controlling the code deployments and data setup activities. c. In cases where an existing legacy system is being retired and its functionality is being replaced with the package, data migration is required. Mostly there are several functional issues inhibiting users to seamlessly switch over from legacy to the package, post implementation. Unless a specialized testing team focuses on data conversions and migration testing, these issues usually end up affecting user confidence and result in financial losses. d. It is imperative that the package continues to comply with governmental and legal requirements like Sarbanes-Oxley (SOX). While traditionally these have been left for the users to test during UAT, the capability to automate several functionalities and the ability for costeffective off-shoring is providing a justifiable argument to save the user s time and cost. e. Last but not the least, performance testing for a package is different for custom or online applications. The data requirements, the need for functional knowledge during performance testing and the resource intensive middleware/ backend programming necessitates a special and focused performance testing track.

Summary COTS/package testing is complicated and a difficult test effort to manage well. The test strategy for such implementations/ maintenance encompasses almost all of the specialized wings of testing function of today. It is important that companies recognize this and implement specialized and independent testing personnel/teams in supporting this activity for both the package implementation as well as ongoing maintenance. About the Author Kiruba Vijayaraghavan has more than 12 years of experience in testing across industry verticals and technologies. He specializes in the assessment and implementation of Test Centers of Excellence (TCoE), Test Factory for testing organizations and QA in Program Management for large scale implementations.

For more information, contact askus@infosys.com 2015 Infosys Limited, Bangalore, India. All Rights Reserved. Infosys believes the information in this document is accurate as of its publication date; such information is subject to change without notice. Infosys acknowledges the proprietary rights of other companies to the trademarks, product names and such other intellectual property rights mentioned in this document. Except as expressly permitted, neither this documentation nor any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing, photocopying, recording or otherwise, without the prior permission of Infosys Limited and/ or any named intellectual property rights holders under this document. Stay Connected