Date post: | 09-Feb-2017 |
Category: |
Technology |
Upload: | coldfusionconference |
View: | 111 times |
Download: | 1 times |
LIVE TESTING A LEGACY APP
WHAT THIS TALK ISN'T!
> About TDD> Framework Specific
> For testing veterans
WHAT THIS TALK IS!
> An introduction to testing jargon> A collection of techniques for starting to test your
app> Introduction to Selenium and TestBox
> Asking tough questions as well as giving answers
OTHER SESSIONS RIGHT NOW
> Lucee Panel Discussion — Room 235> Writing Highly Organized CSS — Room 238
> Ouch, It Hurst When Do That. A Tale Of Landmines And Self-Inflicted Wounds — Room 321
> Getting Started With Build Tools — Auditorium
WHO AM I?ERIC PETERSON
! Utah
" O.C. Tanner
# 1 wife, 1 kid
WHAT KIND OF THINGS MAKE AN APP A LEGACY APP?> No framework
> Few or no tests> Old or incorrect design decisions
> New or changed business requirements
NO TESTS CONTRIBUTE TO A LEGACY APP?
ABSOLUTELY!
WHY?THEY MAKE US SLOWER
HERE'S THE DEALEVERYBODY TESTS
MODERN CODE WORKS TO AUTOMATE IT
TYPES OF TESTING
> Unit Tests> Integrated Tests> Functional Tests> Application Tests> End-to-end Tests
TYPES OF TESTING (CONTINUED...)
> Regression Tests> Acceptance Tests
> Performance Tests> Accessibility Tests> Compatibility Tests
STOP!!!!
MY LEGACY APP TESTING PHILOSOPHY*(* SUBJECT TO CONSTANT CHANGE !)
> Don't stress about the kinds of tests you are writing. Slow tests are better than no tests
> Utilize Continuous Integration to offset this> Split your tests up and create multiple runners to help
as well.
MY TESTING PHILOSOPHYTEST WHAT MAKES SENSE (AND WHAT SAVES YOU
MONEY)SOME EXAMPLES:
> It broke before> We test it manually every time
> The logic is kind of hard to follow (for the next time
MY TESTING PHILOSOPHYTDD
> Helps you design the class one piece at a time (not focused on in this talk)
> Pair programming (one writes the test, the other writes the code to make the test pass)
BEST TYPES OF TESTS FOR A LEGACY APP?
Integration Testing
&
Regression Testing
BEST TOOLS TO TEST A LEGACY APP?
> Selenium> TestBox> Travis
TESTING GOTCHAS(FOR LEGACY APPS)
> Be careful of mocks> Don't test too many details
DEMOTHE LEGACY APP
DEMOINTEGRATED TEST
(SELENIUM)
DEMOUNIT TEST
DEMOREFACTORING
LAST NOTECONTINUOUS INTEGRATION
> Emails> Github Badges
> Slack Integration
LAST NOTECONTINUOUS INTEGRATION
USE WITH MULTIPLE TESTBOX RUNNERS.
THANK YOU!!
elpete
@_elpete
! dev.elpete.com