O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Holy "Test Pyramid" , how it ruins your life

85 visualizações

Publicada em

Talk on ITWeekendDnipro 2018

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Holy "Test Pyramid" , how it ruins your life

  1. 1. Holy "Test Pyramid" How it ruins your life
  2. 2. About Yaroslav Pernerovsky @ysparrow
  3. 3. About https://qaguild-slack.herokuapp.com/
  4. 4. About http://automation-remarks.com/podcast/
  5. 5. Unit Integration E2E
  6. 6. Unit Integration E2E Manual
  7. 7. a
  8. 8. • http://blog.codepipes.com/testing/software-testing-antipatterns.html
  9. 9. Unit Integration E2E White-box Independent units Mocks/stubs White/Black-box Some deployment External systems Black-box Fully deployed system Real life scenarios
  10. 10. Integration ü uses database ü uses network to call another component/application ü external system (MQ, mail server etc.) ü reads/writes files or performs other I/O ü does not rely on source code, uses deployed binary instead http://blog.codepipes.com/testing/software-testing-antipatterns.html
  11. 11. What is wrong with the Pyramid?
  12. 12. It is a theoretical metaphor
  13. 13. It is almost unachievable in real world
  14. 14. Unit Integration E2E Created by Developers Sometimes by Developers Sometimes by Testers Usually by Testers
  15. 15. Contexts differences Communication issues Industry stereotypes
  16. 16. Developers should create all the tests to build the canonical test pyramid
  17. 17. Become a "developer" Talk to each other Brake stereotypes
  18. 18. What is wrong with the tests in Pyramid?
  19. 19. CC=3 CC=2 CC=4++ CC=3 CC=2 CC=4 =9 =24
  20. 20. Having the "wrong" kind of tests Unit Integration
  21. 21. Having the "wrong" kind of tests Unit Integration
  22. 22. Having the "wrong" kind of tests Unit Integration GUI
  23. 23. Testing the wrong functionality Core Critical Other
  24. 24. 20%
  25. 25. Code coverage
  26. 26. Codepipes Testing Metrics (CTM) Metric Name Description Ideal value Usual value Problematic value PDWT % of Developers writing tests 100% 20%-70% Anything less than 100% PBCNT % of bugs that create new tests 100% 0%-5% Anything less than 100% PTVB % of tests that verify behavior 100% 10% Anything less than 100% PTD % of tests that are deterministic 100% 50%-80% Anything less than 100% http://blog.codepipes.com/testing/software-testing-antipatterns.html
  27. 27. 0% 100%Code coverage effortneeded
  28. 28. 0% 100%Code coverage Valuefromtests
  29. 29. Treating TDD as a religion ü you can write tests before ü you can write tests at the same time ü you can write tests after ü you can never write tests http://blog.codepipes.com/testing/software-testing-antipatterns.html
  30. 30. Itogi podvedyom ü Triangle is a mental abstraction ü It should be treated as abstraction ü Think before act ü Don't blame yourself ü Use right metrics ü Improve your programming skills ü Right tests over making triangles ü Do not hesitate to kill shitty tests