Test Driven Development (TDD) in Java
Test-driven development is one of the key enablers for agile development, that allows us to develop stable and refactorable code, whose intent is clear and whose design can evolve incrementally. TDD allows us to capture and validate the rules governing the behaviour of our code. There's a bunch of interesting tools available to assist us in developing robust tests, in identifying which tests to write, to help us compose tests and to automatically run our tests.
Book your team training at your premises
- More info
- Date and time to suit you
- VenueWe will train your team
at your offices
- CostContact us for price
- Fill in the form and we'll be in touch
within 15 minutes (Mon-Fri 9-5)
The training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice. The exercises specifically build on what has been recently taught and are built up as the training course progresses.
This training course is aimed at Java developers and analysts, typically in the context of adopting agile development practices.
- Use the JUnit and mocking libraries to write tests
- Run tests from an IDE and from Maven build scripts
- Apply patterns and practices for writing testable code
- Extend the scope of tests into analysis, design and documentation
- Use tests to communicate with the customer
TDD offers a wealth of benefits to your organisation, it can cut development costs for example. Shorten the development Time to Market and increase the programmer’s productivity. As well as encouraging the writing of quality code.
TDD has many benefits but it can be hard to learn alone. This course will help you write effective, organized and neat code that works. It will teach you how to shorten the development feedback time and provide proof that your software code works as intended.
Why test-driven development?
Is TDD necessary?
TDD is about...
Separating code from tests
JUnit 4 basics
Base test classes
Naming / Organization
Parameterized test runners
Equals and value objects
Seams and sensing
Singletons and Statics
Test double taxonomy
Mocking Libraries such as Mockito and PowerMock
Setting Expectations and Verifying Interactions
Testing Legacy Code
Showing the Call Hierarchy
Generating Documentation from Tests
Parsing the Test Source Code
Explicitly-built Test Suites
Implicitly-built Test Suites
Filtering and Sorting
Relationship to Other Agile Practices
Making the Context Concrete
One-time Setup for Classes
One-time Setup for Suites
Fixtures and Superclasses
Fixtures as Objects
Testing Database Code
Tests vs Theories
The Trouble with TDD
Behaviour Driven Design using jBehave
Customer Acceptance Testing using Concordion
Cost of Change Over Time
Code Analysis Taxonomy and Tools
Delegates should have some appreciation fo rthe issues involved in building large-scale applications. Delegates should also have a development background.