Course Code: tddjavabsp
Duration: 21 hours
Prerequisites:
  • An understanding of Java programming

  • An understanding of software testing concepts

Overview:

TDD, or Test Driven Development, is an approach to developing software where coding, testing, and design occur in tandem throughout the software development cycle.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.
Course Outline:

Test Driven Development using Java


Introduction
• Benefits of TDD and Agile
Unit Testing
• JUnit Testing Framework
• Installing and Configuring JUnit
• Writing Java unit tests and best practices
TDD Approaches
• Designing software using TDD
• Refactoring software
• TDD workflows and patterns
Implementing TDD
• Collaborating Modules
• Understanding Test Stubs, Doubles, and Mocks
• Writing good unit tests
• Improving existing tests
• Refactoring an application
• Writing tests for legacy Java Code
• Test-Driving Next to the Silicon with Mocks
Applying TDD within Agile Process
• Agile vs Traditional Software Development Approaches
• The Agile Manifesto
• Release Planning, Iteration Zero
• Iteration Planning, Estimation
• Requirement Review, Daily Stand-up
• Team Quality, Iteration Testing, Acceptance
• Iteration Review (Showcase)
• Retrospectives
• Lesson learned of Agile Principles

Test Driven Development using TypeScript


Introduction
• Benefits of TDD and Agile
Unit Testing
• Jest Testing Framework
• Installing and Configuring Jest
• Writing Java unit tests and best practices
TDD Approaches
• Designing software using TDD
• Refactoring software
• TDD workflows and patterns
Implementing TDD
• Collaborating Modules
• Understanding Test Stubs, Doubles, and Mocks
• Writing good unit tests
• Improving existing tests
• Refactoring an application
• Writing tests for legacy TypeScript Code
• Test-Driving Next to the Silicon with Mocks
Applying TDD within Agile Process
• Agile vs Traditional Software Development Approaches
• The Agile Manifesto
• Release Planning, Iteration Zero
• Iteration Planning, Estimation
• Requirement Review, Daily Stand-up
• Team Quality, Iteration Testing, Acceptance
• Iteration Review (Showcase)
• Retrospectives
• Lesson learned of Agile Principles