\begin{slide}{Testen mit JUnit}

\url{http://junit.org/index.htm}

\begin{verbatim}
import junit.framework.*;
class X extends TestCase {
  static int f (int y) { ... }

  public static void testf () { 
    assertEquals ("foo", 4, f(7));
  }
  public static void main (String [] argv) {
      junit.awtui.TestRunner.run(X.class);
  } // führt alle  test*()-Methoden  aus
}
\end{verbatim}
JUnit ist in Eclipse-IDE intergriert

\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}
