Du kennst dieses mulmige Gefühl, wenn ein Bug in die Produktion gelangt? Der Moment, wenn dein Handy um 2 Uhr morgens mit Warnungen klingelt, weil etwas kaputt gegangen ist? Ja, das kennen wir alle. Deshalb ist ein durchdachtes Testfall-Design nicht nur wichtig – es ist dein Sicherheitsnetz.
Gut konzipierte Testfälle sind wie eine gute Versicherungspolice. Sie fangen Probleme ab, bevor sie zu teuren Problemen werden. Laut aktuellen Branchendaten kostet schlechte Softwarequalität Unternehmen jährlich satte 2,41 Billionen Dollar. Das ist kein Tippfehler – Billionen mit einem B.
Testfall-Design-Techniken verstehen
Testfall-Design-Techniken sind systematische Methoden zur Erstellung von Testszenarien, die helfen zu bestätigen, dass deine Software wie erwartet funktioniert. Sie geben dir einen Rahmen, um Tests zu erstellen, die effizient Fehler finden und gleichzeitig unnötige Testfälle minimieren.
Denke an diese Techniken wie verschiedene Linsen, durch die du deine Anwendung betrachten kannst, wobei jede potenzielle Probleme aufdeckt, die andere möglicherweise übersehen.
Wichtige Ziele von Testfall-Design-Techniken:
- Maximierung der Fehlererkennung mit minimalen Testfällen
- Strukturierte Ansätze zum Testen komplexer Systeme
- Sicherstellen, dass kritische Pfade und Funktionen ausreichend abgedeckt werden
- Erstellung wiederholbarer, konsistenter Testprozesse
- Ausgleich zwischen Test-Gründlichkeit und Zeitbeschränkungen
- Reduzierung redundanter oder wenig wertvoller Tests
Gutes Testdesign bedeutet nicht, alles zu testen – sondern die richtigen Dinge zu testen. Diese Techniken helfen dir, deine Bemühungen dort zu konzentrieren, wo sie die größte Wirkung haben.
Ich finde Testfälle hilfreich und wäre traurig, wenn sie verschwinden würden, da ich sie häufig nutze, um die Funktionalität eines Produkts zu verstehen, zu dem ich im Unternehmen möglicherweise keinen Zugang habe. Außerdem vergesse ich oft Details einer Funktion, die ich länger nicht getestet habe, daher finde ich die Dokumentation in Form von Testfällen sehr hilfreich.
Kategorien von Testfall-Design-Techniken
Testfall-Design-Techniken fallen generell in drei Hauptkategorien, jede mit unterschiedlichen Ansätzen und Stärken:
Black-Box-Testing-Techniken
- Konzentrieren sich auf das Testen der Funktionalität ohne Einblick in den internen Code
- Behandeln die Software als „Black Box“, bei der nur Eingaben und Ausgaben wichtig sind
- Perfekt für QA-Teams, die möglicherweise keine tiefen Programmierkenntnisse haben
- Testen aus der Perspektive des Benutzers
White-Box-Testing-Techniken
- Untersuchen die interne Struktur und den Code
- Erfordern Verständnis der inneren Funktionsweise der Anwendung
- Helfen zu überprüfen, ob alle Codepfade korrekt funktionieren
- Typischerweise von Entwicklern oder technisch versierten Testern verwendet
Erfahrungsbasierte Techniken
- Nutzen die Fähigkeiten, Intuition und Domänenkenntnisse des Testers
- Weniger formal, aber oft sehr effektiv beim Auffinden unerwarteter Probleme
- Ergänzen strukturiertere Techniken
- Besonders wertvoll, wenn die Zeit begrenzt ist
Die effektivsten Teststrategien kombinieren Techniken aus allen drei Kategorien und schaffen mehrere Validierungsebenen, um verschiedene Arten von Problemen zu finden.
Für ein effektives Testfall-Management benötigst du eine moderne Lösung, die dir den größten Teil der Arbeit abnimmt. Heutzutage bieten Test-Management-Systeme (TMS) KI-gestützte Funktionen, die das für dich erledigen, und zwar perfekt.
Ein Paradebeispiel für diese Lösungen ist aqua cloud, ein KI-gesteuertes Test-Management-System, das speziell entwickelt wurde, um dein Testfall-Management zum Kinderspiel zu machen. Mit aqua kannst du detaillierte Testfälle in wenigen Sekunden erstellen, 98% schneller im Vergleich zur manuellen Testfallerstellung. Du musst dem KI-Copiloten nur deine Anforderung mitteilen (die du auch mit aqua cloud in wenigen Sekunden erstellen kannst). Jetzt kannst du Testfälle mit aquas KI-Copilot unter Verwendung verschiedener Techniken erstellen, sodass du nie die Flexibilität verlierst und nie auf eine Methode beschränkt bist. Abgesehen davon kann aqua cloud auch unbegrenzte synthetische Testdaten in Sekundenbruchteilen liefern, wenn du sie benötigst. 100% Testabdeckung, Sichtbarkeit, Nachverfolgbarkeit, anpassbare Berichte, Jira- und Azure DevOps-Integrationen, ein zentrales Repository, native Bug-Tracking-Integration – all das macht aqua cloud zu einer eigenständigen Lösung für all deine Test-Management-Bemühungen.
Spare bis zu 98% Zeit bei der Testfallerstellung
Detaillierter Überblick über wichtige Testfall-Design-Techniken
1. Grenzwertanalyse (Boundary Value Analysis, BVA)
Die Grenzwertanalyse konzentriert sich auf das Testen an den Grenzen gültiger Eingabebereiche. Sie basiert auf dem Prinzip, dass Fehler eher an den Grenzen von Eingabebereichen auftreten als im Zentrum.
Überlege mal: Wie viele Bugs hast du gesehen, die nur auftreten, wenn Benutzer den maximal oder minimal erlaubten Wert eingeben? Deshalb zielt BVA auf diese Grenzbereiche ab.
Wie es funktioniert: Für ein Feld, das Werte zwischen 1 und 100 akzeptiert, wären deine Grenzwerte:
- Knapp unter der unteren Grenze: 0
- An der unteren Grenze: 1
- Knapp über der unteren Grenze: 2
- Knapp unter der oberen Grenze: 99
- An der oberen Grenze: 100
- Knapp über der oberen Grenze: 101
Warum es effektiv ist:
- Findet häufige Programmierfehler rund um Limits und Einschränkungen
- Identifiziert Grenzfallfehler effizient mit minimalen Testfällen
- Findet oft Bugs, die reguläre Tests übersehen
Beispiel in Aktion: Stell dir vor, du testest ein Altersfeld in einem Formular, das Alter von 18-65 akzeptiert:
Testfall | Eingabewert | Erwartetes Ergebnis |
---|---|---|
Unterhalb des Mindestwerts | 17 | Fehlermeldung wird angezeigt |
Am Mindestwert | 18 | Eingabe wird akzeptiert |
Oberhalb des Mindestwerts | 19 | Eingabe wird akzeptiert |
Unterhalb des Maximalwerts | 64 | Eingabe wird akzeptiert |
Am Maximalwert | 65 | Eingabe wird akzeptiert |
Oberhalb des Maximalwerts | 66 | Fehlermeldung wird angezeigt |
Wann es anzuwenden ist: BVA funktioniert besonders gut für numerische Eingaben, Datumsangaben, Textfelder mit Längenbeschränkungen und jede Funktion mit klar definierten Grenzen.
Ich folge normalerweise einer Eselsbrücke, um mein Testen zu strukturieren:
Negativ - alles außerhalb der Grenzen dessen, was erwartet wird
Grenzwert - negative Längen; übermäßige Längen
Validierung - wenn Felder erforderlich sind
2. Äquivalenzklassenbildung
Die Äquivalenzklassenbildung (Equivalence Class Partitioning, ECP) teilt Eingabedaten in Gruppen (oder Klassen) ein, die vom System gleich behandelt werden sollten. Die Theorie ist einfach: Wenn ein Wert in einer Klasse bestanden wird, sollten alle Werte in dieser Klasse bestehen.
Diese Technik hilft dir, effizient zu testen, indem du einen repräsentativen Wert aus jeder Klasse verwendest, anstatt jede mögliche Eingabe zu testen.
Wie es funktioniert:
- Identifiziere Klassen von Eingaben, die sich ähnlich verhalten sollten
- Wähle repräsentative Werte aus jeder Klasse
- Entwerfe Testfälle mit diesen repräsentativen Werten
Warum es effektiv ist:
- Reduziert dramatisch die Anzahl der benötigten Testfälle
- Bietet gute Abdeckung mit minimalem Aufwand
- Funktioniert gut zusammen mit der Grenzwertanalyse
Beispiel in Aktion: Für ein Rabattcode-Feld, das alphanumerische Codes zwischen 5-10 Zeichen akzeptiert: Anstatt Dutzende möglicher Codes zu testen, benötigst du nur vier Tests, um das Verhalten des Systems zu überprüfen.
Wann es anzuwenden ist: ECP funktioniert am besten, wenn du klare Eingabebereiche oder Kategorien hast und die Testfallmenge reduzieren musst, während du eine gute Abdeckung beibehältst.
3. Entscheidungstabellen-Test
Der Entscheidungstabellen-Test (Decision Table Testing) ist hervorragend für die Handhabung komplexer Geschäftsregeln und Bedingungen geeignet. Er schafft eine strukturierte Möglichkeit, Szenarien mit mehreren Eingaben zu testen, die das Ergebnis beeinflussen.
Diese Technik ist besonders praktisch, wenn du Funktionen mit vielen „Wenn-Dann“-Logiken testen musst.
Wie es funktioniert:
- Identifiziere alle Bedingungen (Eingaben) und Aktionen (Ausgaben)
- Erstelle eine Tabelle mit allen möglichen Kombinationen von Bedingungen
- Bestimme die erwarteten Aktionen für jede Kombination
- Erstelle Testfälle basierend auf der Tabelle
Warum es effektiv ist:
- Stellt sicher, dass alle Bedingungskombinationen getestet werden
- Macht komplexe Logik verständlicher
- Hilft, fehlende Anforderungen zu identifizieren
- Schafft umfassende Testabdeckung
Beispiel in Aktion: Testen eines Kreditgenehmigungssystems mit mehreren Kriterien:
Bedingungen | Fall 1 | Fall 2 | Fall 3 | Fall 4 |
---|---|---|---|---|
Kreditwürdigkeit > 700 | Ja | Ja | Nein | Nein |
Einkommen > 50.000€ | Ja | Nein | Ja | Nein |
Aktionen | ||||
Kredit genehmigt | Ja | Nein | Nein | Nein |
Zinssatz angewendet | Niedrig | – | – | – |
Ablehnung gesendet | Nein | Ja | Ja | Ja |
Diese Tabelle zeigt alle möglichen Kombinationen und erwarteten Ergebnisse und verdeutlicht, was zu testen ist.
Wann es anzuwenden ist: Entscheidungstabellen-Tests funktionieren am besten für Funktionen mit komplexen Geschäftsregeln, mehreren Bedingungen, die Ergebnisse beeinflussen, und komplizierten Logikabläufen.
4. Zustandsübergangstest
Der Zustandsübergangstest (State Transition Testing) konzentriert sich auf Systeme, die sich je nach ihrem aktuellen Zustand und den Ereignissen, die Änderungen zwischen Zuständen auslösen, unterschiedlich verhalten.
Denke an Apps mit verschiedenen Modi, Workflows mit sequentiellen Schritten oder jede Funktion, bei der frühere Aktionen das aktuelle Verhalten beeinflussen.
Wie es funktioniert:
- Identifiziere alle möglichen Zustände des Systems
- Bestimme Ereignisse, die Übergänge zwischen Zuständen verursachen
- Erstelle ein Diagramm, das Zustände und Übergänge zeigt
- Entwerfe Tests, um zu überprüfen, ob jeder Übergang korrekt funktioniert
Warum es effektiv ist:
- Findet Fehler im Zusammenhang mit falschen Zustandsänderungen
- Überprüft, ob das System korrekt auf Aktionssequenzen reagiert
- Hilft, komplexe Workflows zu visualisieren
Beispiel in Aktion: Für einen Dokument-Genehmigungsworkflow:
Aktueller Zustand | Ereignis | Nächster Zustand |
---|---|---|
Entwurf | Einreichen | Prüfung ausstehend |
Prüfung ausstehend | Genehmigen | Genehmigt |
Prüfung ausstehend | Ablehnen | Abgelehnt |
Abgelehnt | Überarbeiten | Entwurf |
Genehmigt | Archivieren | Archiviert |
Dieser Ansatz stellt sicher, dass du alle möglichen Pfade durch den Workflow testest.
Wann es anzuwenden ist: Zustandsübergangstests eignen sich perfekt zum Testen von:
- Benutzer-Workflows mit mehreren Schritten
- Systemen mit verschiedenen Betriebsmodi
- Funktionen, bei denen sich das System an frühere Aktionen „erinnert“
5. Fehlerraten
Fehlerraten (Error Guessing) sind nicht so strukturiert wie andere Techniken, aber unglaublich wertvoll. Dieser Ansatz stützt sich auf deine Erfahrung und Intuition, um vorherzusagen, wo sich Bugs verstecken könnten.
Es ist das Testing-Äquivalent zu „Ich habe gesehen, dass das schon mal kaputt gegangen ist, lass mich prüfen, ob es hier auch kaputtgeht.“
Wie es funktioniert:
- Nutze frühere Erfahrungen mit ähnlichen Anwendungen
- Überlege, wo typischerweise Defekte auftreten
- Erstelle Testfälle, die auf diese potenziellen Problembereiche abzielen
- Versuche unerwartete Eingaben oder ungewöhnliche Verwendungsmuster
Warum es effektiv ist:
- Nutzt deine QA-Expertise und institutionelles Wissen
- Kann Probleme finden, die strukturierte Techniken verpassen
- Erfordert minimale Vorbereitung
- Findet oft „reale“ Probleme
Häufige Fehlerraten-Testfälle:
- Leere Strings oder Null-Werte
- Extrem große Zahlen
- Sonderzeichen in Textfeldern
- Schnelle wiederholte Klicks
- Gleichzeitige Benutzeraktionen
- Unerwartete Navigation (Zurück-Taste, Aktualisieren)
- Netzwerkunterbrechungen
- Extrem langsame Verbindungen
Wann es anzuwenden ist: Fehlerraten funktionieren großartig als Ergänzung zu strukturierteren Techniken. Sie sind besonders wertvoll, wenn:
- Zeit begrenzt ist
- Du Erfahrung mit ähnlichen Anwendungen hast
- Du Bereiche testest, die anfällig für Defekte sind
- Benutzerverhalten unvorhersehbar ist
Die richtige Testfall-Design-Technik wählen
Die Auswahl der richtigen Testdesigntechniken ist nicht universell – sie hängt von deinem Projekt, Zeitbeschränkungen und dem ab, was du testest. Hier erfährst du, wie du das Beste für deine Situation auswählst:
Projekt-Risikobewertung
Je höher das Risiko, desto gründlicher sollte dein Testen sein:
Projekte mit niedrigem Risiko: Funktionen mit minimaler Benutzerauswirkung oder einfacher Funktionalität
- In Betracht ziehen: Fehlerraten, einfache Äquivalenzklassenbildung
- Beispiel: Testen eines geringfügigen UI-Updates oder einer Admin-Funktion mit wenig Traffic
Projekte mit mittlerem Risiko: Funktionen, die Benutzer beeinflussen, aber nicht kritisch sind
- In Betracht ziehen: Grenzwertanalyse, Entscheidungstabellen, Äquivalenzklassenbildung
- Beispiel: Testen einer neuen Filterfunktion auf einer Produktlistenseite
Hochrisikoprojekte: Kernfunktionalität oder Funktionen mit finanziellen/Sicherheitsauswirkungen
- In Betracht ziehen: Kombination mehrerer Techniken, umfangreichere Abdeckung
- Beispiel: Zahlungsabwicklung, Authentifizierungssysteme, Datensicherheitsfunktionen
Berücksichtige den Funktionstyp:
Eingabeintensive Funktionen (Formulare, Suche, Filter)
- Beste Techniken: Grenzwertanalyse, Äquivalenzklassenbildung
- Warum: Diese Techniken eignen sich hervorragend zur effizienten Validierung verschiedener Eingabeszenarien
Komplexe Geschäftslogik
- Beste Techniken: Entscheidungstabellen, Ursache-Wirkungs-Graphen
- Warum: Sie helfen, Kombinationen von Bedingungen zu verwalten und sicherzustellen, dass alle Szenarien abgedeckt sind
Workflows und Prozesse
- Beste Techniken: Zustandsübergangstest
- Warum: Perfekt zum Testen sequentieller Schritte und Statusänderungen
APIs und Integrationen
- Beste Techniken: Grenzwertanalyse, Äquivalenzklassenbildung
- Warum: Diese helfen zu überprüfen, wie das System mit verschiedenen Dateneingaben und Grenzfällen umgeht
Ressourcen- und Zeitbeschränkungen:
Enge Fristen, begrenzte Ressourcen
- In Betracht ziehen: Fehlerraten, Äquivalenzklassenbildung
- Konzentriere dich zuerst auf Hochrisikobereiche
Mehr Zeit verfügbar
- Verwende Kombination von Techniken für gründlichere Abdeckung
- Erwäge Exploratory Testing als Ergänzung zu deinem strukturierten Ansatz
Denke daran: Der beste Ansatz kombiniert oft mehrere Techniken. Du könntest Äquivalenzklassenbildung verwenden, um deinen Testdatenumfang zu definieren, Grenzwertanalyse, um Grenzfälle zu finden, und Fehlerraten, um alles zu fangen, was die strukturierten Ansätze verpasst haben.
Moderne Trends im Testfall-Design
Die Testlandschaft entwickelt sich rapide, wobei KI und Automatisierung verändern, wie wir an das Testdesign herangehen. Hier sind die Trends für 2025:
KI-gestütztes Testen
KI verändert das Testfall-Design durch:
- Generierung von Testszenarien basierend auf Anwendungsverhalten
- Identifizierung von Mustern in bestehenden Tests, um Verbesserungen vorzuschlagen
- Vorhersage potenzieller Fehlerpunkte basierend auf Codeänderungen
- Selbstheilende Tests, die sich an UI-Änderungen anpassen
Viele Teams sehen beeindruckende Ergebnisse mit KI-Unterstützung:
- Bis zu 40% Reduktion manueller Fehler
- 30% schnellere Test-Refaktorisierung
- Bessere Abdeckung mit weniger Aufwand
Für aqua cloud sind diese Zahlen Anfängerwerte. Du kannst bis zu 98% Zeit bei der Testfallerstellung sparen, die mit KI nur wenige Sekunden dauert. Du kannst 100% Testabdeckung mit weniger menschlichen Fehlern und vollständiger Nachverfolgbarkeit deiner Testfälle erreichen. Mit der Funktion für verschachtelte Testfälle kannst du die wertvollsten Testfälle wiederverwenden, ohne sie neu erstellen zu müssen. Füge nahtlose Anforderungen und Testdatenerstellung in 2 Klicks, ein 100% zentralisiertes Repository für sowohl manuelle als auch automatisierte Tests, Bug-Tracking-Funktionen, Automatisierungsintegrationen hinzu, und du hast ein Rezept für 100% beschleunigtes, müheloses Test-Management während des gesamten SDLC.
Ignoriere gewöhnliche Vorteile – wähle ein TMS, das deine Testplanung um 42% beschleunigt
Quality Engineering Mindset
Es findet ein Wandel vom traditionellen QA zum Quality Engineering statt:
- Tests werden früher im Entwicklungszyklus durchgeführt („Shift-left“)
- QA-Teams arbeiten enger mit Entwicklern zusammen
- Qualität wird zur Verantwortung aller, nicht nur des Testteams
- Testdesign findet parallel zum Feature-Design statt, nicht danach
Dieser Ansatz bedeutet, dass Testdesign-Techniken früher angewendet werden, oft während Anforderungsdiskussionen, um Bugs zu verhindern, anstatt sie nur zu finden.
Validierung in der realen Welt
Die Testing-Community erkennt zunehmend die Bedeutung realer Bedingungen:
- Testen auf tatsächlichen Geräten statt nur Simulatoren
- Überprüfung der Leistung unter verschiedenen Netzwerkbedingungen
- Berücksichtigung regionaler Variationen
- Erstellung von Testszenarien basierend auf tatsächlichem Benutzerverhalten
Der CrowdStrike-Vorfall 2024 – bei dem ein fehlerhaftes Update Systemabstürze auf 8,5 Millionen Windows-Maschinen verursachte – verdeutlicht, warum Tests in kontrollierten Umgebungen nicht ausreichen. Dein Testdesign sollte Szenarien enthalten, die die reale Nutzung nachahmen.
Praktische Anwendung von Testfall-Design-Techniken
Anwendung der Techniken auf ein Registrierungsformular
Betrachten wir, wie du diese Techniken auf eine reale Funktion anwenden könntest – in diesem Fall ein Benutzerregistrierungsformular:
Die Funktion umfasst:
- Benutzername (5–15 Zeichen, nur alphanumerisch)
- Passwort (mindestens 8 Zeichen, erfordert Groß- und Kleinschreibung sowie Sonderzeichen)
- E-Mail (gültiges Format erforderlich)
- Alter (muss 18+ sein)
- Länderauswahl (aus Dropdown)
Kombination mehrerer Techniken:
1. Äquivalenzklassenbildung
Für das Benutzernamenfeld:
- Gültige Klasse: „testuser“ (erfüllt alle Anforderungen)
- Ungültige Klassen:
- Zu kurz: „test“
- Zu lang: „testusertestuser123“
- Nicht-alphanumerisch: „test_user!“
2. Grenzwertanalyse
Für das Benutzernamenfeld:
- Knapp unter Minimum: 4 Zeichen
- Am Minimum: 5 Zeichen
- Knapp über Minimum: 6 Zeichen
- Knapp unter Maximum: 14 Zeichen
- Am Maximum: 15 Zeichen
- Knapp über Maximum: 16 Zeichen
3. Entscheidungstabellen-Test
Für die Passwortvalidierung:
Bedingungen | Fall 1 | Fall 2 | Fall 3 | Fall 4 | Fall 5 |
---|---|---|---|---|---|
Länge ≥ 8 | Ja | Nein | Ja | Ja | Ja |
Enthält Großbuchstaben | Ja | Ja | Nein | Ja | Ja |
Enthält Kleinbuchstaben | Ja | Ja | Ja | Nein | Ja |
Enthält Sonderzeichen | Ja | Ja | Ja | Ja | Nein |
Aktionen | |||||
Passwort akzeptiert | Ja | Nein | Nein | Nein | Nein |
Fehlermeldung angezeigt | Nein | Ja | Ja | Ja | Ja |
4. Fehlerraten
Zusätzliche Testfälle basierend auf Erfahrung:
- Leerzeichen als erstes/letztes Zeichen im Benutzernamen
- E-Mail mit gültigem Format, aber nicht existierender Domain
- Extrem hohes Alter (z.B. 150)
- Schnelle Formularübermittlungen
- Browser-Zurück-Taste nach teilweiser Vervollständigung
5. Zustandsübergangstest
Für den mehrstufigen Registrierungsprozess:
- Von persönlichen Infos zur Verifizierung: Übermittlung gültiger persönlicher Details
- Von Verifizierung zum Abschluss: Eingabe des korrekten Verifizierungscodes
- Von Verifizierung zurück zu persönlichen Infos: Klick auf „Informationen bearbeiten“
- Abbruch der Verifizierung: Testen des Timeout-Verhaltens
Durch die Kombination dieser Techniken erhältst du eine umfassende Testabdeckung, die sowohl effizient als auch effektiv ist.
Fazit
Testfall-Design-Techniken sind keine theoretischen Konzepte – sie sind praktische Werkzeuge, die dir helfen, Bugs effizienter zu finden. Die richtige Kombination von Techniken kann deine Testeffektivität drastisch verbessern und gleichzeitig Zeit und Ressourcen sparen.
Denke an diese wichtigen Erkenntnisse:
- Keine einzelne Technik findet alles – verwende einen kombinierten Ansatz
- Wähle deine Techniken passend zu dem, was du testest und deinem Risikoniveau
- Beginne mit strukturierten Techniken (BVA, Äquivalenzklassenbildung) und ergänze mit erfahrungsbasierten Ansätzen
- Baue eine Teststrategie auf, die Gründlichkeit mit Effizienz ausgleicht
- Bleibe auf dem Laufenden mit modernen Trends wie KI-unterstütztem Testen und Quality Engineering
Großartiges Testfall-Design bedeutet nicht, alles zu testen – es bedeutet, die richtigen Dinge auf die richtigen Arten zu testen. Durch die Beherrschung dieser Techniken wirst du mehr Bugs finden, bevor sie in die Produktion gelangen, bessere Softwarequalität liefern und deinem Team diese gefürchteten 2-Uhr-morgens-Support-Anrufe ersparen.