I deploy on Fridays (and maybe you should too) (Ode aan de Code meetup)

2f4800411154a8c66dde489448a044d2?s=47 Michiel Rook
November 10, 2018

I deploy on Fridays (and maybe you should too) (Ode aan de Code meetup)

2f4800411154a8c66dde489448a044d2?s=128

Michiel Rook

November 10, 2018
Tweet

Transcript

  1. 6.
  2. 7.
  3. 8.
  4. 9.
  5. 10.
  6. 11.
  7. 12.
  8. 15.
  9. 24.
  10. 26.
  11. 27.
  12. 66.
  13. 67.

    "This pull request affects 31 files...
 could be a lot

    of conflicts if we don't merge it soon"
  14. 68.
  15. 74.
  16. 86.
  17. 89.
  18. 102.

    UNIT TESTS INTEGRATION
 TESTS ACCEPTANCE E2E TESTS @Test
 public void

    jobCannotBeFound() {
 when(jobRepository.getById(EXPECTED_JOB_ID))
 .thenReturn(null);
 
 JobService jobService = new JobService(jobRepository);
 
 assertNull(jobService.getById(EXPECTED_JOB_ID));
 verify(jobRepository).getById(EXPECTED_JOB_ID);
 } @michieltcs POTENTIAL TESTING LAYERS
  19. 103.

    UNIT TESTS INTEGRATION
 TESTS ACCEPTANCE
 TESTS E2E TESTS @Test
 public

    void shouldFindJob() {
 expectedJob = loadFixture('active_job.yml');
 actualJob = repository.getById(expectedJob.getId());
 
 assertThat(actualJob, isA(Job.class));
 assertEquals(expectedJob.getId(), actualJob.getId());
 } @michieltcs POTENTIAL TESTING LAYERS
  20. 104.

    UNIT TESTS INTEGRATION
 TESTS ACCEPTANCE
 TESTS E2E TESTS Scenario: Link

    to related job
 Given a job exists
 And there are related jobs available
 When that job is viewed
 Then a list of related jobs is shown
 And each related job links to the detail page of the related job @michieltcs POTENTIAL TESTING LAYERS
  21. 107.

    CONTINUOUS TESTING UNIT TESTS ACCEPTANCE TESTS E2E
 TESTS Cost Speed

    Exploratory
 testing & user
 feedback Monitoring
 & alerting INTEGRATION TESTS @michieltcs
  22. 112.
  23. 113.

    LOAD BALANCER SERVICE V1.0 SERVICE V1.1 CANARY 100% 0% SERVICE

    V1.0 SERVICE V1.1 SERVICE V1.0 SERVICE V1.1 @michieltcs
  24. 114.

    LOAD BALANCER SERVICE V1.0 SERVICE V1.1 CANARY 99% 1% SERVICE

    V1.0 SERVICE V1.1 SERVICE V1.0 SERVICE V1.1 @michieltcs
  25. 115.

    LOAD BALANCER SERVICE V1.0 SERVICE V1.1 CANARY 50% 50% SERVICE

    V1.0 SERVICE V1.1 SERVICE V1.0 SERVICE V1.1 @michieltcs
  26. 116.

    LOAD BALANCER SERVICE V1.0 SERVICE V1.1 CANARY 0% 100% SERVICE

    V1.0 SERVICE V1.1 SERVICE V1.0 SERVICE V1.1 @michieltcs
  27. 117.

    LOAD BALANCER SERVICE V1.0 SERVICE V1.1 CANARY 0% 100% SERVICE

    V1.0 SERVICE V1.1 SERVICE V1.0 SERVICE V1.1 @michieltcs
  28. 128.
  29. 129.
  30. 130.
  31. 132.