Message from discussion
Unit testing
Received: by 10.14.10.216 with SMTP id 64mr2094118eev.3.1324591997329;
Thu, 22 Dec 2011 14:13:17 -0800 (PST)
X-BeenThere: erlang-programming@googlegroups.com
Received: by 10.14.99.73 with SMTP id w49ls1281738eef.4.gmail; Thu, 22 Dec
2011 14:13:17 -0800 (PST)
Received: by 10.204.156.205 with SMTP id y13mr524900bkw.3.1324591996969;
Thu, 22 Dec 2011 14:13:16 -0800 (PST)
Received: by 10.204.156.205 with SMTP id y13mr524899bkw.3.1324591996947;
Thu, 22 Dec 2011 14:13:16 -0800 (PST)
Return-Path: <erlang-questions-boun...@erlang.org>
Received: from hades.cslab.ericsson.net (hades.cslab.ericsson.net. [192.121.151.104])
by gmr-mx.google.com with ESMTP id g19si9037514bkg.2.2011.12.22.14.13.16;
Thu, 22 Dec 2011 14:13:16 -0800 (PST)
Received-SPF: pass (google.com: domain of erlang-questions-boun...@erlang.org designates 192.121.151.104 as permitted sender) client-ip=192.121.151.104;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of erlang-questions-boun...@erlang.org designates 192.121.151.104 as permitted sender) smtp.mail=erlang-questions-boun...@erlang.org
Received: from hades.cslab.ericsson.net (hades [192.121.151.104])
by hades.cslab.ericsson.net (Postfix) with ESMTP id F05005C2EC;
Thu, 22 Dec 2011 23:13:11 +0100 (CET)
X-Original-To: erlang-questi...@erlang.org
Delivered-To: erlang-questi...@erlang.org
Received: from zimbra.erlangsystems.com (zimbra.erlangsystems.com
[93.93.131.195])
by hades.cslab.ericsson.net (Postfix) with ESMTP id 122665C062
for <erlang-questi...@erlang.org>; Thu, 22 Dec 2011 23:13:10 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
by zimbra.erlangsystems.com (Postfix) with ESMTP id C6EE4182E001
for <erlang-questi...@erlang.org>; Thu, 22 Dec 2011 22:13:09 +0000 (GMT)
X-Virus-Scanned: amavisd-new at zimbra.erlangsystems.com
Received: from zimbra.erlangsystems.com ([127.0.0.1])
by localhost (zimbra.erlangsystems.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id uijnHoQZVIgq for <erlang-questi...@erlang.org>;
Thu, 22 Dec 2011 22:13:08 +0000 (GMT)
Received: from Jesper-Louis-Andersens-MacBook-Pro.local
(port1394.ds1-vby.adsl.cybercity.dk [212.242.187.203])
by zimbra.erlangsystems.com (Postfix) with ESMTPSA id 665B9D14013
for <erlang-questi...@erlang.org>; Thu, 22 Dec 2011 22:13:08 +0000 (GMT)
Message-ID: <4EF3AB72.6020...@erlang-solutions.com>
Date: Thu, 22 Dec 2011 23:13:06 +0100
From: Jesper Louis Andersen <jesper.louis.ander...@erlang-solutions.com>
Organization: Erlang Solutions
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7;
rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: erlang-questi...@erlang.org
References: <CAJ=2b07+tLjXiputEf7tLXM4Eff5y=CVLe0TxoZ017+Eq4L...@mail.gmail.com>
<CAJ=2b06dXTd3Dp7=+54RBKJwB_MX-6n5A-jfcaYiz7RQm7S...@mail.gmail.com>
<14C7BD11-34CC-450A-AE9F-D0A027D4D...@lovely.email.ne.jp>
In-Reply-To: <14C7BD11-34CC-450A-AE9F-D0A027D4D...@lovely.email.ne.jp>
Subject: Re: [erlang-questions] Unit testing
X-BeenThere: erlang-questi...@erlang.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: General Erlang/OTP discussions <erlang-questions.erlang.org>
List-Unsubscribe: <http://erlang.org/mailman/options/erlang-questions>,
<mailto:erlang-questions-requ...@erlang.org?subject=unsubscribe>
List-Archive: <http://erlang.org/pipermail/erlang-questions>
List-Post: <mailto:erlang-questi...@erlang.org>
List-Help: <mailto:erlang-questions-requ...@erlang.org?subject=help>
List-Subscribe: <http://erlang.org/mailman/listinfo/erlang-questions>,
<mailto:erlang-questions-requ...@erlang.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5936844374186910832=="
Errors-To: erlang-questions-boun...@erlang.org
Sender: erlang-questions-boun...@erlang.org
This is a multi-part message in MIME format.
--===============5936844374186910832==
Content-Type: multipart/alternative;
boundary="------------040608070709070105060002"
This is a multi-part message in MIME format.
--------------040608070709070105060002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
On 12/21/11 12:41 AM, Joseph Norton wrote:
> I'd recommend to use QuickCheck (http://www.quviq.com/) and/or PropEr
> (http://proper.softlab.ntua.gr/) for testing Erlang and non-Erlang
> applications. Just in case no one else has mentioned either of these
> tools to you.
>
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.
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.
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.
--
Jesper Louis Andersen
Erlang Solutions Ltd., Copenhagen, DK
--------------040608070709070105060002
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<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-D0A027D4D...@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>
--------------040608070709070105060002--
--===============5936844374186910832==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
erlang-questions mailing list
erlang-questi...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
--===============5936844374186910832==--