Guten Tag liebe Helfer,
mein Problem liegt nicht direkt in der Programmierung, allerdings liegt es im Aufgabenbereich eines Testers.
Da der Code in Java ist, habe ich dieses Forum gewählt, ich hoffe es kann mir jemand bei meinem Problem helfen.
Aufgabe:
Erstellen Sie für die nachfolgende Methode isBlank der Klasse StringUtils eine optimale Anzahl von Whitebox Tests, so dass Sie eine Boundary Interior Path Coverage von 100% erreichen. Definieren Sie jeden Testfall durch Angabe des Eingabeparameters value und der erwarteten Ergebnisse in der nachfolgenden Tabelle
Hab den Code aus einem PDF-Script und musste ihn manuell formatieren, hoffe er ist gut lesbar.
Boundary Interior Pfadüberdeckung laut Script:
Boundary:
- Jede Schleife wird keinmal betreten.
- Jede Schleife wird genau einmal betreten und alle Zweige im Schleifenkörper werden durchlaufen
Interior:
Jede Schleife wird zweimal betreten und alle Zweige im Schleifenkörper werden durchlaufen
Ergebnis laut Script sind 7 Testfälle. Ich komme lediglich auf 4.
Ergebnis laut Script:
value
/
Ergebnis
1) null / 1) true
2) " " / 2) true
3) "\n" / 3) true
4) "\u00A0" / 4) true
5) "a" / 5) false
6) "\na" / 6) false
7) "\u00A0a" / 7) false
Wie kommt man auf 7 Testfälle?
Jede Schleife wird keinmal betreten = 1) null 1)true
Jede Schleife wird genau einmal betreten und alle Zweige... =
2) "" 2) true und 5) "a" 5) false. Somit wurden alle Pfade innerhalb der Schleife abgedeckt.
Das sind die Boundary Durchgänge. Nun der Interior-Durchgang:
Jede Schleife wird zweimal betreten und alle Zweige...
6) "\na" 6) false
Beim ersten Durchlauf kam es zu true, dann zu false, was als Ergebnis zu false führt.
Wie komme ich auf die anderen Ergebnisse? Bitte um Hilfe...
mein Problem liegt nicht direkt in der Programmierung, allerdings liegt es im Aufgabenbereich eines Testers.
Da der Code in Java ist, habe ich dieses Forum gewählt, ich hoffe es kann mir jemand bei meinem Problem helfen.
Aufgabe:
Erstellen Sie für die nachfolgende Methode isBlank der Klasse StringUtils eine optimale Anzahl von Whitebox Tests, so dass Sie eine Boundary Interior Path Coverage von 100% erreichen. Definieren Sie jeden Testfall durch Angabe des Eingabeparameters value und der erwarteten Ergebnisse in der nachfolgenden Tabelle
Java:
/**
*Überprüft, ob der übergebene String nur Whitespace‐Zeichen enthält.
* @param value: der zu prüfende String
* @return true: falls der String nur Whitespace enthält, false sonst
*/
public static boolean isBlank(final String value){
if (value == null){
return true;
}
for (int i = 0; i < value.length(); i++){
char current = value.charAt(i);
if (!Character.isSpaceChar(current) && !Character.isWhitespace(current)){
return false;
}
}
return true;
}
Hab den Code aus einem PDF-Script und musste ihn manuell formatieren, hoffe er ist gut lesbar.
Boundary Interior Pfadüberdeckung laut Script:
Boundary:
- Jede Schleife wird keinmal betreten.
- Jede Schleife wird genau einmal betreten und alle Zweige im Schleifenkörper werden durchlaufen
Interior:
Jede Schleife wird zweimal betreten und alle Zweige im Schleifenkörper werden durchlaufen
Ergebnis laut Script sind 7 Testfälle. Ich komme lediglich auf 4.
Ergebnis laut Script:
1) null / 1) true
2) " " / 2) true
3) "\n" / 3) true
4) "\u00A0" / 4) true
5) "a" / 5) false
6) "\na" / 6) false
7) "\u00A0a" / 7) false
Wie kommt man auf 7 Testfälle?
Jede Schleife wird keinmal betreten = 1) null 1)true
Jede Schleife wird genau einmal betreten und alle Zweige... =
2) "" 2) true und 5) "a" 5) false. Somit wurden alle Pfade innerhalb der Schleife abgedeckt.
Das sind die Boundary Durchgänge. Nun der Interior-Durchgang:
Jede Schleife wird zweimal betreten und alle Zweige...
6) "\na" 6) false
Beim ersten Durchlauf kam es zu true, dann zu false, was als Ergebnis zu false führt.
Wie komme ich auf die anderen Ergebnisse? Bitte um Hilfe...