Hosted by:
0.3 Alpha: December 25, 2007 - Almost complete rewrite to facilitate run-time mutations:
- C# parser and new way to specify mutations based on language tokens (see
example)
- Run-time mutation mechanism, where Nester instruments and compiles target solution
only once and after that dynamically change behaviour of the injected code. This
helps to improve speed of mutation running to order of magintude
- Porting and full support of .NET Framework 2 (no 3.x support yet, sorry)
- MSBuild-based compilation mechanism (no longer need to create compile.bat)
- New UI now includes source code view based on excellent TextEditor control from
SharpDevelop IDE. I wish
all third party controls in my life was integrated as easy as this one. You no longer
need to compare xml report with your source code to find where was the specific
mutation
- There is an ability to open/save Nester project file
- StackOverflow exceptions are no longer fatal for Nester (see this
article for details). For the end user it means that Nester can process mutations,
that can cause infinite recursion.
0.2 Alpha: May 27, 2004 - Several improvements related to unit-tests execution and
reporting:
- Now gathering stats which test cases kills which mutation. This can help to track
down redundant test cases. For instance now you can see that the particular unit
test hasn't killed any mutations, or all mutations also was killed by another unit
test. It doesn't necessary means that you have to remove/redesign this piece of
code, but at least you should think about it. Since all the information is provided
in XML report and not easily readable, I've created a small utility called
TestDepends which converts it into .csv for future import in Excel
- If statistics above is not gathered, Nester now considers mutation as failed as
soon as first test case is failed (previously it always executes all test cases).
Moreover it maintains a list of tests to be executed and one with higher probability
of failure will be in the top of the list. This should not affect seriously affect
performance now (I suppose it will be faster not more than 5%), but as soon as Run-time
mutations will be introduced, the difference will be noticeable
- Finally get rid of text report. Now there is an option to add "mutation diff" as
a comment to XML report
- Introduced RegExp-based mutations. The solution
for catching nester parenthesis is not very elegant, but it is simple and it works.
Since it is only an initial version, you can switch it on, or use old-style Int&TwoString
code manglers
- Added confirmation asking before closing application
- Fixed a huge bug which prevents SimpleIntCodeMangler from functioning (see corresponding
Jester
bug). Now Nester can do up to 80% more mutations
- Fixed a problem with lost non-ASCII characters in .cs-files after mutation
- Instead of plain ReadMe.rtf document, this hyper-text documentation was created
0.1 Pre-alpha: April 30, 2004 Port of Jester to C# with the following additional
features:
- Initial version of Debug.Assert detector. If assertion is called, Nester considers
mutation as killed. Ideally this should be incorporated into unit testing framework
(like it is done in MbUnit). The corresponding RFE for NUnit is
here. If it will not be implemented soon, I will write my own "TraceListener"
- Unit test executing timeout. Due to modifications in source code we can easily get
infinite loop. In order to resolve this situation, there is a possibility to specify
timeout for execution. When expired Nester considers mutation as killed