Was ist Domain-Test?
Domain Testing ist ein Softwaretestprozess, bei dem die Anwendung getestet wird, indem eine Mindestanzahl von Eingaben angegeben und die entsprechenden Ausgaben ausgewertet werden. Das Hauptziel des Domänentests besteht darin, zu überprüfen, ob die Softwareanwendung Eingaben innerhalb des akzeptablen Bereichs akzeptiert und die erforderlichen Ausgaben liefert.
Es handelt sich um eine Funktionstesttechnik, 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 Bereichs liegenden Eingabewerte akzeptiert. Es ist eine der wichtigsten White-Box-Testmethoden. 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 bestimmte Domäne, sodass Sie über domänenspezifische Kenntnisse verfügen müssen, um ein Softwaresystem testen zu können.
In diesem Tutorial lernen Sie:
- Einfachere Praxis des Domain-Testens
- Domain-Teststrategie
- Beispiel für einen Domänentest
- Domänenteststruktur
Einfachere Praxis des Domain-Testens
Beim Testen von Domänen teilen wir eine Domäne in Unterdomänen (Äquivalenzklassen) auf und testen sie dann anhand von Werten aus jeder Unterdomäne. Wenn beispielsweise eine Website (Domain) zum Testen angegeben wurde, teilen wir die Website zur Vereinfachung des Testens in kleine Teile (Subdomain) auf.
Die Domäne kann das Testen einer Eingabevariablen oder einer Kombination von Eingabevariablen umfassen.
Praktiker untersuchen häufig die einfachsten Fälle von Domänentests mit weniger als zwei anderen Namen, "Grenztests" und "Äquivalenzklassenanalyse".
Grenztest - 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 / Klasse testen.
Testen von Äquivalenzklassen - Die Idee hinter dieser Technik besteht darin, eine Reihe von Testbedingungen in Gruppen oder Gruppen zu unterteilen (dh zu partitionieren), die als gleich angesehen werden können (dh das System sollte sie gleichwertig 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 wenn sehr oberflächlich getestet
Es kann wie folgt vereinfacht werden:
Variable | Gültige Klassenäquivalenzklasse | Ungültige Klassenäquivalenzklasse | Grenzen & Sonderfälle | Anmerkungen |
---|---|---|---|---|
X. | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Erläuterung:
- Wenn ein Feld Bereiche von 0 bis 100 akzeptiert, sollte das Feld -1 und 101 nicht akzeptieren, da es sich um ungültige Einträge handelt und die Grenzen überschreiten.
- Das Feld sollte Werte wie 0,100 und eine beliebige Zahl dazwischen akzeptieren.
Bautisch wie diesen (in der Praxis)
- Um eine Äquivalenzklassenanalyse im Laufe der Zeit zu erstellen, fügen Sie die Informationen in eine Tabelle ein. Beginnen Sie mit der Auflistung von Variablen. Fügen Sie Informationen über sie hinzu, sobald Sie sie erhalten.
- Die Tabelle sollte schließlich alle Variablen enthalten. Dies bedeutet, dass 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 gesehen werden, listen alle Variablen auf und fügen Details für kritische Variablen hinzu.
Domain-Teststrategie
Beim Testen von Domänen müssen Sie Folgendes berücksichtigen:
- Welche Domain testen wir?
- Wie gruppiere ich die Werte in Klassen?
- Welche Werte der zu testenden Klassen?
- Wie bestimme ich das Ergebnis?
Welche Domain testen wir?
Jede Domäne, die wir testen, verfügt über eine Eingabe- und eine Ausgabefunktion. Es müssen einige Eingabevariablen eingegeben werden, und die entsprechende Ausgabe muss überprüft werden.
Beispiel für einen Domänentest
- Stellen Sie sich ein einzelnes Eingabetestszenario vor:
C = a + b, wobei a und b Eingangsvariablen sind und C die Ausgangsvariable ist.
Hier im obigen Beispiel ist keine Klassifizierung oder Kombination der Variablen erforderlich.
- Betrachten Sie die folgenden mehreren Eingaben und das entsprechende Ausgabeszenario:
Betrachten Sie eine Spieleausstellung für Kinder, 6 Wettbewerbe sind angelegt und Tickets müssen je nach Alter und Geschlecht vergeben werden. Das Ticketing ist eines der Module, in denen die gesamte Funktionalität der Games-Ausstellung getestet werden soll.
Je nach Szenario haben wir sechs Szenarien erhalten, die auf dem Alter und den Wettbewerben basieren:
- Alter> 5 und <10, Junge sollte am Geschichtenerzählen teilnehmen.
- Mädchen> 5 und <10 Jahre, Mädchen sollten am Zeichenwettbewerb teilnehmen.
- Alter> 10 und <15, Junge sollte am Quiz teilnehmen.
- Mädchen> 10 und <15 Jahre, Mädchen sollten am Schreiben von Essays teilnehmen.
- Im Alter von <5 Jahren sollten sowohl Jungen als auch Mädchen am Reimwettbewerb teilnehmen.
- Ab einem Alter von 15 Jahren sollten sowohl Jungen als auch Mädchen am Poesiewettbewerb teilnehmen.
Hier wird Alter und Geschlecht eingegeben und somit das Ticket für den Wettbewerb ausgestellt. Diese Fallaufteilung von Eingaben oder einfach Gruppierung von Werten kommt ins Bild.
Wie gruppiere ich die Werte in Klassen?
Das Partitionieren einiger Werte bedeutet das Aufteilen in nicht überlappende Teilmengen.
Wie bereits erwähnt, gibt es zwei Arten der Partitionierung:
- Äquivalenzpartitionierung - Die Äquivalenzpartitionierung ist eine Softwaretesttechnik , bei der die Eingabedaten einer Softwareeinheit in Partitionen äquivalenter Daten unterteilt werden, 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 Software-Testtechnik , bei der Tests so konzipiert sind, dass sie Vertreter von Grenzwerten in einem Bereich enthalten. Die Idee kommt von der Grenze .
Für das obige Beispiel partitionieren wir die Werte in eine Teilmenge oder die Teilmenge. Wir teilen das Alter in die folgenden Klassen ein:
- Klasse 1: Kinder mit Altersgruppen 5 bis 10
- Klasse 2: Kinder mit einer Altersgruppe unter 5 Jahren
- Klasse 3: Kinder mit Altersgruppen von 10 bis 15 Jahren
- Klasse 4: Kinder mit einer Altersgruppe über 15 Jahren.
Welche Werte der zu testenden Klassen?
Die zum Testen erfassten Werte sollten Grenzwerte sein:
- Grenzen sind Vertreter der Äquivalenzklassen, aus denen wir sie abtasten. 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 dem Bereich.
Für das obige Beispiel müssen die folgenden Klassen getestet werden:
Zum Beispiel für das Szenario 1:
- Klasse 1: Kinder mit Altersgruppen 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 diese Klasse aufgenommen werden.
- Die Werte sollten größer als 5 sein. Daher sollte das Alter von 5 Jahren nicht in diese Klasse aufgenommen werden.
- Die Werte sollten gleich oder kleiner als 10 sein. Daher sollte das Alter von 11 Jahren nicht in diese Klasse aufgenommen werden.
- Die Werte sollten größer als 5 sein. Daher sollte das Alter von 6 Jahren in diese Klasse aufgenommen werden.
Äquivalenzpartitionswerte:
Eine Äquivalenzpartition wird bezeichnet, wenn nur eine Bedingung von jeder Partition getestet werden muss. In diesem Fall gehen wir davon aus, dass alle Bedingungen funktionieren sollten, wenn eine Bedingung in einer Partition funktioniert. Wenn eine Bedingung in dieser Partition nicht funktioniert, gehen wir auf die gleiche Weise 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 erfasst werden. Daher ist das ausgewählte Alter "8" ein gültiges Eingabealter für die Altersgruppe zwischen (Alter> 5 und <= 10). Diese Art von Partition wird als Äquivalenzpartition bezeichnet.
Szenario | Grenzwerte sind zu nehmen | Ä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 gegebene Eingabe und die erwartete Ausgabe geben uns die Ergebnisse und dies erfordert Domänenkenntnisse.
Bestimmen der Ergebnisse des Beispiels:
Wenn also alle Testfälle des oben genannten Bestehens bestanden sind, wird der Bereich der Ticketausstellung im Wettbewerb bestanden. Wenn nicht, schlägt die Domain fehl.
Domänenteststruktur
Normalerweise befolgen Tester die folgenden Schritte bei einem Domänentest. Diese können gemäß unseren Testanforderungen angepasst / übersprungen werden.
- Identifizieren Sie die potenziell interessanten Variablen.
- Identifizieren Sie die Variablen, die Sie jetzt analysieren können, und ordnen Sie sie (kleinste bis größte und umgekehrt).
- Erstellen und identifizieren Sie Grenzwerte und Äquivalenzklassenwerte wie oben.
- Identifizieren Sie sekundäre Dimensionen und analysieren Sie sie 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 müssen.
- 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:
Wie oben beschrieben, erfordert das Testen von Domänen Kenntnisse über die Bereitstellung der richtigen Eingabe, um die gewünschte Ausgabe zu erzielen. Daher ist es nur möglich, es für kleine Codestücke zu verwenden.