<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 12/21/11 12:41 AM, Joseph Norton wrote:
    <blockquote
      cite="mid:14C7BD11-34CC-450A-AE9F-D0A027D4D5BB@lovely.email.ne.jp"
      type="cite">
      <div>I'd recommend to use QuickCheck (<span
          class="Apple-style-span" style="font-family: helvetica, arial,
          freesans, clean, sans-serif; font-size: 13px; line-height:
          19px; "><a moz-do-not-send="true" href="http://www.quviq.com/"
            style="margin-top: 0px; margin-right: 0px; margin-bottom:
            0px; margin-left: 0px; padding-top: 0px; padding-right: 0px;
            padding-bottom: 0px; padding-left: 0px; color: rgb(65, 131,
            196); text-decoration: none; ">http://www.quviq.com/</a>) </span>and/or
        PropEr (<span class="Apple-style-span" style="font-family:
          helvetica, arial, freesans, clean, sans-serif; font-size:
          13px; line-height: 19px; "><a moz-do-not-send="true"
            href="http://proper.softlab.ntua.gr/" style="margin-top:
            0px; margin-right: 0px; margin-bottom: 0px; margin-left:
            0px; padding-top: 0px; padding-right: 0px; padding-bottom:
            0px; padding-left: 0px; color: rgb(65, 131, 196);
            text-decoration: none; ">http://proper.softlab.ntua.gr/</a>)
          for testing Erlang and non-Erlang applications.  </span>Just
        in case no one else has mentioned either of these tools to you.</div>
      <br>
    </blockquote>
    We use PropEr in etorrent currently. We were using QuickCheck until
    Magnus Klaar changed us to PropEr. We run PropEr from eunit
    actually, just because it is easier to hook into the tool chain. But
    this is for internal testing of individual modules.<br>
    <br>
    The other tool we use it Common Test (ct) which is a bit more
    involved to set up. We use it to spawn a small local BitTorrent
    network and test that our application can communicate with itself
    and a foreign BitTorrent client. This tend to weed out many problems
    right away. The advantage of Erlang is that you can use it through
    ct to control other applications while you are running tests.<br>
    <br>
    So my approach would be: Internal test => eunit, Large scale
    blackbox test => CommonTest. And finally, use PropEr or
    QuickCheck for writing the test cases so you can automatically
    generate a couple 1000 tests and get your system properly tested.<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Jesper Louis Andersen
  Erlang Solutions Ltd., Copenhagen, DK</pre>
  </body>
</html>