Test-Driven Development (TDD) for Java Programmers - eLearning
450,00 EUR
- 20 hours
Master modern software quality practices with the Test Driven Development (TDD) with Java Training. This course equips you with the skills to write clean, reliable, and maintainable code by following the TDD approach—where tests are written before the actual implementation.
Key Features
Language
Course and material in English
Level
Beginner - Intermediate level
Access
1 Year access to the learning platform
9 Hours of On-Demand Videos
with 20+ hours recommended study time
17 Guided Hands-on Exercises
5 Auto-Graded Assessments
4 Assignments
23 Recall Quizzes
Certificate
Program completion certification included
Learning Outcomes
At the end of this Course, you will be able to understand:
TestNG
Understand TestNG and how to implement it effectively
Mockito
Explore Mockito and its practical use cases in testing
Tools
Work with key tools and frameworks used in Test Driven Development (TDD)
Develop
Develop a TDD mindset and improve debugging skills
Web
Apply TDD principles to web-based applications
Implement
Implement TDD practices in Java applications

Course timeline
Introduction
Lesson 01
- What is Test-Driven Development?
- Types of Testing
- Tools for Testing
Unit Testing
Lesson 02
- System State and Unit Test Interactions
- JUnit Tests without Collaborations
- Unit Tests with Parameters
- Unit Tests with Exceptions
Test-driven Development Approach
Lesson 03
- Approaches to Test Development
- Flow of Test-Driven Development
- Writing Tests that Fail
- Creating a Good Test Coverage
- Fixing Bugs and Refactoring Tests
Mock-based Testing with Mockito
Lesson 04
- Test Doubles
- Types of Test Doubles
- Setting Method Expectations
- Verification Tests
TestNG
Lesson 05
- Setting Up TestNG
- TestNG.xml
- 'Before' and 'After' Annotations
- Test Annotations
- Grouping Tests
- Dependency Tests
- Parallelism
Developing Java-based Application
Lesson 06
- Developing a Chat App
- Testing the Database Setup
- Creating the Database Setup
- Refactoring the Database Setup
- Creating User Registration Tests
- Adding the User Registration Functionality
- Refactoring User Registration Tests
- Creating User Login Tests
- Adding the User Login Functionality
- Creating Tests for Sending Messages
- Adding the Functionality for Sending Messages
- Creating Tests for Receiving Messages
- Adding the Functionality for Receiving Messages
Evaluating Tests
Lesson 07
- Coverage Metrics
- Evaluating Unit Tests
- Maximizing Test Accuracy
- Subtypes of Testing
Developing Web-based Application
Lesson 08
- Testing Spring Applications
- Creating a Basic Spring Test
- Spring Test Components
- Testing GET Requests
- Sending Data with Requests
- MVC Request Methods
- Status Codes
- Object-based Requests
- POST Request Testing
- PUT Request Testing
- Additional Testing Components
- Mock Beans
- Asynchronous Endpoints

Who Should Enroll in This Program?
Java developers who want to improve code quality and testing skills
Software engineers working on enterprise or backend applications
QA engineers and automation testers transitioning into development
Full-stack developers aiming to write more reliable applications
Computer science students and fresh graduates
Anyone interested in Agile development and test-first programming
Prerequisites
- Basic knowledge of Java programming
- Understanding of object-oriented programming (OOP) concepts
- Familiarity with software development fundamentals
- Basic awareness of unit testing (helpful but not required)
- No prior experience in Test Driven Development is required.
Statements
Licensing and accreditation
This course is offered according to Partner Program Agreement and complies with the License Agreement requirements
Equity Policy
Candidates are encouraged to reach out to AVC for guidance and support throughout the accommodation process.
Frequently Asked Questions

Need corporate solutions or LMS integration?
Didn't find the course or program which would work for your business? Need LMS integration? Write us, we will solve everything!
