testing as a driver for development change wall street systems graham thomas

19
Testing as a Driver Testing as a Driver for for Development Change Development Change Wall Street Systems Wall Street Systems Graham Thomas

Upload: juniper-palmer

Post on 14-Jan-2016

220 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

Testing as a Driver forTesting as a Driver forDevelopment ChangeDevelopment Change

Wall Street SystemsWall Street Systems

Graham Thomas

                                             

Page 2: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

2

AbstractAbstract

You have established a testing process but reached the point where to make further improvements you have to change the way development works.

So how do you go about changing the development lifecycle? What are the key areas to address, and how do you cope with the traditional problems of the relationship between the developers and the testers, organisational priorities assigned to testing, and the commercial realities of a software house.

This presentation is case study of work over the last year, kicking-off a change program, and the initiatives that have resulted.

Page 3: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

3

AgendaAgenda

Improving the testing process Analysis of the results Development Change Program Achievements to date Work still to do

Page 4: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

4

Test Process ImprovementTest Process Improvement

Test Strategy

Test Process

S

R

A

D

B U

I

A

UnitTesting

IntegrationTesting

SystemTesting

AcceptanceTesting

Stage Entry Stage Execution Stage Exit

Page 5: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

5

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

29/10/2001 13/11/2001 28/11/2001 13/12/2001 02/01/2002 17/01/2002 01/02/2002 18/02/2002

TST52 System Availability

Test Process ImprovementTest Process Improvement

Fault Database

Process Metrics

Page 6: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

6

Test Process AnalysisTest Process Analysis

STAGE ENTRY

Some software components delivered late

Incomplete documentation

Test environment availability

STAGE EXIT

High percentage of integration faults

Leading to a lack of test coverage

Project priorities steer testing

Page 7: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

7

Change ProgramChange Program

SoftwareManagement

ProgrammeOffice

Development Oracle/UnixDev. Env.

Unit/Int.Testing

TimelyDocuments

ReleaseMaintenance

ProcureCM Tool

SoftwareVersioning

ConfigurableItem Control

ChangeControl

Testing AutomatedTesting

RQMTSMgmt

EnvelopeReg. Test

Client BuildTesting

ReleaseManagement

Dev.Lifecycle

ChangeManagement

ProgrammeManagement

Short Term Mid Term Long TermStream

Page 8: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

8

Change Program ModelsChange Program Models

Incremental

Step Change

Thin Threads

Page 9: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

9

Achievements To DateAchievements To Date

Development LifecycleRequirements processTest AutomationUnit Testing ToolsConfiguration Management Development Partnership Programme

Page 10: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

10

Client Requirements Feasibility Design

Receive & Log Request

Validate Request

Request further info

Valid?

Business Process Analysis

Technical Infrastructure

Analysis

Workload Capacity Analysis

Auth.?Reject

Request

Review Commitment with Client

AuthorisedRequest

Cost Estimate

FA?

Design

Functional Specification

ReviewFunctional

Specification

ProgramSpecification

Build & Unit Test

EnhancementRequest

Additional Details

Planning Costings & Timing Info

Request Rejected

Client Acceptance

Implementation

Design?

Y

Y

Y

Y

ReviewProgram

Specification

RequirementsWorkshop

Release Test ImplementationBuild & Unit Test

Design UnitTest

Plan

Code & Review

Unit Test & Review

Integration Test & Review

Release Test

RT?

Test Pack Impact

Analysis

Review Results

Execute Release Test

Review Results

Update Release Test

Baseline

Implementation

Implementation Analysis

Software Management

Controlled Software Delivery

Upgrade Process

On-site Testing

Review Results

Y

Y

Client

EnvelopeTesting

ReviewResults

Upg?

Controlled Software Delivery

On-siteTest?

Y

Software Management

Development LifecycleDevelopment Lifecycle

Requirements Feasibility Design Build &

Unit Test Release

Test Implement

Requirements Feasibility Design Build &

Unit Test Release

Test Implement

EnvelopeTest

ControlledDelivery

Modified for Small items

Base Development Model

Page 11: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

11

RequirementsRequirements

Tightened up definitionTesting SpecificationAcceptance CriteriaClosely Monitored ProcessDrives development activityClearly defined targets

Page 12: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

12

Test AutomationTest Automation

Generated scripts for key functionality

Run on multiple PC’s controlled through a master

Developed the suite to run unattended and overnight

Successfully execute over 8,000 transactions in a single run

Page 13: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

13

Unit Testing ToolsUnit Testing Tools

Suite of unit testing toolsAutomatic Static Source Code AnalysisRuntime Error Analysis Automatic Performance Analysis and

OptimisationAutomatic Code Coverage AnalysisAutomatic Error Detection and Recovery

Page 14: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

14

Configuration Management Configuration Management

Identification of CI’sBranching strategyEnvironmental

requirementsStage 1

Secure source CI’s. Check Out/Check In 3 month time-box

Main

Release

Dev.

Client

Page 15: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

15

Development PartnershipDevelopment Partnership

Assisted Development

Hosted Test Lab

Remote Project Support

Hardware Lab

Testing Partnership

Requirements Feasibility Design Build &

Unit Test Release

Test Implement

Base Development Model

Page 16: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

16

Still to DoStill to Do

Roll-out Unit Testing ToolsCM Phase 2 – Process ChangeIntroduce Process Workflow with CRMIncrease coverage of automation suiteLeverage automation in other areasReview testing activities across the whole

company

Page 17: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

17

The Story So FarThe Story So Far

It is hard enough just changing the testing process

You need sponsorship and support to re-engineer the development lifecycle

Change is an inclusive processChange is continual

It is harder not to change !

Page 18: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

18

Where Value was AddedWhere Value was Added

Successes Test Process Improvement On-going Change Program Identified two-speed lifecycle Tool evaluation for CM & Unit Testing Broadened the view of quality from QC to QA

Failures Point solutions only No quick wins Pick & Mix approach by development

Page 19: Testing as a Driver for Development Change Wall Street Systems Graham Thomas

19

Contact DetailsContact Details

Graham Thomas

[email protected]

+44 (0)7973 387 853

www.badgerscroft.com