Softwaretests und Business Process Reengineering (BPR)
Vorteile von Unit-Tests
Das Ziel von Unit-Tests ist es, jeden Teil des Programms zu isolieren und zu zeigen, dass die einzelnen Komponenten korrekt funktionieren. Sie bilden einen schriftlichen Vertrag, den der Code erfüllen muss. Diese Tests bieten fünf grundlegende Vorteile:
- 1. Förderung von Änderungen: Unit-Tests erleichtern es Programmierern, den Code zu ändern und die Struktur zu verbessern, da sie die Änderungen testen können und sicherstellen, dass keine neuen Fehler eingeführt wurden.
- 2. Vereinfachung der Integration: Die Integrationsphase kann mit einem hohen Maß an Sicherheit durchgeführt werden, da der Code bereits verifiziert wurde. Dies erleichtert Integrationstests erheblich.
- 3. Dokumentation des Codes: Die Tests selbst dienen als Code-Dokumentation, da sie zeigen, wie die Funktionen angewendet werden.
- 4. Trennung von Schnittstelle und Implementierung: Da die Interaktion zwischen Testfällen und Prüflingen über Schnittstellen erfolgt, können Implementierungen ausgetauscht werden, teilweise unter Verwendung von Mock-Objekten zur Simulation komplexer Verhaltensweisen.
- 5. Fehlerlokalisierung: Fehler sind stärker begrenzt und einfacher zu finden, da Unit-Tests eine gezielte Überprüfung ermöglichen.
Grenzen von Unit-Tests
Unit-Tests entdecken keine logischen Fehler im Gesamtsystem, keine Integrationsfehler oder Performance-Probleme, die das gesamte System betreffen.
Funktionstests
Funktionstests werden durch das Design von Testmodellen durchgeführt, die jede Option des Softwarepakets systematisch auswerten.
Integrationstests
Integrationstests stellen sicher, dass eine große Anzahl von Softwarekomponenten korrekt zusammenarbeitet.
Validierungstests
Validierung ist der Prozess der Prüfung, ob das entwickelte Produkt den Anforderungen des Anwenders entspricht. Dabei wird bewertet, ob das System die ursprünglichen Voraussetzungen erfüllt: Ist das, was der Kunde wollte, auch das, was geliefert wurde?
White-Box-Tests
Dies ist eine Methode zum Entwurf von Testfällen unter Nutzung der internen Kontrollstruktur des Codes, um sicherzustellen, dass:
- Alle logischen Entscheidungen geprüft werden.
- Alle Schleifen durchlaufen werden.
- Die internen Datenstrukturen korrekt verarbeitet werden.
Black-Box-Tests
Diese Tests werden auf der Softwareoberfläche durchgeführt, ohne das interne Verhalten oder die Struktur des Programms zu berücksichtigen. Die Testfälle sollen zeigen, dass:
- Die Softwarefunktionen korrekt arbeiten.
- Eingaben richtig akzeptiert werden.
- Korrekte Ausgaben erzeugt werden.
- Die Integrität externer Informationen erhalten bleibt.
Reengineering
Process Reengineering (BPR) ist ein Management-Tool, das Ende der achtziger Jahre durch Michael Hammer und James Champy bekannt wurde.
Definition von Process Reengineering
BPR bezeichnet die radikale Neugestaltung von Geschäftsprozessen, um dramatische Verbesserungen in der Verwaltung zu erreichen. Die Kernkonzepte sind:
- 1. Fundamental: Es werden grundlegende Fragen zum Unternehmen gestellt und bisher unangefochtene Standards überprüft. Zuerst wird bestimmt, was das Unternehmen tun sollte, dann wie.
- 2. Radical: Es geht um eine tiefgreifende Neugestaltung an der Wurzel, statt nur oberflächliche Reparaturen an bestehenden Systemen vorzunehmen.
- 3. Spektakulär: BPR zielt auf Riesenschritte in der Leistung ab, nicht auf marginale oder inkrementelle Verbesserungen.
Grundsätze des Reengineerings
- Unterstützung durch die oberste Führungsebene.
- Ausrichtung an der Geschäftsstrategie.
- Fokus auf Kundennutzen.
- Konzentration auf Prozesse statt auf Funktionen.
- Verantwortungsvolle und geschulte Teams.
- Feedback-Systeme zur Messung der Kundenzufriedenheit.
- Flexibilität bei der Durchführung der Aktionspläne.
BPR-Merkmale
- Vereinheitlichung von Aufgaben: Reduzierung von Schnittstellen, Beseitigung unnötiger Aufsicht und Qualitätssteigerung.
- Mitbestimmung der Mitarbeiter: Mitarbeiter treffen eigene Entscheidungen und übernehmen Verantwortung für ihre Arbeit.
- Prozessorientierung: Die Rolle des Prozesses wird im Unternehmen nach der Einführung von BPR zentral.
- Produktvielfalt: Realisierung verschiedener Versionen zur besseren Anpassung an Kundenbedürfnisse.