New toys in dev's

testing toolbelt

Paweł Łukasik 

LoGeek - Wrocław, 22.05.2014



TESTS



... and 

problems I have 

with them

About.me


  • passionate-programmer
  • Wroc.NET co-founder & UG speaker
  • > 10 yrs writing code
  • almost 5 yrs with my own company



TESTS


TESTS 

are 

outside our flow

Testing process today (TDD style)

  • Write the test
  • Stop and run the test
  • Write the code under test
  • Stop and run tests
  • Refactor the code under test
  • Stop and run tests
  • Drink some coffee and repeat



TESTS 

are painful


... 
to write 
a good one



TESTS 

are important



Is 

there 

any solution?



nCRUNCH





NCrunch is an automated concurrent testing tool for Visual Studio.

Testing process with nCrunch

  • Write the test
  • Write the code under test
  • Refactor the code under test
  • Be happy, drink some coffee and repeat!


Last but not least...





Über-nCrunch


TESTS  

no longer

disturbs 

our flow



Any solutions 
for the painfulness 
problem?



PEX



Automated white-box testing for .NET






How does PEX works?


  • Chooses a branch that was not covered previously.
  • Builds a constraint system that describes how to reach that branch.
  • Uses a constraint solver to determine new test inputs that fulfill the constraints, if any exist.




What it 
doesn't do?




TESTS  

no longer

painful

(to write a good one)


TESTS 
are still 

important :)

.SUM()


  • No, I'm not selling those products :)
  • Yes, nCrunch is pricey - if you like the idea - try MightyMoose
  • PEX has it drawbacks but they working on them - new code name: "Code Digger"
  • If you like puzzles - try pexforfun.com



Questions?


Thank you!

Feedback:
Twitter: @pawel_lukasik
mail: pawel@octal.pl
blog: http://blog.octal.pl

Sources:
Mars Climate Orbiter - http://www.jpl.nasa.gov/missions/web/mars_climate_orbiter.jpg
Knight's logo - http://money.cnn.com/2012/08/09/technology/knight-expensive-computer-bug/
http://money.cnn.com/2012/08/09/technology/knight-expensive-computer-bug/
Made with Slides.com