Book contents
- Frontmatter
- Contents
- Foreword by Bob Bartlett
- Acknowledgments
- 1 Introduction
- PART 1 REVIEW OF OLD-SCHOOL AND AGILE APPROACHES
- PART 2 EVERYONE IS DIFFERENT: AGILE CASE STUDIES
- 4 From Waterfall to Evolutionary Development and Test
- 5 How to Test a System That Is Never Finished
- 6 Implementing an Agile Testing Approach
- 7 Agile Testing in a Remote or Virtual Desktop Environment
- 8 Testing a Derivatives Trading System in an Uncooperative Environment
- 9 A Mixed Approach to System Development and Testing: Parallel Agile and Waterfall Approach Streams within a Single Project
- 10 Agile Migration and Testing of a Large-Scale Financial System
- 11 Agile Testing with Mock Objects: A CAST-Based Approach
- 12 Agile Testing – Learning from Your Own Mistakes
- 13 Agile: The Emperor's New Test Plan?
- 14 The Power of Continuous Integration Builds and Agile Development
- 15 The Payoffs and Perils of Offshored Agile Projects
- 16 The Basic Rules of Quality and Management Still Apply to Agile
- 17 Test-Infecting a Development Team
- 18 Agile Success Through Test Automation: An eXtreme Approach
- 19 Talking, Saying, and Listening: Communication in Agile Teams
- 20 Very-Small-Scale Agile Development and Testing of a Wiki
- 21 Agile Special Tactics: SOA Projects
- 22 The Agile Test-Driven Methodology Experiment
- 23 When Is a Scrum Not a Scrum?
- PART 3 AGILE MY WAY: A PROPOSAL FOR YOUR OWN AGILE TEST PROCESS
- APPENDIX A The Principles of Rapid Application Development
- APPENDIX B The Rules and Practices of Extreme Programming
- Appendix C The Principles of the Dynamic Systems Development Method
- Appendix D The Practices of Scrum
- APPENDIX E Agile Test Script Template
- Appendix F Agile Test Result Record Form Template
- Appendix G Agile Test Summary Report Template
- Appendix H My Agile Process Checklist
- References
- Index
11 - Agile Testing with Mock Objects: A CAST-Based Approach
Published online by Cambridge University Press: 26 October 2009
- Frontmatter
- Contents
- Foreword by Bob Bartlett
- Acknowledgments
- 1 Introduction
- PART 1 REVIEW OF OLD-SCHOOL AND AGILE APPROACHES
- PART 2 EVERYONE IS DIFFERENT: AGILE CASE STUDIES
- 4 From Waterfall to Evolutionary Development and Test
- 5 How to Test a System That Is Never Finished
- 6 Implementing an Agile Testing Approach
- 7 Agile Testing in a Remote or Virtual Desktop Environment
- 8 Testing a Derivatives Trading System in an Uncooperative Environment
- 9 A Mixed Approach to System Development and Testing: Parallel Agile and Waterfall Approach Streams within a Single Project
- 10 Agile Migration and Testing of a Large-Scale Financial System
- 11 Agile Testing with Mock Objects: A CAST-Based Approach
- 12 Agile Testing – Learning from Your Own Mistakes
- 13 Agile: The Emperor's New Test Plan?
- 14 The Power of Continuous Integration Builds and Agile Development
- 15 The Payoffs and Perils of Offshored Agile Projects
- 16 The Basic Rules of Quality and Management Still Apply to Agile
- 17 Test-Infecting a Development Team
- 18 Agile Success Through Test Automation: An eXtreme Approach
- 19 Talking, Saying, and Listening: Communication in Agile Teams
- 20 Very-Small-Scale Agile Development and Testing of a Wiki
- 21 Agile Special Tactics: SOA Projects
- 22 The Agile Test-Driven Methodology Experiment
- 23 When Is a Scrum Not a Scrum?
- PART 3 AGILE MY WAY: A PROPOSAL FOR YOUR OWN AGILE TEST PROCESS
- APPENDIX A The Principles of Rapid Application Development
- APPENDIX B The Rules and Practices of Extreme Programming
- Appendix C The Principles of the Dynamic Systems Development Method
- Appendix D The Practices of Scrum
- APPENDIX E Agile Test Script Template
- Appendix F Agile Test Result Record Form Template
- Appendix G Agile Test Summary Report Template
- Appendix H My Agile Process Checklist
- References
- Index
Summary
SYNOPSIS
This case study examines the practical application of Java mock object frameworks to a system integration project that used test-first development and continuous computer-aided software testing (CAST).
Mock object frameworks allow developers to verify the way in which units of software interact – by replacing any dependencies with software that simulates them in a controlled manner. The case study explores the problems encountered with this approach and describes the subsequent development of SevenMock – a simple new framework that overcomes many of these issues.
Introduction
My name is Colin Cassidy. I'm a software architect for Prolifics – a systems integration company that specializes in IBM technologies. Coming from a software development background, I have ten years' experience in the IT industry. I have performed a number of roles, including software architect, systems analyst, developer, and development process engineer. This has been mainly in the retail, telecom, and finance sectors.
My interest in software testing stems from a desire to build better software and to find better ways of building that software. Having practiced development and testing on a number of project types ranging from the very agile to the very structured, I have experienced the problems caused by too much automated testing as well as those caused by too little.
This case study describes a Java system integration project that used test-first development and continuous automated regression testing.
- Type
- Chapter
- Information
- Agile TestingHow to Succeed in an Extreme Testing Environment, pp. 72 - 80Publisher: Cambridge University PressPrint publication year: 2009