<?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>Tue, 21 May 2013 05:50:55 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: Contributing to Paratest]]></title>
      <guid>http://www.phpdeveloper.org/news/19278</guid>
      <link>http://www.phpdeveloper.org/news/19278</link>
      <description><![CDATA[<p>
On DZone.com today there's an update about <a href="http://css.dzone.com/articles/contributing-paratest">recent additions to Paratest</a>, the parallel PHPUnit test runner (created by <a href="https://github.com/brianium/paratest">Brian Scaturro</a>). He talks some about the benefits of running tests in parallel and shares some of the recent contributions to the project from other developers.
</p>
<blockquote>
I've already written about <a href="http://css.dzone.com/articles/parallel-phpunit">my experiments with Paratest</a>. Paratest is a PHPUnit wrapper that allows you to run tests written for PHPUnit in parallel, making us of multiple processes running on the same machine. In a world where cycle time is an important metric, trading resources to get the test suite to finish earlier is a net gain; especially when you're stepping on unstable stones and run the suite very often.
</blockquote>
<p>
He (<i>Giorgio Sironi</i>) has contributed a new test runner to the project - the "WrapperRunner" that limits the number of processes spawned by the parallel testing tool. Another contribution came from <i>Dimitris Baltas</i> involving the addition of a <a href="https://github.com/brianium/paratest/pull/23">TEST_TOKEN variable</a> that can be used to uniquely identify each process as they're executing.
</p>]]></description>
      <pubDate>Wed, 06 Mar 2013 10:16:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Parallel PHPUnit]]></title>
      <guid>http://www.phpdeveloper.org/news/19139</guid>
      <link>http://www.phpdeveloper.org/news/19139</link>
      <description><![CDATA[<p>
On DZone.com <i>Giorgio Sironi</i> has written up a new tutorial showing how to <a href="http://css.dzone.com/articles/parallel-phpunit">use parallelism with PHPUnit</a> to execute multiple sets of tests at once, hoping for a performance gain.
</p>
<blockquote>
Of course the cost of coordinating different processes is always going to be present, so we will never reach the theoretical speedup. I'll report later in this article some simulations. The most important constraints come from the design of our test suites. I can only think of two categories of tests as easily parallelizable: unit tests and Selenium tests.
</blockquote>
<p>
He mentions one specific issue to watch out for - race conditions between the test sets (using the same backend resources). To help solve the issue, he recommends looking into <a href="https://github.com/brianium/paratest">Paratest</a>, a tool that sits on top of PHPUnit and handles the execution of the tests in parallel. He creates some sample tests (they just compute values) and compares the runs of them in single- and multiple-process modes. The difference is a twenty-five percent drop in execution time for the parallel test runs.
</p>]]></description>
      <pubDate>Tue, 05 Feb 2013 13:35:16 -0600</pubDate>
    </item>
  </channel>
</rss>
