Case Study - Architecting Continuous Testing for Large-Scale Transformations_c
Case Study - Architecting Continuous Testing for Large-Scale Transformations_c
Case Study
Architecting Continuous Testing for
Large-Scale Systems Transformation
Outline agile testing framework for Agile testing capabilities and frameworks that
functional, integration testing other project can use
4
Testing Capability
Assessment
5
Testing Capability Assessment Approach
The assessment contained three phases including Current State
Assessment, Gap Analysis, and Recommendations
Study current state testing Compare current state findings to Develop recommendations to
Current capabilities known industry best practices improve current testing
Operating capabilities
Model Analyze Admin Program testing Identify capability gaps in
artifacts and tools to identify program test strategy and Align Admin Program test
Key Activities
Recommendations Roadmap
Deloitte
s
Experience
6
Testing Capabilities Assessment Summary
The following highlights the current, recommended, and final future
state maturity levels of each Admin Program testing capability
Key Observations
Capability Maturity Assessment Most capabilities did not exist, key
processes were undefined
0 1 2 3 4 5
Program test strategy was created
Test Governance but was outdated
Key
7
At the time of assessment Recommended State Final Future State
Testing Capability Enhancement Deliverables and Outcomes
The following capabilities were developed / enhanced as part of 2016
Admin Program functional and integration testing
Admin Program RACI, Communication Structure, Testing Clearly defined roles / expectations for multi-vendor
Test Governance Metrics and Reports projects, testing metrics / reports definition
Test Data Management Test Data Management Strategy and Framework Test data management strategy and tools defined
Admin Program Nonfunctional Test Types Definition and Test types and ownerships defined and executed with Life
Nonfunctional Testing Approach Insurance Company #1 and 3 rd party vendor
Admin Program Functional Test Types Definition and Functional test types, acceptance criteria, testing
Testing Types Approach objectives and ownership defined
Test Planning and Test approach for functional and integration testing,
Revised Admin Program Test Strategy, testing templates
Strategy templates for test scripts, defects, reports, metrics etc.
Test Environment and Test Environment and Release Management Processes and Processes defined for 3rd party builds / acceptance;
Release Management Framework implemented continuous builds testing
8
Deliverables Index Illustrative
A number of Agile testing tools and frameworks are available that we
will be happy to share with other testing project teams
9
Functional Testing
Capabilities
10
Functional Test Framework
This depicts the architectural view of functional test case development
framework
Test Case 1
5
System
Requirement Test Case 2 Test Suite 1
Life
s
Insurance
Company #1
L1/L2/L3/L4 Test Case 3
Requirement
s 6
Business Function Test Case 4
2 4
Library
1 (TFS / MTM Test Suite 2
Modules) Test Case 5
Business
Function
Catalogue
3
Test Data
Matrix
Test Suite n
Test Case n
Notes
1 Life Insurance Company #1 requirements were used to 4 Test cases were created by grouping reusable test modules
develop high level business functions and data
2 Business functions and system requirements were used to 5 Test cases were grouped together to create test suites. For
develop reusable test module in TFS / MTM example – End to End test suite
3 Reusable test data matrix was defined for each business 6 Test cases / suites were further used as input for automated
module testing
11
Platform independent
Functional Test Case Framework – Benefits
The following highlights the key benefits of functional testing approach
12
Business Function Catalog
The business function catalog is created using business requirements.
The modules are further fragmented into reusable test modules
Life Insurance
Company #1
Modular business function Test module id High level test
Business
used to define test steps MTM for data requirements
Requirements
and data traceability
ILLUSTRATIVE
ILLUSTRATIVE
Test Steps
Test Data 5
Matrix
Notes
1 Reusable test components aligned with business function 4 Test steps written for a test module / business function in TFS /
catalog MTM
2 System level components (PAS, Billing etc.) further broken down 5 Test modules / steps contain the input parameters needed to
into functional areas execute a business function
15
3 MTM test modules for each business function
Test Case creation using Business Function Library
After high level scenarios are identified, test case development involves
grouping the business functions in MTM
16
Functional Testing Deliverables
Following artifacts were delivered as part of 2016 functional testing for
Life Insurance Company #1 Admin Program
Deliverable Description
Requirements Traceability Mapping of functional test scenarios and cases to PAS and Billing
Matrix capabilities
Detailed test cases, execution steps, expected results and test data
Test Cases
requirements
Execution plan covering batch schedule, test case ownerships and testing
Test Execution Plan
calendar
Log of all the defects found during testing including their severity, priority,
Defect Logs
root cause and state at the time of reporting
Daily and test completion report encompassing testing highlights and take-
Test Reports – Daily, Test
aways, metrics, defects, risks / impediments, feedback on system
Completion 17
improvements
Integration Testing
Capabilities
18
Life Insurance Company #1 Integration Testing Approach
Ensure an appropriate data flow through each interface integration and
to third party
19
Integration Test Approach
Integration testing approach provides capabilities to test real-time, near
real-time and batch integrations
Data input systems e.g. Single batch / interface Database insert / update Utilities for automation
Salesforce
or workflow session UI systems /app validation and analysis
Flat file, XMLs
Real-time, Near real- Flat files, XMLs Defect management and
Database
time, Batch 3rd party file format reporting engine
3rd party file format
Real /
Pre- Post- Reporting
Near-Real
Scripts Scripts Engine
/ Batch
Automated tests and Batch scheduler / Processing and data Report triggers and
data creation automated workflows validation defect management
Key Accomplishments
Automated 76% End-to-end SIT test cases Reusable framework for web services and database
94% reduction in End-to-end test execution effort type of validations
(108 hours manual hours vs 6 hours using automation)
Matured automated test suite that is being executed 20
Deliverable Description
High level test scenarios to cover integration testing scope, including scenarios
Test Scenarios
by Life Insurance Company #1 BAs and developers
Requirements Mapping of functional test scenarios and cases to integration system / data
Traceability Matrix requirements
Detailed test cases, execution steps, expected results and test data requirements
Test Cases
including automated regression scripts
Log of all the defects found during testing including their severity, priority, root
Defect Logs
cause and state at the time of reporting
Test Reports – Sprint Sprint completion reports are reviewed during Sprint demos
Completion, Test Test completion to summarize the overall Life Insurance Company #1 Integration
Completion testing
21
Test Automation
Capabilities
22
Test Automation Capability Assessment Summary
The following was the outcome of the automation testing assessment
that we did for each test automation capability
Key
Modular and Data-Driven
No Capability Capability Partially Capability Fully
Exists Implemented Implemented
23
Test Automation Capabilities
Key capabilities needed for Life Insurance Company #1’s test
automation were prioritized and developed
Capability Description
Ability and ease of developing automated tests including by non-programmer users
Usability User guides to help setup and install the frameworks, execution and development manuals
Ability to make changes in the framework and scripts with minimum rework
Maintenance Ability to support frequent releases /sprint
Ability to reuse the framework, tests scripts and data across testing lifecycle
Reusability and Scalability Ability to scale up and accommodate new requirements, tests, tools and applications
Ability to define framework and test modules that encapsulate logical use cases
Modular and Data-Driven Ability to run tests with a varied range of test data
Test Type Support and Ability to support various testing types such as User Story, integration, end to end, regression, etc.
Testbed Maturity Clear definition of regression suite and availability of automated test scripts for various releases
24
Functional Test Automation Framework
The diagram depicts our automation framework for functional testing
Test Type
Coverage Framework Components Execution / Monitoring
Common Object
browser testing Repository TDD Approach
Utilities
Layer
Incremental
Layer
Integration testing
9 Parallel
Business Execution
Key
1 Manual Test Design 4 Test data components 7 Integration with CI / CD 10 Test execution reports
2 UI components and utilities 5 Exception handling and logging 8 TFS for source code management 11 Defect management
25
3 Business / functional components 6 Manual Test Execution 9 Multi-machine execution System-dependent components
Integration Test Automation Framework
The diagram depicts Integration testing capabilities
9
Request Response /
WSDL / Source Unit testing
Template Input
Batch Testing
2 Request Generator
10 Response /
Near real-time Testing
Result
5 7 Analysis
Payload Response
Real Time testing
Driver
Script
6 8 11 E2E Integration
Logging Results Defect testing
Management
Regression Testing
3 Test Generation
Batch Performance
Testing
Team Foundation Server
4
Test Case
Test Data
Selection
Key
1 Service provider for Web Service 4 Data generation tools 7 Response / interface output 10 Result analysis
2 Request XML / files generation 5 Request / response payloads 8 Execution results 11 Defect management
3 Test case ready to execute 6 Execution logs for troubleshooting 9 Test input
26
Automation Development and Execution flow
The automation test development and execution flow is shown below
Stakeholders
Reporting
Manual Test Cases The automation test execution
results are sent to QAs and
Stakeholders Execution on node machines
1 2
Select test Hub sends the tests to
Green 3
case for each node and when it is
scripts
automation Source code executed, the test results
TDD
Script verification on UI: repository are sent back to the hub
Automation engineer
verifies the script and
Testers submits it to the code
repository
Automation team collaborates with development
to get the ‘page source’ and mock-ups Smoke test will be executed after every build using Continuous Integration
Key
1 Test case selection for automation 3 Automation code repository 5 Machine that initiates test execution
2 Test-driven automation development 4 CI Server facilitates CI / CD 6 Machine that executes automated scripts
27
Test Automation Deliverables
Following artifacts were delivered as part of test automation for Life
Insurance Company #1 Admin Program
Deliverable Description
Test Automation Detailed report of Admin Program’s current state test automation capabilities
Assessment Report Recommendations and a roadmap to enhance test automation capabilities
Test Automation Proof of A proof of concept encompassing review of supplier’s automation framework
Concept An executive summary of framework capabilities; recommended next steps
Functional Test Test automation using Selenium framework for functional testing
Automation Framework Integration with TFS and Jenkins, select test cases for Salesforce and PAS
Integration Test Test automation using SoapUI framework for data pipeline testing
Automation Framework Supports near real-time, real-time and batch integration testing
End to end automated tests developed for Prospect and Opportunity data
Automated Regression
pipeline
Test Suite 76% of manual end to end test cases have been automated
28
Test Automation
Demo
29
About Deloitte
Deloitte refers to one or more of Deloitte Touche Tohmatsu Limited, a UK private company limited by guarantee (“DTTL”), its network of member firms, and their related
entities. DTTL and each of its member firms are legally separate and independent entities. DTTL (also referred to as “Deloitte Global”) does not provide services to
clients. Please see www.deloitte.com/about for a detailed description of DTTL and its member firms. Please see www.deloitte.com/us/about for a detailed description of
the legal structure of Deloitte LLP and its subsidiaries. Certain services may not be available to attest clients under the rules and regulations of public accounting.