title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Behavior and Test Driven Development using Junit
Course Description
Overview
This course is designed to teach students to design and develop applications using Agile Engineering Practices. Students learn JUnit and several associated frameworks, Test Driven Development (TDD), Behavior Driven Development (BDD) as well as techniques for refactoring code. Throughout the course, numerous hands-on exercises and projects reinforce the lecture material, giving students the practical experience necessary for using Test Driven Development on their jobs.Objectives
- Understand the role of testing in Agile
- Describe the 4 quadrants of testing, and the purpose of each
- Develop applications using Test Driven Development principles and practices
- Write and execute tests using JUnit
- Use tests to drive their designs at the unit, component and architectural levels
- Refactor code to remove technical debt
- Use the Mockito framework to create mock objects
- Explain the SOLID design principles
- Utilize Designing by Intention when developing code
Audience
Prerequisites
-
As programming exercises are included throughout the course, a knowledge of Java is necessary.
Topics
- The Agile Manifesto – Principles and Values
- Overview of Scrum
- Artefacts
- Events
- Roles
- Common Practices in Agile
- User Stories
- Tasks
- Kanban boards
- Continuous Integration / Continuous Delivery
- Automated Testing
- Test Driven Development / Acceptance Test Driven Development
- Quadrant 2 Testing
- Quadrant 1 Testing
- Quadrant 3 Testing
- Quadrant 4 Testing
- Test Driven Development Principles
- TDD Process
- Behavior Driven Development – Specification by Example
- Domain Specific Language
- TDD vs. ATDD
- Why Unit Tests?
- Test Driven Development vs testing after the fact
- Boundary conditions and edge cases
- The JUnit framework
- Test cases and test suites
- Selecting test cases
- Structure of a Unit Test
- Arrange – Act - Assert
- Creating and Running JUnit tests
- Assert Statements
- Refactoring Tests – the DRY Principles and Annotations
- Testing for Exceptions and Timeouts
- Execution Paths
- Boundary Conditions
- Code Coverage
- Lab: Creating and running unit tests
- Naming Conventions
- Test Data
- Setting up and tearing down tests
- Refactoring Tests
- Lab: Refactoring tests
- TDD vs Test First Development
- Red – Green – Clean life cycle
- Demo: The Prime Factors calculator
- Lab: The Parking Lot
- SOLID principles
- Independently testable units
- Lab
- Untestable Code
- Coupling
- Testing Seams and Friendlies
- Refactoring the Design
- Clean Code and Technical Debt
- Refactoring Techniques
- Extract method
- Extract Interface
- Replace Temp with Query
- Dealing with static variables
- Refactoring Demo: The Video Store
- Lab
- Isolating the Unit Under Test
- Using Test Seams and Test Doubles
- Types of Test doubles
- Mocks
- Stubs
- Dummies
- Spies
- Other test doubles
- Lab
- Mocking Frameworks
- Mocking Objects
- Configuring Behavior of Mock Objects
- When -> Then Return
- When -> Then Throw
- When -> Then Answer
- Annotations
- Verify
- Lab
- Review of Quadrant 1 vs Quadrant 2 Testing
- ATDD vs TDD
- Business readable tests vs JUnit tests
- Behavior Driven Development
- Specification by Example
- Using TDD within ATDD
- Lab
- Testing and Legacy Code
- Outside in vs Inside Out
Related Courses
-
Test Driven Development (TDD) and Unit Testing Essentials
EJCJ-521- Duration: 3 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,755.00 USD
-
Java Testing with JUnit 5
EJCJ-600- Duration: 2 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,170.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.