Transcript
Page 1: Seminar 26.10.2006, Petri Heiramo

1 ©2005 SysOpen Digia Plc Company Confidential

Oulu Testing Seminar 26.10.2006

Petri HeiramoProcess Improvement Manager

SysOpen Digia Plc

Agile Testing Experiences

Page 2: Seminar 26.10.2006, Petri Heiramo

2 ©2005 SysOpen Digia Plc Company Confidential

Contents of the Presentation

• Current Agile status• Overall conclusions• Testing-related experiences

Page 3: Seminar 26.10.2006, Petri Heiramo

3 ©2005 SysOpen Digia Plc Company Confidential

Current Status

• Piloting Agile processes since April 2006• Majority actual customer projects

• Tested methodology – Scrum• Agile project management framework• Technical practices from XP

• Piloting has ended deployment to general use• Training and support• Recommendation to evaluate in all new projects

Page 4: Seminar 26.10.2006, Petri Heiramo

4 ©2005 SysOpen Digia Plc Company Confidential

Scrum Cycle

Page 5: Seminar 26.10.2006, Petri Heiramo

5 ©2005 SysOpen Digia Plc Company Confidential

Overall Conclusions

• Scrum improves project performance 50% increase in LOC/h

• Higher customer satisfaction• Concrete displays of progress• Better opportunities to provide feedback and control project direction• Better delivers what the customer really wants• Requires commitment from customer for best results

• Team morale improved• Improved visibility and tracking• Simpler project management

• Including requirements management• Daily Scrums are a best practice, recommendable even to non-agile

projects

Page 6: Seminar 26.10.2006, Petri Heiramo

6 ©2005 SysOpen Digia Plc Company Confidential

Story 1

Code

Test

Design

Specify

Story 2

Code

Test

Design

Specify

Story 3

Code

Test

Design

Specify

Waterfall Mindset

• The waterfall mindset is difficult to eliminate• People still view phases as a sequence• “Mini-waterfalls”

• Agile sprints require embedded “phases”

Specify

Design

Code

Test

Project start

Project endIncrement

startIncrement endSprintend

Sprint start

Page 7: Seminar 26.10.2006, Petri Heiramo

7 ©2005 SysOpen Digia Plc Company Confidential

Overall Testing Planning

• A vision of how testing is made in the project• Long-term view

• Elimination of manual regression test accumulation• Individual sprints

• Ensuring fast feedback• Testing in parallel with implementation

• Degree of automation• Tools

• Dependencies• Requirements• Addons

• Management of errors

Page 8: Seminar 26.10.2006, Petri Heiramo

8 ©2005 SysOpen Digia Plc Company Confidential

Testing Is a Team Effort

• An Agile team is a multi-disciplinary team for a reason• All roles can, and need to, support others

• Tests specify acceptance criteria – everyone needs to know them

• Encourage team effort in specifying and creating tests• Code is created to fulfill the tests

• Communication!• Testing must be key focus• Too easily software developers only consider their work and

sort of forget the testing• Estimation• Task planning

Page 9: Seminar 26.10.2006, Petri Heiramo

9 ©2005 SysOpen Digia Plc Company Confidential

Unit / Module Testing Focus

• Test at correct level• Focus on “stable” interfaces• You want to minimize rewriting tests when adding new functionality or

refactoring• Create simple tests

• Use setup and teardown functions to “hide” environmental complexity from the test

• Easy to change• Lower threshold to discard and rewrite

• Testing the UI has to be made with adequate tool• Minimize the UI layer as much as sensibly reasonable (“Thin UI”)• Start unit/module testing underneath that layer• Automate UI layer testing through the UI itself (AppTest)

• Reduce dependencies with stubs and mock objects• Preferably Test-Driven Development

Page 10: Seminar 26.10.2006, Petri Heiramo

10 ©2005 SysOpen Digia Plc Company Confidential

Test-Driven Development

• Design test run test implement code test refactor

• Changing the way developers work is hard

• No matter how convincing the benefits, changing people’s behaviour is difficult, even for the people themselves

• Requires effective tool support• Good OO design skills are necessary

• Creating an elegant, extendable and testable design requires effective use of OO design principles

• Greatest benefits can be reaped in long projects

Page 11: Seminar 26.10.2006, Petri Heiramo

11 ©2005 SysOpen Digia Plc Company Confidential

Summary

• Agile works

• Eliminate “mini-waterfalls”• Create overall vision for all testing• Make testing is a team effort• Focus tests correctly• Develop TDD culture

Page 12: Seminar 26.10.2006, Petri Heiramo

12 ©2005 SysOpen Digia Plc Company Confidential

Thank You!

[email protected]


Recommended