🕷 software releases

by ryan davis


Unit Test Sadism 101 (Heckle 1.1.0 released)

Published 2006-12-19 @ 02:41

Heckle version 1.1.0 has been released!

http://www.rubyforge.org/projects/seattlerb by Ryan Davis and Kevin Clark

From http://glu.ttono.us/articles/2006/12/19/tormenting-your-tests-with-heckle :

Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don’t notice, either that code isn’t being covered or it doesn’t do anything.

It’s a little weird, I know, but I like to think about it as pen-testing. It’s like hiring a white-hat hacker to try to break into your server and making sure you detect it. You learn the most by trying to break things and watching the outcome.

Anyway, Heckle was inspired by Jester, and Ryan Davis wrote a proof of concept at RubyConf. As he notes, I went a little nuts and much of the current implementation I rewrote that night or on the plane home.


1.1.0 / 2006-12-19

  • 12 major enhancements:
    • Able to roll back original method after processing.
    • Can mutate numeric literals.
    • Can mutate strings.
    • Can mutate a node at a time.
    • Can mutate if/unless
    • Decoupled from Test::Unit
    • Cleaner output
    • Can mutate true and false.
    • Can mutate while and until.
    • Can mutate regexes, ranges, symbols
    • Can run against entire classes
    • Command line options!

http://www.rubyforge.org/projects/seattlerb by Ryan Davis and Kevin Clark