erlangotp.com

Testing / Analysis

Dialyzer

Dialyzer is a static analysis tool that looks for software discrepancies such as type errors, useless tests, code paths that will never be executed, will warn about some unsafe practices and can detect some cases of data race conditions.

Allows the user to declare function contracts and custom types. See the types and functions specifications page. Note that Dialyzer is based on success typings[PDF].

Tsung

Tsung is a multi-protocol distributed load testing tool that can be used to conduct stress tests on HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers.

It has the advantage of making it possible to distribute the tests across many nodes to simulate a large number of users accessing the server, or a DoS attack.

McErlang

McErlang is a model checker for programs written in the Erlang programming language. The idea is to replace the part of the standard Erlang runtime system that concerns distribution, concurrency and communication with a new runtime system which simulates processes inside the model checker, and which offers easy access to the program state.

See the user manual[PDF] for more details.

Quviq Quickcheck

Quvic Quickcheck is a commercial testing application that generates random test cases based on predefined specifications. Quickcheck simplifies failing cases to generalize them and make it easier to fix the problems in your code.

Triq

Triq is an Open Source/free version of Quiviq eqc. It is a property testing library born out of Kresten Krab Thorup's erjang project.

Proper

proper is an(other) property testing library for Erlang. An(other) Open Source version of QuickCheck (the Haskell property testing library). Developed by Manolis Papadakis and Kostis Sagonas and released under the GPL.

Tidier

Tidier is a commercial tool with a free web-based interface that takes your Erlang code, analyses it, and then spits out a cleaner version that is easier to read. The tool is actually used by the OTP team at Ericsson in order to clean up the current Erlang code base.

Cover

Cover is one of the standard applications from the OTP tool chain. It is to be used in conjunction with test frameworks in order to know if you really check every possible code path. It works by annotating the modules you want to analyse (reducing performance a bit, something acceptable for tests). After this, you run any test you want, without regard to what framework you use, and cover will take note of every line of code called. You can then generate coverage analysis by module, function, line, etc.

markdown enabled   help   

You are editing ""