Test-Driven Development: A Practical Guide: A Practical Guide
Besorgung - Lieferbarkeit unbestimmt
BeschreibungThis book teaches programmers how to practice Test Driven Development (TDD), also called Test First Development. Contrary to the accepted approach to testing, when you practice TDD you write tests for code before you write the code being tested. This book is about how to design and drive your development by writing unit tests first to define, specific, illustrate, limit, and drive your code, resulting in documented, tested, code that is as simple and lean as possible. It also talks about tools and techniques, with copius examples (an entire projct, end to end) and exercises.
InhaltsverzeichnisForeword. Preface. I. BACKGROUND. 1. Test-Driven Development. What Is Test-Driven Development? Let the Computer Tell You. A Quick Example. Summary. 2. Refactoring. What Is Refactoring? When to Refactor. How to Refactor. Some Important Refactorings. Refactoring to Patterns. Summary. 3. Programming By Intention. Names. Simplicity. Warranted Assumptions. How to Program by Intention. "No Comment". Summary. II. TOOLS AND TECHNIQUES. 4. JUNIT. Architectural Overview. The Assertions. Writing a TestCase. Running Your Tests. Using setUp() and tearDown(). Using TestSuite. How Does It All Fit Together? Where Do Tests Belong? Tips. Summary. 5. JUNITEXTENSIONS. Standard Extensions. Adding Missing Asserts with MockObjects. Performance and Scalability with JUnitPerf. Daedalos JUnit Extensions. Writing XML-Based Tests with xmlUnit. Gargoyle Software JUnit Extensions. 6. JUNIT-Related Tools. Jester. NoUnit. Clover. Eclipse. IDEA. 7. MockObjects. Mock Objects. An Illustrative Example. Uses for Mock Objects. Wouldn't It Be Nice? A Common Example. The MockObjects Framework. MockMaker. EasyMock. Summary. 8. Developing a GUI Test-First. The Example. The AWT Robot. Brute Force. JFCUnit. Jemmy. Ultra-Thin GUI. Summary. III. A JAVA PROJECT: TEST-DRIVEN END TO END. 9. THEPROJECT. Overview. User Stories and Tasks. 10. Movie List. Make a Movie Container. Make a Movie List GUI. Add a Movie in the GUI. Retrospective. 11. Movies Can Be Renamed. Support Movie Name Editing. Movie Rename GUI. Retrospective. 12. Movies Are Unique. Movies Are Unique. Error Message on Non-Uniqueness. Retrospective. 13. Ratings. Add a Single Rating to Movie. Show the Rating in the GUI. Edit the Rating. Retrospective. 14. Categories. Add a Category. Show the Category in the GUI. Add a Selection of Category. Retrospective. 15. Filter On Category. Get a Sublist Based on Category. Support an ALL category. Add a Category Selector to the GUI. Handle Changing a Movie's Category. Interface Cleanup. Retrospective. 16. Persistence. Write to a Flat File. Save-As in GUI. Save in GUI. Read from a Flat File. Load in GUI. Retrospective. 17. Sorting. Compare Movies. Sort a MovieList. Ask a MovieListEditor for Sorted Lists. Add a Way to Sort to the GUI. Retrospective. 18. Multiple Ratings. Multiple Ratings. Rating Source. Revised Persistence. Show Multiple Ratings in the GUI. Add a Rating in the GUI. Remove the Single-Rating Field. Retrospective. 19. Reviews. Add a Review to Ratings. Save Review. Load Review. Display Review. Add a Review. Retrospective. 20. Project Retrospective. The Design. Test vs Application. Test Quality. Our Use of Mocks. General Comments. Debugging. List of Tests. Summary. IV. XUNIT FAMILY MEMBERS. 21. RUBYUNIT. 22. SUNIT. 23. CPPUNIT. 24. NUNIT. 25. PYUNIT. 26. VBUNIT. V. APPENDICES. Appendix A: Extreme Programming. The Agile Revolution. eXtreme Programming. The Four Variables. The Values. The Practices. Summary. Appendix B: Agilemodeling. The Myths Surrounding Modeling. An Introduction to Agile Modeling (AM). What Are Agile Models? Appendix C: Online Resources. Forums. Information on Agile Processes. Information on Extreme Programming. JUnit-Related Software. JUnit-Related Information. Tools. Other XUnit Family Members. Companies. Miscellaneous. Appendix D: Answers To Exercises. Bibliography. Index.
PortraitDave Astels has close to twenty years' experience as a software developer in areas ranging from embedded environment control to intellectual property protection systems to electrical energy trading systems. For more than a decade, he has been working exclusively with object technology. He runs his own consulting company specializing in Extreme Programming and pervasive Java solutions. He is the co-author of A Practical Guide to extreme Programming (ISBN 0130674826).
Untertitel: A Practical Guide. 'Coad'. Second. Sprache: Englisch.
Verlag: PRENTICE HALL COMPUTER
Erscheinungsdatum: Juli 2003
Seitenanzahl: 592 Seiten