pycon ukraine 2014
Post on 06-Aug-2015
99 Views
Preview:
TRANSCRIPT
ABOUT ME:
• TEST AUTOMATION LEAD AT LUXOFT • PYTHON DEVELOPER AT TOPTAL • @A_SOLDATENKO • HTTP://ANDRIISOLDATENKO.GITHUB.IO/
“TESTS ARE THE PROGRAMMER’S STONE, TRANSMUTING FEAR INTO BOREDOM.” - KENT BECK
3
WE DON’T HAVE TIME FOR TESTS!
ABOUT SELENIUM:
• PIP INSTALL -‐U SELENIUM
• SELENIUM WEBDRIVER API NOW IN W3C DRAFT SPECIFICATION
• RUN IN MANY BROWSERS
• AND OS
• CAN BE CONTROLLED BY DIFFERENT PROGRAMMING LANGUAGES
WHEN NUMBER OF TESTS IS GROWING:
• WE NEED TO DECREASE TEST EXECUTION TIME
• WE NEED TO USE DESIGN PATTERNS (I.E PAGEOBJECT, PAGEFACTORY)
• WE NEED TO USE SKELETON FOR ORGANIZING TESTS
HOW TO DECREASE TEST EXECUTION TIME ?
• SET UP LOCAL SELENIUM GRID
• USE SAUCE LABS
• USE PYTEST OR NOSE
BEST PRACTICE FOR TEST DATA GENERATION AND
• DJANGO LOREM IPSUM UTILS • DON’T USE FIXTURES • USE FACTORY BOY + FAKER INSTEAD OF FIXTURES
BEST PRACTICE FOR CREATION FT TESTS:
• USE EXPLICIT WAITS RATHER THAN IMPLICIT WAITS.
• USE CODE—HELPER METHODS IN BASE CLASS, OR PAGE PATTERN.
• AVOID DOUBLE-‐TESTING FUNCTIONALITY
• LOOK INTO BDD TOOLS
• USE CONTINUOUS INTEGRATION
23
• @A_SOLDATENKO • HTTPS://ANDRIISOLDATENKO.GITHUB.IO/
THANK YOU:
top related