字符串数据的测试边界条件是什么?
What is boundary conditions of test for String data?
我正在测试 Junit 的 java 方法。该方法接受一个字符串,然后 returns 一个修改字符串。我已经编写了一个通用测试,一个针对 Null 和 Empty String 的测试。我还能写什么测试?该测试的边界条件是什么?
那个方法测试的大小String是什么?
public String reverse(String text) {
String[] textFragments = text.split(" ");
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < textFragments.length; i++) {
char[] chars = textFragments[i].toCharArray();
int leftElementIndex = 0;
int rightElementIndex = textFragments[i].length() - 1;
while (leftElementIndex < rightElementIndex) {
boolean isLeftLetter = Character.isLetter(chars[leftElementIndex]);
boolean isRightLetter = Character.isLetter(chars[rightElementIndex]);
if (isLeftLetter && isRightLetter) {
swap(chars, leftElementIndex, rightElementIndex);
leftElementIndex++;
rightElementIndex--;
} else {
leftElementIndex = (!isLeftLetter) ? ++leftElementIndex : leftElementIndex;
rightElementIndex = (!isRightLetter) ? --rightElementIndex : rightElementIndex;
}
}
stringBuilder.append(new String(chars));
if (i != (textFragments.length - 1)) {
stringBuilder.append(" ");
}
}
return stringBuilder.toString();
}
边界条件来源于需求,因此这完全取决于您如何定义预期的输入字符串。因此,如果 "text" 的长度为 10,非空,space 分隔且仅小写,则这些组将成为其边界的一部分。根据提供的代码,它可以定义为非空、非空、至少是一个字符长的字符串,并且由于您的循环取决于数组大小,因此尝试通过传递具有多个 space 在字符之间或仅由 space 组成的字符串。
我正在测试 Junit 的 java 方法。该方法接受一个字符串,然后 returns 一个修改字符串。我已经编写了一个通用测试,一个针对 Null 和 Empty String 的测试。我还能写什么测试?该测试的边界条件是什么? 那个方法测试的大小String是什么?
public String reverse(String text) {
String[] textFragments = text.split(" ");
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < textFragments.length; i++) {
char[] chars = textFragments[i].toCharArray();
int leftElementIndex = 0;
int rightElementIndex = textFragments[i].length() - 1;
while (leftElementIndex < rightElementIndex) {
boolean isLeftLetter = Character.isLetter(chars[leftElementIndex]);
boolean isRightLetter = Character.isLetter(chars[rightElementIndex]);
if (isLeftLetter && isRightLetter) {
swap(chars, leftElementIndex, rightElementIndex);
leftElementIndex++;
rightElementIndex--;
} else {
leftElementIndex = (!isLeftLetter) ? ++leftElementIndex : leftElementIndex;
rightElementIndex = (!isRightLetter) ? --rightElementIndex : rightElementIndex;
}
}
stringBuilder.append(new String(chars));
if (i != (textFragments.length - 1)) {
stringBuilder.append(" ");
}
}
return stringBuilder.toString();
}
边界条件来源于需求,因此这完全取决于您如何定义预期的输入字符串。因此,如果 "text" 的长度为 10,非空,space 分隔且仅小写,则这些组将成为其边界的一部分。根据提供的代码,它可以定义为非空、非空、至少是一个字符长的字符串,并且由于您的循环取决于数组大小,因此尝试通过传递具有多个 space 在字符之间或仅由 space 组成的字符串。