Was wird geprüft?

  • Benutzeranforderungen: Ob die Software die definierten Benutzererwartungen und -anforderungen erfüllt.
  • Geschäftslogik: Korrekte Implementierung der Geschäftslogik und -regeln.
  • Datenmanagement: Korrekte Verarbeitung, Validierung und Speicherung von Daten.
  • Schnittstellen und Integrationen: Korrekte Funktion und Datenfluss zwischen verbundenen Systemen und Modulen.
  • Benutzerinterface: Übereinstimmung des Benutzerinterfaces mit den Spezifikationen und dessen Funktionalität.
  • Sicherheit: Basisprüfung der Funktionsaspekte der Sicherheit, z.B. Zugriffskontrollen.
  • Fehlerbehandlung: Angemessene Reaktion der Software auf Fehlerbedingungen.

Mittel und Werkzeuge

Die Durchführung funktionaler Tests kann manuell oder automatisiert erfolgen, wobei eine Vielzahl von Werkzeugen und Techniken zum Einsatz kommt:

Manuelle Tests

  • Testfälle und Szenarien: Spezifische Bedingungen und Vorgehensweisen, die von Testern manuell durchgeführt werden, um die Funktionalität zu überprüfen.
  • Checklisten: Helfen Testern, systematisch durch die zu testenden Funktionen zu gehen.
  • Exploratives Testen: Tester erkunden die Software, um Fehler zu finden, ohne vorher festgelegte Testfälle.

Automatisierte Tests

  • Testautomatisierungsframeworks: Werkzeuge wie Selenium, JUnit, TestNG für Web- und Anwendungsplattformen ermöglichen die Automatisierung von Testfällen.
  • Skriptsprachen: Verwendung von Skriptsprachen (z.B. Python, Ruby) zur Automatisierung von Testabläufen.
  • CI/CD Integration: Automatisierte Tests werden in Continuous Integration/Continuous Delivery Pipelines integriert, um Tests bei jeder Codeänderung automatisch auszuführen.

Testdesign-Techniken

Um effektive funktionale Tests durchzuführen, werden verschiedene Testdesign-Techniken eingesetzt:

  • Äquivalenzklassenbildung: Einteilung von Eingabedaten in Gruppen, die ähnliche Verhaltensweisen erwarten lassen, um die Anzahl der Testfälle zu reduzieren.
  • Grenzwertanalyse: Testen an den oberen und unteren Grenzen von Eingabebereichen.
  • Zustandsbasiertes Testen: Überprüfung von Softwarezuständen und deren Übergängen.
  • Entscheidungstabellentesten: Erstellung von Entscheidungstabellen für verschiedene Eingabekombinationen und die erwarteten Ergebnisse.
  • Benutzergeschichten und Anwendungsfälle: Entwicklung von Testfällen basierend auf Benutzergeschichten oder Anwendungsfällen, um realistische Szenarien zu simulieren.

Best Practices

  • Frühe Einbindung: Beginnen Sie mit funktionalen Tests so früh wie möglich im Entwicklungszyklus.
  • Priorisierung: Priorisieren Sie Testfälle basierend auf Geschäftswichtigkeit und Risiko.
  • Regressionstests: Führen Sie regelmäßig Regressionstests durch, um sicherzustellen, dass neue Änderungen die bestehende Funktionalität nicht beeinträchtigen.
  • Dokumentation: Halten Sie Testergebnisse und -berichte für die Analyse und zukünftige Referenz sorgfältig fest.

Last modified: Friday, 15 March 2024, 7:44 AM