190 likes | 336 Views
Testing as a Driver for Development Change. Graham Thomas. Wall Street Systems. Abstract. You have established a testing process but reached the point where to make further improvements you have to change the way development works.
E N D
Testing as a Driver forDevelopment Change Graham Thomas Wall Street Systems
Abstract • 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. 2
Agenda • Improving the testing process • Analysis of the results • Development Change Program • Achievements to date • Work still to do 3
Stage Execution Stage Exit Test Process Improvement • Test Strategy • Test Process R A A S D I B U Unit Testing Integration Testing System Testing Acceptance Testing Stage Entry 4
Test Process Improvement • Fault Database • Process Metrics 5
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 Test Process Analysis 6
Configurable Item Control Change Management Release Management Programme Management Release Maintenance Oracle/Unix Dev. Env. Client Build Testing Automated Testing Timely Documents Software Versioning Envelope Reg. Test Procure CM Tool Dev. Lifecycle Unit/Int. Testing RQMTS Mgmt Change Control Development Testing Software Management Programme Office Stream Short Term Mid Term Long Term Change Program 7
Change Program Models • Incremental • Step Change • Thin Threads 8
Achievements To Date • Development Lifecycle • Requirements process • Test Automation • Unit Testing Tools • Configuration Management • Development Partnership Programme 9
Requirements Feasibility Design Build & Unit Test Release Test Implement Development Lifecycle Base Development Model Modified for Small items Requirements Feasibility Design Build & Unit Test Envelope Test Release Test Implement Controlled Delivery 10
Requirements • Tightened up definition • Testing Specification • Acceptance Criteria • Closely Monitored Process • Drives development activity • Clearly defined targets 11
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 Test Automation 12
Unit Testing Tools • Suite of unit testing tools • Automatic Static Source Code Analysis • Runtime Error Analysis • Automatic Performance Analysis and Optimisation • Automatic Code Coverage Analysis • Automatic Error Detection and Recovery 13
Configuration Management • Identification of CI’s • Branching strategy • Environmental requirements • Stage 1 • Secure source CI’s. • Check Out/Check In • 3 month time-box Client Release Main Dev. 14
Requirements Feasibility Design Build & Unit Test Release Test Implement Development Partnership Base Development Model Assisted Development Hosted Test Lab Remote Project Support Hardware Lab Testing Partnership 15
Still to Do • Roll-out Unit Testing Tools • CM Phase 2 – Process Change • Introduce Process Workflow with CRM • Increase coverage of automation suite • Leverage automation in other areas • Review testing activities across the whole company 16
The 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 process • Change is continual • It is harder not to change ! 17
Where 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 18
Contact Details Graham Thomas • graham@badgerscroft.com • +44 (0)7973 387 853 • www.badgerscroft.com 19