Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PyCon 2015 Belarus Andrii Soldatenko

1,964 views

Published on

High performance functional tests

Published in: Technology
  • Be the first to comment

PyCon 2015 Belarus Andrii Soldatenko

  1. 1. High performance Functional tests Andrii Soldatenko 31 January 2015 @a_soldatenko
  2. 2. About me: • Senior Test Automation Engineer at • Backend Python Developer at • Speaker at PyCon Ukraine 2014 • @a_soldatenko • http://asoldatenko.com
  3. 3. "Tests are the Programmer’s stone, transmuting fear into boredom."
  4. 4. We don’t have time for tests
  5. 5. Test Automation Pyramid from  http://martinfowler.com/bliki/TestPyramid.html
  6. 6. Unit tests
  7. 7. Integration tests
  8. 8. Functional or UI tests
  9. 9. How to automate Functional tests for Web?
  10. 10. Demo
  11. 11. Test Execution Time • Faster Tests Mean Faster Development • Slow Tests Don’t Get Run as Often
  12. 12. How to decrease test execution time? “Man is a tool-using animal. Without tools he is nothing, with tools he is all.“ - Thomas Carlyle
  13. 13. Using requests instead of Selenium
  14. 14. Demo
  15. 15. Use Selenium Grid Node Node Node Hub
  16. 16. How to setup Selenium Grid locally
  17. 17. unittests in Python parallel execution plugins test coverage unittest NO NO NO YES NO YES YES YES NO
  18. 18. Selenium Grid + Concurrent test execution Node Node Node Hub OR
  19. 19. Demo
  20. 20. Selenium Grid in Cloud
  21. 21. Demo
  22. 22. Use Selenium with PhantomJS +
  23. 23. Demo
  24. 24. Functional tests for Django
  25. 25. Final Thoughts • Don’t test constants • Avoid double-testing functionality • Collaboration on Step Definitions in BDD • Use Continuous Integration • Slow tests kill productivity
  26. 26. Questions ?
  27. 27. Thank You a_soldatenko@wargaming.net @a_soldatenko http://asoldatenko.com

×