<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 18 May 2013 11:38:14 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Padraic Brady's Blog: PHP Mutation Testing With MutateMe]]></title>
      <guid>http://www.phpdeveloper.org/news/12009</guid>
      <link>http://www.phpdeveloper.org/news/12009</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/389-PHP-Mutation-Testing-With-MutateMe.html">posted about</a> a library that he's developed to help with mutation testing in PHP - <A href="http://github.com/padraic/mutateme">MutateMe</a>. What's mutation testing? <i>Padraic</i> explains,
</p>
<blockquote>
Mutation Testing is basically testing...for tests. It ensures that your tests are truly capable of detecting errors and problems with the source code. It does this by mutating the source code itself (using ext/runkit) in such a way that an error is created in the code. If your tests detect the error, all is well with the world. If your tests do not detect the error...well, you better add a new test that does.
</blockquote>
<p>
He <a href="http://blog.astrumfutura.com/archives/389-PHP-Mutation-Testing-With-MutateMe.html">mentions</a> how it compares to code coverage and goes through the entire process you'll need to get <a href="http://dev.phpspec.org/MutateMe-0.1.0alpha.tgz">MutateMe</a> up and running - the download (or PEAR install), creating the extension, using the command line tool and the results of an example run of the client against a few tests.
</p>]]></description>
      <pubDate>Tue, 24 Feb 2009 10:20:54 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: PHPMutagen: Mutation Testing for PHP5]]></title>
      <guid>http://www.phpdeveloper.org/news/9177</guid>
      <link>http://www.phpdeveloper.org/news/9177</link>
      <description><![CDATA[<p>
In another behavior-driven development related post on his blog, <i>Padraic Brady</i> <a href="http://blog.astrumfutura.com/archives/323-PHPMutagen-Mutation-Testing-for-PHP5.html">talks about mutation testing</a> and a library he's put together to support it in PHP - PHPMutagen.
</p>
<blockquote>
As I said in my previous entry I was thinking about how to write a Mutation Testing engine. The "braindump" was to use PHP's built in Tokenizer to break down a class file into digestible pieces which could be mutated, and then reconstructed into a mutated file. Once you allow for a working copy of the original source (let's not mutate the original!) it turned out to be a reasonable approach.
</blockquote>
<p>
He's not releasing it just yet ("don't get too excited until I find some time to scan through it again") but he does share some sample output from his test run - one instance where all is well and the other where one mutant "escapes" and causes an exception.
</p>]]></description>
      <pubDate>Wed, 05 Dec 2007 09:32:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: Mutation Testing Brain Dump]]></title>
      <guid>http://www.phpdeveloper.org/news/9150</guid>
      <link>http://www.phpdeveloper.org/news/9150</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/322-Mutation-Testing-Brain-Dump.html">made a post</a> about some of the mutation testing thoughts running through his head for the Behaviour-Driven Development framework he's been working on - <a href="http://www.phpspec.org/">PHPSpec</a>.
</p>
<blockquote>
Mutation Testing is like testing, for tests. The idea is actually quite simple. Mutation testing adds small changes to your source code on the assumption that changing something, will most likely break it, which in turn means at least one test/spec should fail. [...] The reason why it's useful it that it gets around the problem of being over reliant on code coverage - just because some code executes when running tests, doesn't prove the tests will detect problems with it!
</blockquote>
<p>
He wants to create a way that doesn't rely on external dependencies and is looking at working with <a href="http://ie2.php.net/tokenizer">the tokenizer functions</a> native to PHP. He includes two examples of the way he's thinking - an example of simple token output and a way to go "backwards" to recreate the original source code.
</p>]]></description>
      <pubDate>Fri, 30 Nov 2007 10:26:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Update on Mutation Testing]]></title>
      <guid>http://www.phpdeveloper.org/news/8333</guid>
      <link>http://www.phpdeveloper.org/news/8333</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> has <a href="http://sebastian-bergmann.de/archives/685-Update-on-Mutation-Testing.html">provided a pointer to <a href="http://www.phpunit.de/wiki/GSoC2007MutationTesting#ProjectNews:July252007">the update</a> <i>Mike</i> has posted concerning the Google Summer of Code project he's working on - implementing mutation testing in PHPUnit.
</p>
<p>From <a href="http://www.phpunit.de/wiki/GSoC2007MutationTesting#ProjectNews:July252007">Mike's update</a>:
<blockquote>
The most recent version committed to the <a href="http://www.phpunit.de/browser/phpunit/branches/mutation_testing">mutation_testing branch</a> is in a testable state. I would encourage anyone interested to try out the new mutation testing feature in this branch.
</blockquote>
<p>
You can get complete information about the project - its methods and goals - from <a href="http://www.phpunit.de/wiki/GSoC2007MutationTesting">this page</a> on the PHPUnit wiki. If you'd like to get this new code a try and see what his mutation testing is all about, <a href="http://www.phpunit.de/browser/phpunit/branches/mutation_testing">here's a link</a> to the subversion repository to grab the latest copy.
</p>]]></description>
      <pubDate>Thu, 26 Jul 2007 07:54:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: PHPUnit Status Update]]></title>
      <guid>http://www.phpdeveloper.org/news/8112</guid>
      <link>http://www.phpdeveloper.org/news/8112</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> has <a href="http://sebastian-bergmann.de/archives/679-PHPUnit-Status-Update.html">posted an update</a> of the status of the PHPUnit project to his blog today including feature additions to PHPUnit 3.1 and ones being added to other branches.
</p>
<blockquote>
<a href="http://sebastian-bergmann.de/archives/671-Travel-Schedule.html">The last weeks have been busy</a>, but now I want to take the time to finally give you an update on the status of <a href="http://www.phpunit.de/">PHPUnit</a>. The <a href="http://www.phpunit.de/roadmap">development of PHPUnit 3.1</a> is progressing nicely, about the only thing missing is finishing the documentation for all the new features
</blockquote>
<p>
Among these new features are things like:
</p>
<ul>
<li>improvements in <a href="http://www.phpunit.de/pocket_guide/3.1/en/mock-objects.html">mock objects</a>
<li>the ability for PHPUnit to write <a href="http://www.phpunit.de/pocket_guide/3.1/en/code-coverage-analysis.html">code coverage</a> information to a <a href="http://www.phpunit.de/wiki/TestDatabase">test database</a>
<li>some fun new <a href="http://en.wikipedia.org/wiki/Template_Method">template methods</a>
<li>and <a href="http://www.phpunit.de/wiki/GSoC2007MutationTesting">mutation testing</a> that's being built on the separate branch
</ul>]]></description>
      <pubDate>Mon, 25 Jun 2007 08:22:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Google Summer of Code 2007]]></title>
      <guid>http://www.phpdeveloper.org/news/7626</guid>
      <link>http://www.phpdeveloper.org/news/7626</link>
      <description><![CDATA[<p>
Another mentor for another Google Summer of Code project has been announced and <i>Sebastian Bergmann</i> <a href="http://sebastian-bergmann.de/archives/670-Google-Summer-of-Code-2007.html">will be mentoring</a> <i>Mike Lewis</i> as he adds mutation testing for PHPUnit.
</p>
<p>
<i>Sebastian</i> quotes a definition of "mutation testing" as:
</p>
<blockquote>
<a href="http://en.wikipedia.org/wiki/Mutation_testing">Mutation Testing</a>, or Automated Error Seeding, is an approach where the testing tool makes some change to the tested code, runs the tests, and if the tests pass displays a message saying what it changed.
</blockquote>
<p>
The key difference is that it makes it easier to run a series of tests rather than just one at a time, aiding in more complex testing abilities. Check out <a href="http://www.phpunit.de/wiki/Ideas#SupportforMutationTesting">this page</a> on the PHPUnit site for more information.
</p>]]></description>
      <pubDate>Mon, 16 Apr 2007 07:52:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Ideas for PHPUnit Projects]]></title>
      <guid>http://www.phpdeveloper.org/news/7344</guid>
      <link>http://www.phpdeveloper.org/news/7344</link>
      <description><![CDATA[<p>
Always looking forward to the future of <a href="http://www.phpunit.de/">PHPUnit</a>, <i>Sebastian Bergmann</i> has <a href="http://sebastian-bergmann.de/archives/660-Ideas-for-PHPUnit-Projects.html">started gathering</a> some ideas for future additions to the project:
</p>
<blockquote>
I started to collect <a href="http://www.phpunit.de/wiki/Ideas">ideas for features that I would like to see</a> in <a href="http://www.phpunit.de/">PHPUnit</a> but currently lack the time to implement myself.
</blockquote>
<p>
The two listed in <a href="http://sebastian-bergmann.de/archives/660-Ideas-for-PHPUnit-Projects.html">this post</a> are:
<ul>
<li><a href="http://en.wikipedia.org/wiki/Mutation_testing">Mutation testing</a> - an approach where the testing tool makes some change to the tested code, runs the tests, and if the tests pass displays a message saying what it changed
<li>Web Interface for Test Result Database - output viewer for the <A href="http://sebastian-bergmann.de/archives/659-Distributed-Testing-with-PHPUnit-3.1.html">database logging</a> PHPUnit is now capable of.
</ul>
Looking to help out? <a href="http://www.phpunit.de/wiki/MailinglistsAndIrc">Let him know</a>!
</p>]]></description>
      <pubDate>Mon, 26 Feb 2007 11:26:00 -0600</pubDate>
    </item>
  </channel>
</rss>
