Course Overview
A 3-day comprehensive hands-on class on Automated Testing in Java, including process, best practices and techniques.
Course Prerequisites
Students should have a good understanding of the Java Platform SE and EE.
Outline
- Recognising the value of Automated tests
- identifying different ways of achieving results
- Test/Behaviour-Driven Development (TDD/BDD)
- The theory and practice behind "test-green-refactor"
- What not to use TDD (when not to test-first)
- Writing unit tests (TDD)
- Contrast with writing specifications (BDD)
- JUnit 4.x (all aspects)
- The Hamcrest API (bundled with JUnit plus more)
- Value of Code coverage
- Test in isolation using Mocking (using Mockito)
- Protect yourself for mock and stub-to-death
- Database test using DBUnit (and alternatives)
- Best practices, pitfalls etc
- Continuous integration (using Jenkins)
- Intro :Spring TestContext framework (including integration testing)
- Intro: In container-Integration Testing using Arquillian and Pax Exam
- Intro: Acceptance Testing using Selenium
- Some other discussions: JavaScript BDD with Jasmine/Karma, Using Scala Specs2 for BDD Java development