11.3.  Testen

11.3.1.  Fehlertypen

Typische Fehlertypen

Fehlende Analysen (sin of omission)

Falsche Analysen (sin of commission)

Das System erzeugt falsche Wortformen und/oder falsche Analysen: Übergenerierung bzw. Überanalyse.

Welche Gründe kommen in Frage?

11.3.2.  Testmethoden

Testmethoden

Manuelles Testen

Während dem Entwickeln werden in der Entwicklungsumgebung kleine Anfragen mit apply gemacht.

Kleine Experimente dienen zur Verifikation von Ansätzen.

Automatisches Testen

Systematisches Testen auf Vollständigkeit bzw. hohe Abdeckung und Korrektheit mit Hilfe der Laufzeit-Applikation (lookup) oder xfst und lexikalischen Testressourcen.

Abdeckungstestszenario im UNIX-Stil ▸▸▸

  1. Testkorpus nehmen
  2. Simples Tokenisieren zu vertikalisiertem Text
  3. Morphologische Analyse machen
  4. Unanalysierbare Wortformen filtern
  5. Nur Wortform in 1. Spalte ausgeben
  6. Alphabetisches Sortieren
  7. Format Häufigkeit-Wortform erzeugen
  8. Numerisches Sortieren (Häufigstes zuoberst)


$ cat mycorpus.txt |  \
  tr -sc "[:alpha:]" "[\n*]"  | \
  lookup mylanguage.fst  | \
  grep ’+?’  | \
  gawk ’{print $1}’  | \
  sort  | \
  uniq -c  | \
  sort -rnb  > failures.sorted

Hinweis: Das Symbol | in der UNIX-Shell lenkt den Output eines Werkzeugs um als Input des nachfolgenden Werkzeugs – so braucht es keine Zwischendateien. Der \ an Zeilenenden erlaubt einen langen Befehl auf mehreren Zeilen einzugeben.

Weitere Test- und Optimierungsmethoden