2021, June 2nd Start: 12:00 CEST Duration: 6 hours online
"Profitable Angular Testing"
Workshop #1
Younes Jaaidi
Software Cook, Coach & Teacher at Marmicode
AGENDA
2021, June 2nd
12:00 - 12:10
12:00 - 12:10
Overview
12:10 - 12:20
12:10 - 12:20
Introduction to testing
  • Why test?
  • The different types of tests.
  • A unit-test example.
12:20 - 12:30
12:20 - 12:30
Building your Testing Strategy
  • What should we test and how?
  • Definition of a unit of code.
12:30 - 12:35
12:30 - 12:35
Jest
  • Pros & cons.
  • Setup jest.
12:35 - 13:10
12:35 - 13:10
Test-Driven Development
  • Test-Driven Development: origins & benefits.
  • Tips & tricks.
  • Progressive TDD.
  • Exercise: Testing an Angular service using Progressive TDD.
  • Exercise: Debugging with Jest.
13:10 - 13:20
13:10 - 13:20
☕️ Break
13:20 - 13:50
13:20 - 13:50
[Bonus] Timeboxed TDD & TCR
  • Refactor vs. Rewrite: back to the definitions.
  • Timeboxed TDD.
  • Limbo.
  • TCR : Test && Commit || Revert.
13:50 - 14:05
13:50 - 14:05
Test Doubles
  • Mocks vs Spies vs Stubs vs Fakes.
  • Classicists vs Mockists.
  • Choosing the right way for overriding Angular dependency injection.
  • Exercise: Emulate the behavior of a dependency with Mocks, Spies & Stubs.
14:05 - 14:35
14:05 - 14:35
Component Testing - Part 1
  • Implementing a component's unit-test.
  • Different types of component tests: Integration vs Shallow vs Isolated.
  • Interacting with the DOM.
  • Exercise: Component shallow testing.
14:35 - 14:45
14:35 - 14:45
☕️ Break
14:45 - 15:30
14:45 - 15:30
Component Testing - Part 2
  • Exercise: Component integration testing.
  • Exercise: Testing Inputs & Outputs based communication.
  • Exercise: Interacting with forms.
15:30 - 16:15
15:30 - 16:15
Angular CDK Test Harness
  • The story behind Angular CDK Test Harness.
  • How it works.
  • Exercise: Using a test harness
  • Exercise: Implementing a test harness
16:15 - 16:30
16:15 - 16:30
☕️ Break
16:30 - 17:30
16:30 - 17:30
Cypress Component Testing
  • Bridging the gap with Cypress Component Testing.
  • Exercise: Unit-testing a component with Cypress.
  • Exercise: Reusing the test harness.
17:30 - 18:00
17:30 - 18:00
Visual Regression Testing
  • Testing the presentation.
  • [Bonus] Demo - Visual regression testing with Cypress Component Testing & Percy.
18:00 - 18:30
18:00 - 18:30
🙋♀️ Q/A
12:00 - 12:10
Overview
12:10 - 12:20
Introduction to testing
  • Why test?
  • The different types of tests.
  • A unit-test example.
12:20 - 12:30
Building your Testing Strategy
  • What should we test and how?
  • Definition of a unit of code.
12:30 - 12:35
Jest
  • Pros & cons.
  • Setup jest.
12:35 - 13:10
Test-Driven Development
  • Test-Driven Development: origins & benefits.
  • Tips & tricks.
  • Progressive TDD.
  • Exercise: Testing an Angular service using Progressive TDD.
  • Exercise: Debugging with Jest.
13:10 - 13:20
☕️ Break
13:20 - 13:50
[Bonus] Timeboxed TDD & TCR
  • Refactor vs. Rewrite: back to the definitions.
  • Timeboxed TDD.
  • Limbo.
  • TCR : Test && Commit || Revert.
13:50 - 14:05
Test Doubles
  • Mocks vs Spies vs Stubs vs Fakes.
  • Classicists vs Mockists.
  • Choosing the right way for overriding Angular dependency injection.
  • Exercise: Emulate the behavior of a dependency with Mocks, Spies & Stubs.
14:05 - 14:35
Component Testing - Part 1
  • Implementing a component's unit-test.
  • Different types of component tests: Integration vs Shallow vs Isolated.
  • Interacting with the DOM.
  • Exercise: Component shallow testing.
14:35 - 14:45
☕️ Break
14:45 - 15:30
Component Testing - Part 2
  • Exercise: Component integration testing.
  • Exercise: Testing Inputs & Outputs based communication.
  • Exercise: Interacting with forms.
15:30 - 16:15
Angular CDK Test Harness
  • The story behind Angular CDK Test Harness.
  • How it works.
  • Exercise: Using a test harness
  • Exercise: Implementing a test harness
16:15 - 16:30
☕️ Break
16:30 - 17:30
Cypress Component Testing
  • Bridging the gap with Cypress Component Testing.
  • Exercise: Unit-testing a component with Cypress.
  • Exercise: Reusing the test harness.
17:30 - 18:00
Visual Regression Testing
  • Testing the presentation.
  • [Bonus] Demo - Visual regression testing with Cypress Component Testing & Percy.
18:00 - 18:30
🙋♀️ Q/A
WHAT YOU WILL LEARN
how to implement unit tests for your Angular application with the Test-Driven Development approach
how to choose the type of unit-tests that fits best depending on the context
how to implement maintainable and human-readable unit-tests
how to decouple tests from code to encourage refactoring and tidying up when needed
the difference between fakes, stubs, spies, and mocks + how and when to use them
the difference between isolated, shallow & integration component testing
how to choose the right scope for your tests
how and when to use Angular CDK Test Harnesses
lots of tips & tricks that will help you adopt a profitable testing strategy
SPEAKER'S BIO
Younes Jaaidi
Software Cook, Coach & Teacher at Marmicode
Younes is a Google Developer Expert for Angular & Web Technologies.
He is a trainer, eXtreme Programming coach & tech advisor who loves the challenge of boosting teams' efficiency and helping everyone enjoy every part of their job. His experience convinced him that the key to making quality products is collective ownership, passion, and knowledge sharing.
In his spare time, you will find him contributing to open-source software, writing articles or speaking at meetups or conferences… and sometimes sailing.
His favorite trick? Adding features by removing code.
WORKSHOP FORMAT
The best way to improve your professional skills
Overview — 10min
Workshop — 30min
Lecture — 30min
Break — 10min
Workshop — 1h30
Break — 10min
Workshop — 1h30
Break — 10min
Workshop — 1h30
Q/A — 20min
FOR WHOM?
For developers who are familiar with Angular basics (e.g. Components, Services, Observables, Inputs, Outputs). An experience with Angular testing will be beneficial in order to grasp more tips & tricks.

Unit-testing or more specifically, front-end unit-testing is undeniably in the top 3 of the most complex topics associated with Angular development.

When one is confronted with this complexity, it is tempting to give up, but at what cost? It is totally possible to develop an application without unit-tests but is it really faster? What happens to code maintainability a few months or sometimes just weeks later? Can we serenely refactor and deploy our apps regularly while it is getting older and complex in our hands? What about end-to-end tests, aren't they enough?

This workshop presents, through practical exercises, pragmatic Angular unit-testing techniques. You will also learn how to implement human-readable, maintainable, and above all profitable tests.
For developers who are familiar with Angular basics (e.g. Components, Services, Observables, Inputs, Outputs). An experience with Angular testing will be beneficial in order to grasp more tips & tricks.
Unit-testing or more specifically, front-end unit-testing is undeniably in the top 3 of the most complex topics associated with Angular development.

When one is confronted with this complexity, it is tempting to give up, but at what cost? It is totally possible to develop an application without unit-tests but is it really faster? What happens to code maintainability a few months or sometimes just weeks later? Can we serenely refactor and deploy our apps regularly while it is getting older and complex in our hands? What about end-to-end tests, aren't they enough?

This workshop presents, through practical exercises, pragmatic Angular unit-testing techniques. You will also learn how to implement human-readable, maintainable, and above all profitable tests.
SHOW MORE
COURSE BENEFITS:
You will be able to decouple your tests from the tested code so you change the code structure without having to fix tests all the time
You will learn how to write profitable tests, in other terms
You will also learn how to leverage the benefits of Progressive TDD and Timeboxed TDD to change your code with confidence
You'll learn how to reduce the cost of writing and maintaining tests while increasing their trustworthiness. This will boost the whole team's confidence and efficiency.
You will be able to choose the right tests to implement and how to implement them.
WORKSHOP ENDED
Workshop #3
"Profitable Angular Testing"
Responsible for payment:
Additional information
Geekle Corp.
910 Foulk Road, Suite 201
Wilmington, DE
19803, USA
Designed by:
Our website is almost ready
Create a targeted live campaign.
Scale your infrastructure with our simple service.
Days
Hours
Minutes
Seconds
Leave your email below to receive updates
Click to order
Total: 
Contact Information
Payment method
Contact the organizer if you need a refund