Title: Testing
# Intro
As Mahout matures, solid testing procedures are needed. This page and its
children capture test plans along with ideas for improving our testing.
# Test Plans
* [0.6](0.6.html)
- Test Plans for the 0.6 release
There are no special plans except for unit tests, and user testing of the
Hadoop jobs.
# Test Ideas
## Regressions/Benchmarks/Integrations
* Algorithmic quality and speed are not tested, except in a few instances.
Such tests often require much longer run times (minutes to hours), a
running Hadoop cluster, and downloads of large datasets (in the megabytes).
* Standardized speed tests are difficult on different hardware.
* Unit tests of external integrations require access to externals: HDFS,
S3, JDBC, Cassandra, etc.
Apache Jenkins is not able to support these environments. Commercial
donations would help.
## Unit Tests
Mahout's current tests are almost entirely unit tests. Algorithm tests
generally supply a few numbers to code paths and verify that expected
numbers come out. 'mvn test' runs these tests. There is "positive" coverage
of a great many utilities and algorithms. A much smaller percent include
"negative" coverage (bogus setups, inputs, combinations).
## Other