字符串数据的测试边界条件是什么?

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 组成的字符串。