EXIGEN® SERVICES:
TESTING SERVICES WHITE PAPER
1. SUMMARY 2. TESTING SERVICES OVERVIEW 2.1. TEST AUTOMATION SERVICES 2.2. MANUAL TESTING SERVICES 2.3. PERFORMANCE AND LOAD TESTING SERVICES 2.4. LEGACY REJUVENATION SERVICES 2.5. SECURITY TESTING SERVICES 3.
METHODOLOGY OVERVIEW
3.1. DATA PROTECTION AND CONFIDENTIALITY 3.2. COLLABORATION WITH THE CLIENT 4.
ABOUT EXIGEN® SERVICES
FACTS AND FIGURES
SUMMARY
Ŷ Headquarters: San Francisco, USA
Exigen Services offers a broad range of bespoke application testing services aimed at assuring quality of software deliverables while minimising software project risks and reducing total cost of ownership through a combination of process improvement, test automation and “right-shore” service delivery approach.
Ŷ Main offices and delivery centers: USA: New York Europe: London, Frankfurt, Stockholm, Copenhagen, Riga, Vilnius Russia: St. Petersburg, Kazan, and Nizhniy Novgorod Ukraine: Dnepropetrovsk and Odessa Belarus: Minsk China: Suzhou Ŷ Number of employees: 2000
Testing services are delivered by a global SQA practice and amalgamate over 15 years of experience accumulated on a multitude of software development and testing projects, expertise in developing bespoke testing tools, best practices and thought leadership refined through active participation in International Software Testing Qualifications Board (ITSQB) and other industry-wide forums. Exigen Services follows value-driven governance model principles and employs rigorous, 5 phase approach delivering testing services: Discovery: During the Discovery Phase Exigen Services collects key facts and readily available metrics data about the testing processes, environments, tools used by the client. The results of this phase serve as a foundation for tailoring our testing services to deliver maximum value in the shortest period of time to the client.
Ź
Assessment: During this phase Exigen Services works together with the Client to define required testing process changes, key performance indicators, SLA, success criteria and ROI estimate. The assessment phase delivers clearly defined roadmap for testing process improvement complete with the timeline for delivering cost savings and other business benefits to the Client organisation.
Ź
Initiation: During the Initiation Phase Exigen Services introduces necessary testing process changes to the client organisation, deploys tools required, performs transfer of subject matter expertise, training and establishes value governance mechanisms. At the end of the initiation phase both Client and Exigen Services are ready to implement testing services improvements.
Ź
EXIGEN SERVICES SQA PRACTICE Ŷ Over 250 dedicated quality engineers, many of whom have certifications from well-respected authorities such as International Software Testing Qualifications Board (ISTQB) Ŷ Combines 1000’ man/years experience of mission-critical software testing project in industries such as financial services, telecommunications and healthcare Ŷ Lead by Girts Baltaisbrencis, chair of Latvian Software Testing Qualifications Board (LSTQB)
Transition: During this phase Exigen Services starts delivering requested testing services using newly defined process model. The transition phase enables both the Client and Exigen Services to validate the assumptions made during the assessment phase and make adjustment to the process if required. The transition phase considered completed when the process is operating smoothly and relevant success criteria has been met.
Ź
Acceleration: The acceleration phase covers continuous operation of the testing services managed by the value-governance framework. Exigen Services measures the performance of the services delivered against the key performance indicators and SLA as well as implements incremental process improvements to maximise the value delivered to the client and to adapt to changes in business requirements and priorities.
Ź
This unique approach benefits our clients by building a clear decisionmaking framework that provides in-depth long-term alignment with the supplier, assures the business value of the services delivered and supplies best industry practices to the client organisation. 02
TOOLS AND TECHNOLOGY EXPERTISE Ŷ HP Quality Center Ŷ Microsoft Application Center Test Ŷ In-house bespoke test-management tools TEST AUTOMATION TOOLS Ŷ HP QuickTest Professional Ŷ Segue SilkTest Ŷ IBM Rational Robot Ŷ Selenium
Exigen Services capability to supply both software development and testing services enables us to effectively share subject matter expertise on the project and as result deliver much higher levels of productivity in both areas. Due to this and combined with round-the-clock working model through our presence through out North America, Europe and Asia as well as labour pool elasticity to address peaks in testing workload Exigen Services consistently deliver against compressed project schedules and provides Clients with lower cost and better time-to-market for their projects. Our extensive capabilities and expertise, focus on working in close alignment with the client to deliver tangible business results supported by a proven track record of successful projects was recognised by Brown and Wilson’s Black Book of Outsourcing who rated Exigen Services as the No. 1 outsourcing vendor for software testing and quality assurance in 2008.
Ŷ AutomatedQA TestComplete Ŷ Compuware TestPartner PERFORMANCE AND STABILITY TEST TOOLS Ŷ HP LoadRunner Ŷ Grinder SECURITY TESTING TOOLS Ŷ HP Application Security Center Ŷ Fortify Ŷ Web Scarab
TESTING SERVICES Exigen Services recognises that most clients face unique challenges in their software development projects and offers testing services which are specifically tailored to meet those challenges and achieve business goals required by the client. Those services combine number of testing functions including: Ź Ź Ź Ź Ź Ź Ź Ź Ź
software testing process improvement, test case design, test data management, manual test execution, test automation, legacy code rejuvenation, performance and load testing, security testing as well as many others.
Some of those functions are outlined below. Comprehensive reporting is provided during the course of the testing activities and upon the completion of each test run giving our clients realtime insight into the progress of the project and quality of the software artefacts under test. Test progress report includes current status of testing effort against the plan milestones down to individual tasks and test cases, variety of quality and performance metrics including defect density, code coverage and test success rates, prioritised list of outstanding issues blocking further progress. The final test report provides quality metrics and other related information of the release package, including test scope, tested environments, summary of bugs and issues still open, failed or test not attempted.
TEST AUTOMATION SERVICES Test automation is essential in assuring the long-term project success. As software projects mature the cost of regression and system testing is often becoming the primary cost driver for any functional changes and improvements.
03
CASE STUDY Ŷ Objectives Automate regression testing process of a SAP based billing systems for one of the major UK utility companies to reduce release costs and minimise software change risks Ŷ Scope Designing automated test scenarios, implementing automation system and integration tests, implementing automated test status reporting. preparing test data, managing test environment, ongoing test automation improvements. Ŷ Project size and duration
ǩEXVLQHVVDQDO\VWDQGWHVW automation specialists ǩPRQWK
Ŷ Results
ǩ,7PDQDJHPHQWSURYLGHGZLWK a clear and reliable “Go/No Go” recommendation for releasing into production ǩPRQWK
Unless there is a robust test automation framework in place the Client will end up with the significant amount of code debt often failing to realise full return on the initial investment made in the software project. Test automation services supplied by Exigen Services include the development of initial test automation harness, test execution and ongoing maintenance of the test harness. Those services provide our Clients with a cost-effective solution to deliver test automation as an integral part of the software project deliverables. Automation covers repetitive testing and reporting activities freeing test engineers on higher value and higher complexity tasks such as verifying software defects reported in production, designing test cases for new functionality, etc. Developing and maintaining test automation harness can be a significant effort in itself. If left unchecked this effort can be comparable or event exceed the effort required to deliver the actual software. Exigen Services approach to test automation is based on determining the optimal level of automated test coverage for the software project and selecting a combination of automation technologies that would deliver desired level of coverage within set cost constrains.
MANUAL TESTING SERVICES Manual testing complements test automation covering areas which are not cost effective to automate. It also used for software projects with high rate and scope of changes and when the project is considered a one-off effort without any need for future enhancements or maintenance. Services provided by us include exploratory, functional, system, smoke, acceptance, configuration, regression and other more specialised testing activities. Test are executed according to well defined test plans and test cases. Maintaining the effectiveness of manual testing as measured by defect containment ratio and test success rate metrics is an essential element of the service. Exigen Services testing team continuously monitors those metrics and re-factors manual test cases and test plans to ensure the metrics stay within required boundaries.
PERFORMANCE AND LOAD TESTING SERVICES Application performance and stability characteristics are the critical success factor for almost any software project. Although number of empirical performance modelling methodologies exists they are inherently complex and could be difficult to apply on real-life software projects to provide reliable results before the deliverables are functionally complete. Thus introducing the performance and stability testing early in the software development project allows identifying any bottlenecks while the cost of change is low and ensures the project will be delivered on time and on budget. Performance and load testing services provided by Exigen Services include the development of the performance test harness, test execution and maintaing the performance tests in lock-step with application functionality. In addition to providing comprehensive reporting on the application performance to the development team and other stakeholders our test engineers bring wast amount of performance engineering experience to the project team.
04
If required they can provide an extensive advice on how to overcome performance and stability bottlenecks identified in the application with minimal impact on the code already developed. Performance testing requires comprehensive software tools and considerable hardware and network resources. The associated costs are often disproportionate when taken in the context of a single software project. As part of performance and load testing services Exigen Services provides the use of our in-house fully equipped performance lab allowing to simulate significant load volumes, specific load patterns, network topologies and failure scenarios.
LEGACY REJUVENATION SERVICES Legacy applications present a significant challenge to the IT organisation due to high maintenance costs caused by historical code debt and drain of application expertise over time. Wholesale replacement of legacy applications is often requires a fundamental changes in the application landscape and depends on business knowledge no longer readily available in the Company. Risk mitigation costs make legacy replacement prohibitively expensive. Legacy rejuvenation services offered by Exigen Services allow Clients to significantly reduce legacy maintenance costs and significantly reduce the risk of legacy application transformation or replacement. This is achieved by introducing high levels of the automated unit testing coverage to the existing code base which enables to reduce the scope of code changes during the maintenance process and protects against any regression issues introduced to production. The services includes detailed analysis of data flows and application code base, analysis of historical and planned release activity as well as historical data on application downtime, defects and maintenance costs. Based on this analysis Exigen Services team determines how application maintenance units must be defined and implements corresponding unit testing code, reference data and coverage metrics.
SECURITY TESTING SERVICES Security compliance is a compulsory part of the release criteria for both internally and externally facing applications for the majority IT organisations. Security testing is a multi-dimensional concern requiring comprehensive expertise. Companies are challenge to both retain and effectively utilise such expertise while supporting peak demands in security testing created by application release schedules. Exigen Services enables our clients to address both those challenges by defining a security testing regime designed to meet Client’s security policy requirements and by providing a flexible pool of highly qualified security testing personnel. Our security testing services are based on a combination of automated security scans using leading commercial and open source tools and focused manual security code reviews of the critical software components. The services include but not limited to security requirements and threat analysis; establishing appropriate security design guidelines; carrying out periodic security architecture, design and code reviews and incorporating security testing into unit, regression and functional testing activities.
05
METHODOLOGY OVERVIEW Exigen Services testing methodology consists of well-defined phases, tasks and deliverables and includes clear recommendations on how to tailor those for specific Client requirements, environment and business priorities. This methodology is an evolving system absorbing industry best practices as they develop over time and incorporating the experience and Client feedback from the projects completed by us. Our methodology that the Client will have clear understanding on what testing tasks will be carried out and how. It includes definitions for all key activities such as: designing test cases to maximise test success rate defining test sets for execution a specified testing type on a given build or package, Ź executing tests and report defects Ź performing regression testing and verify high severity defect fixes, Ź verifying lower priority defect fixes, Ź generating test execution reports and collect test execution metrics, as well as many others. Ź Ź
During the test design and review sessions Exigen Services specialists ensure 100% functional coverage and required levels of code coverage all. We plan each test run to maximise test success rate, discover high severity issues as early in the cycle as possible and reduce the duration of the test cycle while reaching required levels of coverage. Exigen Services uses clearly defined and agreed with the Client criteria to assign defect severities and follows mutually agreed procedures reporting the defects discovered and providing comprehensive information necessary for defect resolution. This ensures there is no unnecessary communication round trips between development and testing personnel and ensures high productivity for both teams as well as enabling Exigen Services to provide services in geographically distributed software development environments and across multiple time zones. This methodology has been successfully applied with variety of Agile (including Test Driven Development (TDD), Scrum and the Dynamic Systems Development Method (DSDM)), iterative and waterfall based software development processes. During the assessment phase of an engagement Exigen Services specialists define how the methodology would be tailored to ensure smooth operation of the combined team while minimising disruption for the Client’s development organisation.
DATA PROTECTION AND CONFIDENTIALITY At Exigen Service we understand the critical importance of ensuring data security and confidentiality when working on Client project as well as legal data protection requirements applicable in variety of jurisdictions our Clients are operating in. The methodology stipulates that the sensitive client data must not be used in testing services unless absolutely required. As a standard practice unless dedicated test data is provided by the Client we anonymise any Client data used for testing and, if necessary, use “synthetic” test data generated with the tools developed for this purpose in the course of the testing project.
06
When testing activities must be performed using real and sensitive data this is done only by authorised personnel in secure Client environment either via remote connectivity or through an on-site placement.
COLLABORATION WITH THE CLIENT The success of the testing project often depends on the close collaboration with the Client’s business users, development and operations teams. Our approach is to assign qualified test engineers with the relevant business domain expertise and involve them in the software development life cycle as early as possible. This approach ensures solid understanding of the business needs the project is aimed to address and enables Exigen Services test engineers to detect discrepancies between the stake holder expectations, specifications and software behaviour early in the project cycle. As result this reduces the cost of corrections required and improves the performance of combined testing and development team. Exigen Services test engineers actively communicate with the development team and other project stakeholders while remaining independent quality assessors. The deliverables they provide are not limited to identifying software defects and publishing test reports, but also include project level (defect containment effectiveness, mean time to defect resolution, etc.), product level (defect density, test automation coverage, etc.), root cause analysis data, and other information that helps the development team and other project stakeholders to maintain comprehensive and objective understanding of the project status. The methodology requires Exigen Services testing team to hold a project retrospective review with all project stakeholders at the end of each testing cycle. The retrospective review enables and encourages all project participants to reflect on the project progress and identify actionable improvement opportunities. Close collaboration between the testing team and other project stakeholders defined by Exigen Services methodology ensures that the testing team is adding value to all project functions through out the course of the project. This leads leads to the better cohesion between the teams and, by extend, to a higher productivity of the project team as a whole.
COLLABORATION WITH THE CLIENT
ABOUT EXIGEN® SERVICES
345 California Street, 22nd Floor, San Francisco, CA 94104 USA
[email protected] Phone: +7 812 327 9900 Anastasia Novoseltseva, marketing communications director, Exigen Services For information on Exigen Services call your local worldwide sales, service and technical support offices: www.ExigenServices.com
Exigen Services is the leading application outsourcing services provider, combining world class skills, recognized expertise in development methodologies, and industry experience to reduce risks, lower costs and deliver results. Exigen Services has pioneered a new approach to global application outsourcing, Outsourcing 2.0, which includes commercial terms that optimize financial alignment between the client and vendor. As a result, Exigen Services makes IT outsourcing a much easier and more beneficial undertaking for global enterprises. Since 2000, Exigen Services has been the global leader in the use of distributed Agile methods for rapid and precise systems development throughout the banking, insurance, brokerage, healthcare, telecommunications, government and media industries. Exigen Services has achieved high honors in a variety of independent lists and rankings, including Brown & Wilson’s Black Book of Outsourcing in 2008, Global Services 100 in 2009, Global Outsourcing 100 in 2009 and Inc Magazine’s 2009 Inc5000. Exigen Services is also a top 10 provider of outsourced product development. Clients range from mid-sized growth companies to Fortune 500 organizations, and include Sun Microsystems, CSC, Universal Music Group, Standard & Poor’s, T-Mobile, Westpac Bank and many others. For more information, visit www.exigenservices.com.
RANKINGS AND AWARDS Inc. 5000 Ranking 2009 Global Services 100 2009 Black Book of Outsourcing 2008: Software Testing and Quality Assurance Services #1Global Ź Outsourcing 100 Ź Ź Ź
www.ExigenServices.com Copyright © 2009 Exigen Services. All rights reserved. Exigen is a registered trademark of Exigen Group, Ltd. Used by permission. Other product and company names listed may be trademarks or trade names of their respective companies. All of the specifications shown in this brochure are subject to change without notice.
08