Course Overview
The Test Driven Development with Java presents a number of modern practices for developing code based on an iterative and incremental development lifecycle. Agility and predictability are two qualities often missing from software development.A test-driven approach, in which design is grown and code delivered incrementally according to functionality or risk, forms the basis of the construction phase of an iterative and incremental development. The use of unit testing provides confidence in existing code and supports the ability to refactor code as development unfolds.
The Test Driven Development with Java course is intended as a practical course: the best way to appreciate how test-driven development works and what it feels like is to do it in practice, making sense of the principles it embodies. In this form this course is based on lecture material, demonstration, discussion and hands-on labs.
Course Content
Agile Development Microprocess
- Traditional versus agile development processes
- Traditional versus agile development processes
- Informal and continuous design
- The role of refactoring
- Refactoring versus other code changes
- Extreme Programming
- Test-Driven Development
Testing in Principle
- Traditional view and reality of testing
- Driving development through testing
- Testing early, often and automatically
- Testing versus debugging
- White-box versus black-box testing
- Functional versus operational testing
Basic Unit Testing in Practice
- Test plans versus test code
- Use of assert
- Testing at the interface
- Testing the simplest things first
- Testing incrementally
- Testing correctness of failure
Overview of JUnit
- JUnit family
- Essential structure of the framework
- Assertion methods
- Testing correctness of exceptions
- JUnit pattern usage
- Extensions to JUnit
Common Refactorings
- Common Refactorings
- Restructuring class hierarchies by extracting interface classes,base classes and derived classes
- Partitioning classes by extracting classes and functions
- Changing private representation
Decoupling Techniques
- Unmanaged dependencies
- Test-driven decoupling
- Layering
- Eliminating cyclic dependencies
- Mock objects
- Eliminating Singletons, statics and other globals
Customer Reviews
Thanks to Xpertised and the tutor who walked me through all the topics with Practical exposure which is helping me in my current project.
-Waseem
Course was quite helpful in terms of understanding of concepts and practicality. Its really a very friendly environment to learn. The timing were mutually chosen, as we both are working professional.
I am quite satisfied with the course.
-Tanmoy
...more