Training: Test-Driven Development in Java / JUnit Crash Course
Booking
Duration: 1 Day
Contact: Siddhesh Nikude
Inquire via E-Mail
Phone: +91-95-52572354
Scheduled
- 2019-08-10, Pune, India book seat
- 2018-05-10, Mumbai, India
- 2018-05-10, Mumbai, India
- 2018-08-29, Hyderabad, India
Available Languages
- English
- German
Audience
Software Crafters, Software Developers, Software Testers
Precondition
Basic knowledge of Java.
Goals
Learn the benefits and mechanics of developing software using Test-Driven Development.
Contents
Test-Driven Development (TDD) is a software development practice which helps you write better code. It enables you to:
- Craft better-designed solutions,
- Increase code coverage,
- Test faster, and
- Refactor continuously and mercilessly.
It gives your code fewer errors, reduces its debug time considerably, and provides much quicker feedback.
Going through this training will help you get a comprehensive understanding of TDD, which in turn will make you a better engineer, which in turn will enhance your value as a software developer in the industry. Many leading tech organizations like ThoughtWorks, Google, Facebook value engineers who not only write working code but code which is well crafted, that is, clean, lean, robust, scalable, maintainable, tested, and bug-free. It will help you evolve from being a software developer to a software craftsperson.
- Software Development Process Fundamentals for TDD
- The Two Values of Software
- The five major design smells
- Cohesion and Coupling
- How "Testable" is related to maintainability, Clean Code
- Test Automation Pyramid
- TDD in the context of Agile and XP
- TDD fundamentals
- Anatomy of xUnit frameworks
- JUnit 5
- The Single-Assert Rule
- The Three Laws of Test-Driven Development
- The Red-Green-Refactor Cycle
- The FAIR/FIRST principles
- TCR - test && commit || revert
- BDD - Behavior Driven Development
- Gherkin, Feature Files
- Running Cucumber via Maven and JUnit
- ATDD - Acceptance Test-Driven Development
- Advanced TDD
- Parameterized Tests with JUnit 5
- Coverage Measurement: Line and Branch Coverage with IntelliJ IDEA and JaCoCo
- Mutation Testing with Pitest
- Outlook (topics covered only briefly in the crash course)
- TPP - Transformation Priority Premise
- Differences between JUnit 5, 4, 3, TestNG
- JUnit modularity and extensibility
- Hamcrest Matchers
- Test-Doubles and Mocking
- Chicago School (Stateism) vs London School (Mockism)
The course uses OpenJDK 18, Maven 3.8.5, Gradle 7.4.2, JUnit Platform 1.8.2, JUnit Jupiter 5.8.2, Cucumber 7.3.4, and Pitest 1.8.0.
The course language is Java. However, the concepts and principles can be transferred to any programming language. Nelkinda also offers this course in other languages, for example, C, C++, C#, JavaScript, Kotlin, and Python.
Event Type
This is a full-day open (anyone can register) instructor-led classroom training about Test-Driven Development in Java. The number of seats is limited to ensure the best quality training for the participants. The course fee includes snacks and lunch.
At the end of the session, you will get a Certificate of Participation from the Nelkinda, signed by the trainer.
Trainer
Your trainer for this event is Christian Hujer.
Christian Hujer has 20 years of experience in TDD and 24 years of experience in Java. He's been training developers and teams for organizations like BNP Paribas, Elsevier, Giesecke & Devrient, Nokia, SUN Microsystems, Volkswagen, and many others.
Scheduled
- 2019-08-10, Pune, India (Open Classroom Training (INR 3,999)) book seat
- 2018-05-10, Mumbai, India (In-House Training)
- 2018-05-10, Mumbai, India (In-House Training)
- 2018-08-29, Hyderabad, India (In-House Training)