Transcription

1 white paper Development Approach for Customized Testing Tools - Selecting Testing Tools Efficiently - Vaibhav Suneja Abstract At times, the testing process requires the use of customized tools along with standard automation tools. Customized testing tools are required mainly for the conversion of data from one format to another. This paper presents a brief comparison of open source, closed source (proprietary) and custom build approaches to building a testing tool. The comparison is demonstrated through a case study and through the challenges faced while selecting one alternative for developing the tool over another. The paper also highlights the importance of the tools team in an organization.

2 Introduction When a testing project needs to be carried out across several organizations, typically an onsite-offshore model is used. However, in such a scenario, consistently communicating the client s needs to different teams working onsite and offshore can be a challenge. Moreover, testing teams often operate in crisis mode when tools need to be implemented to perform the testing. Usually, teams can choose from many open source tools that can be implemented. On the other hand, they may have access to several platforms that can be used to develop the tool from the ground up. Before deciding the approach, testing teams need to answer a few key questions regarding the tool and where it needs to be implemented. The client s concerns must be factored in. These may include the client s inclination toward a certain technology, their past experience with some solutions and, more importantly, the ease of use and accessibility.

3 Open Source Solutions Open source applications are free-todistribute solutions which may be modified and implemented in a testing project. It is safe to assume a high probability of the client choosing an open source solution as opposed to a closed source one. The most common problem faced while using an open source solution is the lack of adequate support. In case of commercial software, the vendor is responsible for timely assistance, especially when resolving security bugs. But if the testing team finds a critical bug in an open source application and needs assistance in fixing it, they may be required to pay an expert to fix it [1]. Support for open source is only in the form of forums and there may not be a proper helpdesk, or a support center. This underscores the need for a well-experienced technical team that can understand the code and implement the fixes, adding to the cost of using the open source solution. Open source software concentrates on addressing the needs of developers and the end-users demands are not always high on priority. Many open source projects do not focus on user interface, and do not provide adequate documentation. [2] Figure 1: In case of open source solution code is visible In sum, while considering an open source solution, the requirement and funding should be cumulative. This means, the technical support required to maintain the solution must be added to the existing requirement of the client. Closed Source Solutions If the open source route presents problems, can closed source be looked at as a more effective solution? While this question can be answered in the affirmative, mainly due to the full technical support available, everything in the closed source approach comes with a cost. This cost may be low till the time the team is working with a standard software tool. If a slight modification is required, the cost increases and this must be taken into consideration. For instance, if the tool offers to generate output in text file format and the team needs the output from the tool in a PDF format, this slight custom modification can send the total cost of the solution soaring. The biggest disadvantage while implementing closed source tools could be the fact that the team deals with a set of binaries and cannot see or modify the code. To obtain even a slight modification, they need to approach the vendor and ensure that the requirement is fulfilled. The other factor that can lead to the rejection of an open source solution is the company s (either the client company or the service provider) dislike for open source solutions. This can be due to their previous experience and the concealed terms and conditions, along with copyright terms associated with open source. Open source may be a good choice for startups, but large organizations may find it difficult to gain the confidence of their stakeholders. Proving the advantages of open source over closed source may become a challenge. Figure 2:In case of closed source solution code is not visible

4 Building a Tool Ground-up or Reusing Existing Tools Building a tool from the ground up can be a very effective option if the workforce possesses the required expertise. The following factors must be considered before proceeding thus: The nature of the requirement It is important to clarify that the reference here is not to large software implementations in the testing process such as QuickTest Professional (QTP), but to small-size tools such as parsers implemented in the process. The process must start with a requirement analysis. Weighing the advantages and the disadvantages of the available open and closed source solutions is vital. Most importantly, the team needs to consider the value the solution can add to the project and its ability to increase client satisfaction. Many a time, the client has had better experience with closed or open source solutions that can perform the same function the testing team proposes to achieve through a custom-build testing tool. In such a case, the team needs to explore the solution the client refers to, understand what it offers and determine if the proposed solution can function better. Skills requirement Platform requirement The platform can be a challenge for most startup organizations. For instance, if the testing team needs.net to develop the tool then the license for the.net framework needs to be bought. However, if the.net framework is not required for any other application, then ordering the framework merely for one custom-build tool may not be a feasible option. Skills requirement as opposed to platform requirement There may be a discrepancy between the platform chosen for the development of the tool and the skill sets available within the tools team. Application type.net Web Application.NET Console/ Windows Application Java PHP Requirement for development Visual Studio Visual Studio JDK/Editor WAMP Server or any other server which can render php The tools team needs to be flexible enough to convert the code written in one platform to the other and vice-versa. It is preferable that some members of the tools team are trained in open source languages because these are the cheapest solutions that can be offered to the client. Reusing the existing solution Depending upon the requirements, it may be possible to reuse an existing tool from the tools repository. The existing solution or tool should be analyzed properly to explore the reusability. Experts must decide whether the reuse can be more productive than developing the tool from the ground up and encourage reuse wherever possible. Requirement for running at client organization.net Framework.NET Framework JRE WAMP Server or any other server which can render php Table1: Sample requirements for developing different applications If the required tool is related to project test execution and the project team does not have the capability to develop the tool, the best option is to consult the tools group in the testing unit to deliver the solution.

5 Advantages of Developing over Reusing a Tool Ability to build exactly what is required It is possible that a closed or open source tool offers the same functionality that the testing team is trying to achieve. If the functionality is insignificant for the majority of developers or users, then to present the package better, tool vendors might combine it with some features which are not part of the team s requirements. This makes the tool more complicated to use. On the other hand, when the team is building the solution from the ground up, they can concentrate on their end-users who need to work on it and build the tool based on the users skill sets and abilities. Adequate support The tool team developing the tool knows it completely as they go through each line of code. This means adequate support is always available. The tool can be modified or extended as and when required. Making the tool reusable The new tool can be developed by the tools team in such a way that it can be easily reused for other projects with slight modifications. Development of project asset The tool developed by the tools team can become a project asset. The organization can refine it later and use it in other projects. The organization can also patent it and explore market opportunities for it.

6 Case Study Development of Parser for Converting SWIFT Message into XML for SOA Testing on itko Lisa Introduction to SWIFT message The Society for Worldwide Interbank Financial Telecommunication (SWIFT) provides a network to allow financial and non-financial institutions (such as corporate establishments) to transfer financial transactions through a financial message.[7] Some examples of message standards supported by SWIFT are: SWIFT MT ISO MT ISO MX Project requirements itko LISA does not recognize a SWIFT MT message. It can only recognize XML. The requirement was to develop a solution that can parse SWIFT message to XML. XML needed be processed by LISA later post which it needed to be converted back to SWIFT and sent back to the application (which recognizes SWIFT). To achieve this, two tools were required: SWIFT to XML Parser XML to SWIFT Parser Introduction to itko LISA itko LISA is a middleware automation tool for Service Oriented Architecture(SOA) testing. itko LISA enables testing of individual components, process, and workflows during design and development, integration, and in completed applications in deployment. Individual functional tests and system-wide business processes are load tested using the same environment and test suites, with performance reporting and error checking within each test instance. [1] itko LISA solutions offer a unified solution for Testing, Validation and Virtualization. It provides three key capabilities to help firms mitigate risk and get better results from enterprise IT. Open source solutions available consultations with subject matter experts (SMEs), we found an open source solution termed WIFE. According to WIFE s documentation, this community is an open source Java library for SWIFT messages parsing, writing and processing. The main features of the solution are: Parsing of SWIFT MT messages into Swift Message Java objects Writing SWIFT MT messages from Swift Message Java objects De/Serialization of Swift Message objects into XML Hibernating the mappings for Swift Message objects Simplifying the persistence in applications

7 Problems faced using WIFE Most features were not useful: The WIFE package comes with more than 100 classes, out of which we required only three or four classes. The rest of the classes were never required in our project. Lack of knowledge or documentation: There was no documentation and no one in our team was aware of how the WIFE actually functions and how it can be integrated with itko LISA. Approvals for open source: WIFE being an open source solution, the stakeholders perceived it as unreliable. This meant that taking approval from the client was a challenge. Missing functionality: After thoroughly examining the requirement, we were not able to find out whether WIFE had the functionality for performing the required task or not. Going ahead with it was a risk. What we did After considering all the pros and cons, we decided to develop the parser from the ground up. We decided to build an application to identify the tags in SWIFT message and convert them into XML. Initial requirements The application should be able to read the SWIFT message from.txt file. After reading the message, the application must be able to process the SWIFT message. There could be a different number of blocks in each SWIFT message. Some messages could consist of 4 blocks while others could have 5 or more blocks. The application should be able to convert an XML message back to SWIFT message. The application should integrate with itko LISA. Requirements at later stage The application should be able to process multiple SWIFT messages in one.txt file, identify the start-and-stop sequence and mark the start and end. The multiple XMLs resulting from multiple SWIFT messages must be stored in different.xml files. The application should not be heavy. The road we took After understanding all the requirements we decided to code the parser. We had not finalized a specific technology for developing the parser. Therefore, we chose ASP.NET, the technology we already had with us.

8 Development of parser application using ASP.NET: ASP.NET is a Microsoft proprietary technology which is used for developing active server pages or, in simpler terms, web pages. We chose this technology for the development of the parser because we already had this application installed on our system. Requirements: Requirements Developing ASP. NET application Running ASP.NET application Software required Visual Studio Windows IIS Server We developed the ASP.NET application on Visual Studio We had IIS installed on our computers and we could easily see its working and integration with itko LISA. However, the problem occurred when we tried the same using the client s network. Challenges we faced: There was no IIS installed on the client s computer and therefore, we could not run the application. Even if we installed IIS on a computer in the client s network, we needed to have the administration rights on the machine, which was a challenge. Running an IIS server on a machine could create security issues in the client network. This meant finding an alternative. The next steps As we had Visual Studio installed on our machines, we decided to convert the application created in ASP.NET into a Windows console application.

9 Rewriting the code: As ASP.NET is a.net technology, converting its code into Windows console application was not a tedious task. Requirements: Requirements Developing Windows console application Running Windows console application Software required Visual Studio.NET Framework The Windows console application was the best and quickest way to eliminate the need for IIS on client machines. It also helped side-step administration related issues. Challenges we faced: We could not run the application because.net framework was not installed on the client machine. The final destination To avoid further delays, additional effort and rework, we analyzed the client machine and checked the framework installed. Since all the modern-day operating systems (OS) come with Java Runtime Environment (JRE) package, we decided to create the parser in Java. Place Swift message in _inputswift\\readswiftmsg.txt Converts all the swift message into xml and all the xml are stored in _tempfiles \\newfile.txt all xmls are seprated by ^ delimiter Divides all the xmls in.txt file that were delimited by^, into separate xml files and store it in _outputxml\\convertedxml1.xml Place Swift message in _inputswift\\readswiftnorkommsg.txt Converts all the swift message into xml and all the xml are stored in _tempfiles \\newfilenorkom.txt all xmls are seprated by ^ delimiter Divides all the xmls in.txt file that were delimited by^, into separate xml files and store it in _outputxml\\convertedxml1.xml Place XML File in _inputswift\\swift.xml Converts the xml and store in _ tempfiles\\reconvertedswiftmsg. txt Processes the swift message and generate.txt and.doc file for proper formatting. Figure 3: A representation of the information flow

10 Requirements: Basic architecture: Conversion of SWIFT MT message into XML The parser developed in Java consists of Requirements Software only six classes which can be packed and Conversion of Norkom SWIFT message required run on any machine with JRE. into XML Developing the parser in Java Running the application developed in Java Java Development Kit (JDK) and editor Java 2 Runtime Environment (JRE) Integration with LISA: We found out that the parser can be fully integrated with itko LISA as it comprises only.class files that are to be invoked. These can be easily invoked through the batch schedule. Currently we are working with the following: Conversion of XML back into SWIFT MT message Advantages of building parser from the ground up The parser we developed is light - there are only six classes for all the functioning required in our project. There are no integration issues. There are no licensing issues. Conclusion While creating a tool for the testing process, the testing team must have a clear and detailed picture of the client s requirements. In the case study we presented earlier, the requirement was to build a parser. If we explore the requirement further, the client needed a parser that was not built using any open source or closed source solution. The client wanted the parser to be developed in a way that eliminated the need for installing any framework. To conclude, it is important to focus on the development approach while developing custom-build tools. Impact and effort involved in using open and closed source alternatives as compared to custom building the solution must be properly assessed.

11 About the author Vaibhav Suneja A Test Analyst with 4.5 years of work experience across various platforms and technologies. He has a diverse experience in Testing tools design, development and resuse He can be reached at References Meffert, Klaus; Neil Rotstan (2007). Brief summary of coding style and practice used in JGAP. Java Genetic Algorithms Package. jgap.sourceforge.net/doc/codestyle.html. Retrieved List of MT and MX Messages. SWIFT. pdf document from August

12 For more information, contact 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

Case Study Improved Efficiency and Significant Cost Savings through a Flexible Managed Services Model Abstract Infosys partnered with a leading global insurance provider to set up a global Testing Center

White paper Master Data Management as a Solution Using SAP MDM and Complementing Technologies Abstract SAP MDM provides typical features of Data Consolidation, Management and Data Harmonization to be able

Case Study Improved Efficiency and Significant Cost Savings through a Flexible Managed Services Model Abstract Infosys partnered with a leading global insurance provider to set up a global Testing Center

Viewpoint Choosing the right automation tool and framework is critical to project success - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Introduction Organizations have become cognizant of the crucial

WHITEPAPER An ECM Journey Abstract Over the last few years, Enterprise Content Management (ECM) has evolved multifold. This paper describes the past, current and future state of ECM, and talks about the

Case Study Streamlined Operations Through New Business Process Transformation Abstract Infosys partnered with a Fortune 500, US life insurance company to enable its New Business vision with Straight through

November 2009 Answers to Top BRMS Questions Answers to ten frequently asked questions about what business rule management systems are and how they are used Brett Stineman Product Marketing, Business Rules

TeamCompanion Solution Overview Visual Studio Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform Technical Discussion David Churchill CEO DraftPoint Inc. The information contained in this document represents the current

zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

Introduction Building Mobile Applications for Java developers Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted,

Foglight 5.6.7 System Requirements and Platform Support Guide 2013 Quest Software, Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in

perspective Creating Business Value with Mature QA Practices Abstract The IT industry across the globe has rapidly evolved in recent times. The evolution has been primarily driven by factors like changing

Finacle Origination Gain superior agility and efficiencies with enterprise origination solution The recent global financial meltdown has reshaped the landscape of the lending business around the world.

Knowledge Driven Approach to Better Customer Service Experience The digital economy has changed the way businesses deliver customer service. Linear models have become obsolete and there is a pressing need

Service quality management solutions To support your business objectives Implement a unified approach to service quality management. Highlights Deliver high-quality software applications that meet functional

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as it could be? Borland Core SDP enables your IT organization

Component-Based Development With MQSeries Workflow By Michael S. Pallos Client Application Satisfying business needs while maintaining the flexibility to incorporate new requirements in a timely fashion

Data as a Service Virtualization with Enzo Unified White Paper by Blue Syntax Abstract: This white paper explains how companies can benefit from a Data as a Service virtualization layer and build a data

Product Complaints Management Infosys Handbook for Life Sciences Table of Contents Introduction 3 Infosys Point of View 4 Success Story - Complaint management for one of the world s top 5 bio-pharmaceutical

WHITEPAPER Automation in environment management: A wellspring of efficiency Abstract Agility is the key for the IT function in an organization to be able to respond quickly to changing business conditions.

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a

Microsoft SQL Server Master Data Services Roadmap Introduction In June 2007, Microsoft announced the acquisition of Stratature, a privately held company based in Alpharetta, Georgia, and a leading provider

Ebase Xi Agile Service Oriented Architecture Ebase Xi is an agile service oriented architecture that accelerates and simplifies the delivery of business applications. The Xi platform combines process management,

STeP-IN SUMMIT 2007 International Conference On Software Testing Implementation of Continuous Integration and Automated testing of a large scale web based application for a European by Amandweep Suresh

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING Application testing remains a complex endeavor as Development and QA managers need to focus on delivering projects on schedule, controlling costs,

Service management solutions To support your IT objectives Address IT costs and streamline operations with IBM service request and asset management solutions. Highlights Help service desk technicians become

SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible

9 June 2015 Michael Stroh BCS CMSG Conference Service Maps From Server to Service Management Agenda What is a Service Map? The Benefits of Service Mapping Service Maps Help Business Services Manual and

JBoss Enterprise BRMS Open source business rules management system What is it? JBoss Enterprise BRMS is an open source business rules management system that enables easy business policy and rules development,

SPAN White Paper Introduction Earlier, automation was custom developed. But today, all the tasks are executed through packaged applications that have reduced software development significantly. It makes

Case Study Reduced Total Cost of Ownership (TCO) and Increased Scalability with a New Accounting Solution Abstract Infosys partnered with a global specialty insurance and re-insurance company to implement

Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined

IBM WebSphere Message Broker To support your IT objectives Delivering a platform-independent based ESB for universal connectivity and transformation in heterogeneous IT environments. The evolution of application

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,