[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Little Languages for Testing?
I've come to conclude that testing is one of the areas where
Erlang/OTP _really_ shines. Being in the telecom business,
we are fairly keen on testing. Our biggest Erlang-based
product, AXD 301, is submitted to >10,000 test cases before
each major release, obviously with a pretty large degree of
Erlang's declarative style lends itself well to test case
design. We have a test server that allows us to run whole
test suites both in simulation rigs and on real target
systems. The symbolic error reports are quite easy to
interpret, and quite often, one can guess already from the
error report what the bug is. Finally, the lightweight
concurrency and distribution transparency make it possible
to write some pretty advanced test tools quickly (our system
testers have written various different simulators and
traffic generators, even though they maintain stubbornly
that they are not programmers.)
I think it's fair to say that all the features of Erlang
that make it great for telecommunications systems design
also make it a great tool for making testing libraries.
See also http://www.erlang.se/workshop/2002/Wiger.pdf
On 15 May 2003, Eric Kidd wrote:
>Extensive unit testing seems to be getting more popular,
>thanks to better testing libraries, and test-intensive
>methodologies like XP. Tool support is fairly good: JUnit
>and similar libraries are pleasant to use, and increasingly
>But could we do better? Some questions:
>* Should there be an intermediate level of access between
>'public' and 'private' for use by unit tests?
>* If it were possible to declare unit tests in the same
>file as the source code--without code bloat--would this
>lead to better or worse programs?
>* Are there any really good macro libraries for unit
>testing? Harlequin Dylan included a pretty slick one--and
>I've seen a few LISP packages floating around--but I'd love
>to hear of other libraries which do this well.
Ulf Wiger, Senior Specialist,
/ / / Architecture & Design of Carrier-Class Software
/ / / Strategic Product & System Management
/ / / Ericsson AB, Connectivity and Control Nodes