<?xml version="1.0" encoding="UTF-8"?>
<chapter id="testing">
  <title>Testing</title>

  <section id="testinggoals">
    <title>Overall goals</title>
    <para>The overall goals of our test environment is to execute tests that ensures that
    we have full coverage of the code in Fungal.</para>

    <para>TBD</para>
  </section>


  <section id="qa">
    <title>Quality Assurance</title>
    <para>In addition to the test suite the Fungal project deploys various
      tools to increase the stability of the project.</para>
    <para>The following sections will describe each of these tools.</para>

    <section id="checkstyle">
      <title>Checkstyle</title>
      <para>Checkstyle is a tool that verifies that the formatting of the source
        code in the project is consistent.</para>

      <para>This allows for easier readability and a consistent feel of the project.</para>

      <para>The goal is to have zero errors in the report. The checkstyle report is generated
        using</para>

      <programlisting>
ant checkstyle
      </programlisting>

      <para>The report is generated into</para>

      <programlisting>
reports/checkstyle
      </programlisting>

      <para>The home of checkstyle is located here: <ulink url="http://checkstyle.sourceforge.net/"/>.</para>

    </section>

    <section id="findbugs">
      <title>Findbugs</title>
      <para>Findbugs is a tool that scans your project for bugs and provides reports based on its
        findings.</para>

      <para>This tool helps lower of the number of bugs found in the Fungal project.</para>

      <para>The goal is to have zero errors in the report and as few exclusions in the filter as possible.
        The findbugs report is generated using</para>

      <programlisting>
ant findbugs
      </programlisting>

      <para>The report is generated into</para>

      <programlisting>
reports/findbugs
      </programlisting>

      <para>The home of findbugs is located here: <ulink url="http://findbugs.sourceforge.net/"/>.</para>

    </section>

    <section id="cobertura">
      <title>Cobertura</title>
      <para>Cobertura generates a test suite matrix for your project which helps you identify
        where you need additional test coverage.</para>

      <para>The reports that the tool provides makes sure that the Fungal project has the correct test coverage.</para>

      <para>The goal is to have as high code coverage as possible in all areas. The Cobertura report is
        generated using</para>

      <programlisting>
ant cobertura
      </programlisting>

      <para>The report is generated into</para>

      <programlisting>
reports/cobertura
      </programlisting>

      <para>The home of Cobertura is located here: <ulink url="http://cobertura.sourceforge.net/"/>.</para>

    </section>

    <section id="tattletale">
      <title>Tattletale</title>
      <para>Tattletale generates reports about different quality matrix of the dependencies within the project.</para>

      <para>The reports that the tool provides makes sure that the Fungal project doesn't for example have
        cyclic dependencies within the project.</para>

      <para>The goal is to have as no issues flagged by the tool. The Tattletale reports are
        generated using</para>

      <programlisting>
ant tattletale
      </programlisting>

      <para>The reports are generated into</para>

      <programlisting>
reports/tattletale
      </programlisting>

      <para>The home of Tattletale is located here: <ulink url="http://www.jboss.org/tattletale"/>.</para>

    </section>

  </section>

</chapter>
