\begin{slide}{Testen mit JUnit}

Kent Beck and Erich Gamma,
\url{http://junit.org/index.htm}

\begin{verbatim}
import static org.junit.Assert.*;
class XTest {

   @Test
    public void testGetFoo() {
        Top f = new Top ();
        assertEquals (1, f.getFoo());
    }
}
\end{verbatim}
\url{http://www-128.ibm.com/developerworks/java/library/j-junit4.html}

JUnit ist in Eclipse-IDE integriert
(New $\to$ JUnit Test Case $\to$ 4.0)


\end{slide}

\begin{slide}{JUnit und Extreme Programming}



Kent Beck  empfiehlt \emph{test driven apporach}:
\begin{itemize} \parskip 2pt
\item
  \emph{erst} alle Test-Methoden schreiben,
\item
  \emph{dann} eigentliche Methoden implementieren
\item
  \dots bis sie die Tests bestehen (und nicht weiter!)
\item
  Produkt-Eigenschaften, die sich nicht testen lassen,
  \emph{sind nicht vorhanden}.
\item
  zu jedem neuen Bugreport einen neuen Testfall anlegen
\end{itemize}
\emph{Testfall schreiben} ist \emph{Spezifizieren}, 
das geht \emph{immer} dem Implementieren voraus. --- 
\emph{Testen} der Implementierung
ist nur die zweitbeste Lösung (besser ist \emph{Verifizieren}).

\end{slide}
