7. • A controlled experiment has shown that
continuous testing has a statistically significant
effect on developer success in completing a
programming task, without affecting time
worked. Developers using continuous testing
were three times more likely to complete the
task before the deadline than those without.
• Most participants found continuous testing to be
useful and believed that it helped them write
better code faster, and 90% would recommend
the tool to others
11. Continuous Testing Options
• InfiniTest
– http://infinitest.github.com/
– For IDEA or Eclipse
– groups.google.com/group/infinitest-users
• Auto-test
– http://grails.org/plugin/auto-test
• JUnitMax from Kent Beck
– $100
– Health? Not tried
12. Auto-test
The plugin will monitor the project directory and will attempt to
run only the subset of tests affected by what changed. This is
very rudimentary - for example, if you modify BookController
or BookControllerTests or BookControllerSpec, it will run test-
app BookController
Really Running the Tests, alternating Red/GreenNot batching
Unit tests are FastGood tooling supportWork without spinningup Grails.
Continuous Testing Idea Started @MIT, 2004in backgroundreduce time & effort to runReduce Change size if a problem is foundSame as Continuous Compilation for dev, or CI for an organisation.Work by watching .class files on disk. Save->Compile->Tests Run
Concept: Ignorance time: How long something broken, that you did not know about.Fix Time is correlated with Ignorance time. Same as continuous integration!
Issues: Run tests in different environment than coding environment. Alt-Tab to run tests, get results.
GoodColor Less Verbose Same JVMPeek @ResultsBad:- Still separate environment
InfiniTest was briefly commercialAuto-test is Grails only, no IDE integrations.JUnitMax – status?
Good:Fairly dumb heuristicsBad: Separate environment.
Demo-------Prefs/EnableRebuild project – tests run when classes change.Change AnotherClass.*Smart* about what to run… sometimes misses things.Open source – feel free to add fixes!Shows errs for all open projects.Won't run if compilation errs in any open projects.