Was ist Domänentest beim Softwaretest? (mit Beispiel)
Was ist Domain-Test?
Domänentests ist eine Softwaretest Prozess, bei dem die Anwendung getestet wird, indem eine Mindestanzahl an Eingaben eingegeben und die entsprechenden Ausgaben ausgewertet werden. Das Hauptziel des Domänentests besteht darin, zu überprüfen, ob die Softwareanwendung Eingaben im akzeptablen Bereich akzeptiert und die erforderliche Ausgabe liefert.
Es ist ein Funktionsprüfung Technik, bei der die Ausgabe eines Systems mit einer minimalen Anzahl von Eingaben getestet wird, um sicherzustellen, dass das System keine ungültigen und außerhalb des zulässigen Bereichs liegenden Eingabewerte akzeptiert. Es ist eines der wichtigsten Weiß Box Testen Methoden. Außerdem wird überprüft, ob das System keine Eingaben, Bedingungen und Indizes außerhalb des angegebenen oder gültigen Bereichs akzeptieren sollte.
Das Testen von Domänen unterscheidet sich für jede spezifische Domäne. Daher müssen Sie über domänenspezifische Kenntnisse verfügen, um ein Softwaresystem testen zu können.
Einfachere Praxis des Domänentests
Beim Domänentest unterteilen wir eine Domäne in Unterdomänen (Äquivalenzklassen) und testen dann anhand der Werte aus jeder Unterdomäne. Wenn beispielsweise eine Website (Domain) zum Testen bereitgestellt wurde, teilen wir die Website zur Vereinfachung des Testens in kleine Abschnitte (Subdomain) auf.
Die Domäne kann das Testen einer beliebigen Eingabevariablen oder einer Kombination von Eingabevariablen umfassen.
Praktiker untersuchen die einfachsten Fälle von Domänentests oft weniger als zwei andere Namen, „Grenztests“ und „Äquivalenzklassenanalyse“.
Grenztests – Die Grenzwertanalyse (BVA) basiert auf Tests an den Grenzen zwischen Partitionen. Wir werden sowohl die gültigen als auch die ungültigen Eingabewerte in der Partition/den Klassen testen.
Prüfung der Äquivalenzklasse – Die Idee hinter dieser Technik besteht darin, eine Reihe von Testbedingungen in Gruppen oder Mengen zu unterteilen (dh zu partitionieren), die als gleich angesehen werden können (dh das System sollte sie äquivalent behandeln), daher „Äquivalenzpartitionierung“.
Diese vereinfachte Form gilt für Domain-Tests –
- Nur zum Testen von Eingabevariablen
- Nur wenn auf Systemebene getestet
- Nur wenn einzeln getestet
- Nur bei sehr oberflächlicher Prüfung
Es kann wie folgt vereinfacht werden:
Variable | Gültige Klassenäquivalenzklasse | Ungültige Klassenäquivalenzklasse | Grenzen und Sonderfälle | Notizen |
---|---|---|---|---|
X | 0 100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Erläuterung:
- Wenn ein Feld Bereiche von 0 bis 100 akzeptiert, sollte das Feld die Werte -1 und 101 nicht akzeptieren, da es sich dabei um ungültige Einträge handelt, die außerhalb der Grenzen liegen.
- Das Feld sollte Werte wie 0,100 und jede Zahl dazwischen akzeptieren.
Bautisch wie dieser (in der Praxis)
- Um im Laufe der Zeit eine Äquivalenzklassenanalyse zu erstellen, geben Sie die Informationen in eine Tabelle ein. Beginnen Sie mit der Auflistung der Variablen. Fügen Sie Informationen über sie hinzu, sobald Sie diese erhalten.
- Die Tabelle sollte schließlich alle Variablen enthalten. Das bedeutet alle Eingabevariablen, alle Ausgabevariablen und alle Zwischenvariablen, die Sie beobachten können.
- In der Praxis sind die meisten Tabellen, die ich gesehen habe, unvollständig. Die besten, die man gesehen hat, listen alle Variablen auf und fügen Details zu kritischen Variablen hinzu.
Domain-Teststrategie
Beim Domänentesten müssen Sie folgende Dinge berücksichtigen:
- Welche Domain testen wir?
- Wie gruppiere ich die Werte in Klassen?
- Welche Werte der Klassen sollen getestet werden?
- Wie ermittelt man das Ergebnis?
Welche Domain testen wir?
Jede Domäne, die wir testen, verfügt über eine gewisse Eingabefunktionalität und eine Ausgabefunktionalität. Es müssen einige Eingabevariablen eingegeben werden und die entsprechende Ausgabe muss überprüft werden.
Beispiel für einen Domänentest
- Betrachten Sie ein Testszenario mit einer einzelnen Eingabe:
C = a+b, wobei a und b Eingabevariablen und C die Ausgabevariable sind.
Hier im obigen Beispiel ist keine Klassifizierung oder Kombination der Variablen erforderlich.
- Betrachten Sie die folgenden mehreren Eingaben und das entsprechende Ausgabeszenario:
Stellen Sie sich eine Spieleausstellung für Kinder vor, es sind 6 Wettbewerbe geplant und die Eintrittskarten müssen je nach Alter und Geschlecht vergeben werden. Das Ticketing ist eines der Module, in denen die gesamte Funktionalität der Spieleausstellung getestet wird.
Je nach Szenario haben wir sechs Szenarien basierend auf dem Alter und den Wettbewerben erhalten:
- Alter >5 und <10, Junge sollte am Geschichtenerzählen teilnehmen.
- Alter >5 und <10, Mädchen sollten am Zeichenwettbewerb teilnehmen.
- Alter >10 und <15, Junge sollte am Quiz teilnehmen.
- Alter >10 und <15, Mädchen sollten am Schreiben von Essays teilnehmen.
- Im Alter unter 5 Jahren sollten sowohl Jungen als auch Mädchen am Rhymes-Wettbewerb teilnehmen.
- Ab einem Alter von über 15 Jahren sollten sowohl Jungen als auch Mädchen am Poesiewettbewerb teilnehmen.
Hier werden Alter und Geschlecht eingegeben und somit das Ticket für den Wettbewerb ausgestellt. In diesem Fall kommt eine Partitionierung von Eingaben oder einfach eine Gruppierung von Werten ins Spiel.
Wie gruppiere ich die Werte in Klassen?
Das Partitionieren einiger Werte bedeutet, sie in nicht überlappende Teilmengen aufzuteilen.
Wie bereits erwähnt, gibt es zwei Arten der Partitionierung:
- Äquivalenzpartitionierung – Äquivalenzpartitionierung ist eine Softwaretest Technik, die die Eingabedaten einer Softwareeinheit in Partitionen äquivalenter Daten unterteilt, aus denen Testfälle abgeleitet werden können. Grundsätzlich sind Testfälle so konzipiert, dass sie jede Partition mindestens einmal abdecken.
- Grenzwertanalyse – Die Grenzwertanalyse ist eine Softwaretest Technik, bei der Tests so konzipiert sind, dass sie Vertreter von Grenzwerten in einem Bereich einbeziehen. Die Idee stammt von der Grenze.
Für das obige Beispiel unterteilen wir die Werte in eine Teilmenge oder die Teilmenge. Wir unterteilen das Alter in die folgenden Klassen:
- Klasse 1: Kinder der Altersgruppe 5 bis 10
- Klasse 2 : Kinder der Altersgruppe unter 5 Jahren
- Klasse 3: Kinder im Alter von 10 bis 15 Jahren
- Klasse 4: Kinder der Altersgruppe über 15.
Welche Werte der Klassen sollen getestet werden?
Die zum Testen erfassten Werte sollten Grenzwerte sein:
- Grenzen sind Repräsentanten der Äquivalenzklassen, aus denen wir sie auswählen. Es ist wahrscheinlicher, dass sie einen Fehler aufdecken als andere Klassenmitglieder, daher sind sie bessere Vertreter.
- Der beste Vertreter einer Äquivalenzklasse ist ein Wert zwischen diesem Bereich.
Für das obige Beispiel müssen die folgenden Klassen getestet werden:
Zum Beispiel für Szenario Nr. 1:
- Klasse 1: Kinder der Altersgruppe 5 bis 10 (Alter >5 und <=10)
Grenzwerte:
- Die Werte sollten gleich oder kleiner als 10 sein. Daher sollte das Alter von 10 Jahren in dieser Klasse enthalten sein.
- Die Werte sollten größer als 5 sein. Daher sollten Personen im Alter von 5 Jahren nicht in diese Klasse aufgenommen werden.
- Die Werte sollten gleich oder kleiner als 10 sein. Daher sollten Personen im Alter von 11 Jahren nicht in dieser Klasse enthalten sein.
- Die Werte sollten größer als 5 sein. Daher sollten Personen im Alter von 6 Jahren in diese Klasse einbezogen werden.
Äquivalenzpartitionswerte:
Von einer Äquivalenzpartition spricht man, wenn von jeder Partition nur eine Bedingung getestet werden muss. Dabei gehen wir davon aus, dass, wenn eine Bedingung in einer Partition funktioniert, auch alle Bedingungen funktionieren sollten. Wenn eine Bedingung in dieser Partition nicht funktioniert, gehen wir gleichermaßen davon aus, dass keine der anderen Bedingungen funktioniert. Zum Beispiel,
(Alter >5 und <=10)
Da die Werte von 6 bis 10 gültig sind, muss einer der Werte zwischen 6,7,8,9 und 10 ausgewählt werden. Daher ist das ausgewählte Alter „8“ ein gültiges Eingabealter für die Altersgruppe zwischen (Alter >5 und <=10). Diese Art der Partitionierung wird als Äquivalenzpartition bezeichnet.
Szenario | Zu berücksichtigende Grenzwerte | Äquivalenzpartitionierungswerte |
---|---|---|
Junge – Alter >5 und <=10 | Eingabealter = 6 Eingabealter = 5 Eingabealter = 11 Eingabealter = 10 |
Eingabealter = 8 |
Mädchen – Alter >5 und <=10 | Eingabealter = 6 Eingabealter = 5 Eingabealter = 11 Eingabealter = 10 |
Eingabealter = 8 |
Junge – Alter >10 und <=15 | Eingabealter = 11 Eingabealter = 10 Eingabealter = 15 Eingabealter = 16 |
Eingabealter = 13 |
Mädchen – Alter >10 und <=15 | Eingabealter = 11 Eingabealter = 10 Eingabealter = 15 Eingabealter = 16 |
Eingabealter = 13 |
Alter<=5 | Eingabealter = 4 Eingabealter = 5 |
Eingabealter = 3 |
Alter> 15 | Eingabealter = 15 Eingabealter = 16 |
Eingabealter = 25 |
Wie stellen wir fest, ob das Programm den Test bestanden hat oder nicht?
Das Bestehen der Funktionalität hängt nicht nur von den Ergebnissen der oben genannten Szenarien ab. Die gegebenen Eingaben und die erwarteten Ausgaben liefern uns die Ergebnisse und dies erfordert Domänenkenntnisse.
Ermittlung der Ergebnisse des Beispiels:
Wenn also alle oben genannten Testfälle bestanden werden, wird der Bereich der Ticketausgabe im Wettbewerb bestanden. Wenn nicht, wird die Domäne fehlgeschlagen.
Domänenteststruktur
Normalerweise befolgen Tester bei einem Domänentest die folgenden Schritte. Diese können entsprechend unseren Testanforderungen angepasst/übersprungen werden.
- Identifizieren Sie die potenziell interessanten Variablen.
- Identifizieren Sie die Variable(n), die Sie jetzt analysieren können, und ordnen Sie sie (von der kleinsten zur größten und umgekehrt).
- Erstellen und identifizieren Sie Grenzwerte und Äquivalenzklassenwerte wie oben.
- Identifizieren Sie sekundäre Dimensionen und analysieren Sie jede auf klassische Weise. (Im obigen Beispiel ist Geschlecht die sekundäre Dimension).
- Identifizieren und testen Sie Variablen, die Ergebnisse enthalten (Ausgabevariablen).
- Bewerten Sie, wie das Programm den Wert dieser Variablen verwendet.
- Identifizieren Sie zusätzliche potenziell verwandte Variablen für Kombinationstests.
- Stellen Sie sich Risiken vor, die nicht unbedingt einer offensichtlichen Dimension zugeordnet werden können.
- Identifizieren und listen Sie nicht analysierte Variablen auf. Sammeln Sie Informationen für eine spätere Analyse.
- Fassen Sie Ihre Analyse mit einer Risiko-/Äquivalenztabelle zusammen.
Zusammenfassung
Das oben beschriebene Domänentesten erfordert Kenntnisse über die Bereitstellung der richtigen Eingaben, um die gewünschte Ausgabe zu erzielen. Daher ist es nur möglich, es für kleine Codeblöcke zu verwenden.