黑盒测试方法:等价类划分和边界值分析。

等价类划分:

  1. 输入字符串和子字符串都为空字符串。
  2. 输入字符串为空字符串。
  3. 输入子字符串为空字符串。
  4. 输入字符串和子字符串都为非空字符串,但是子字符串不在字符串中。
  5. 输入字符串和子字符串都为非空字符串,且子字符串在字符串中。

边界值分析:

  1. 输入字符串和子字符串都为空字符串。
  2. 输入字符串为空字符串,子字符串为非空字符串。
  3. 输入子字符串为空字符串,字符串为非空字符串。
  4. 输入字符串和子字符串都为非空字符串,但是子字符串不在字符串中。
  5. 输入字符串和子字符串都为非空字符串,且子字符串在字符串的开头。
  6. 输入字符串和子字符串都为非空字符串,且子字符串在字符串的结尾。
  7. 输入字符串和子字符串都为非空字符串,且子字符串在字符串的中间。

具体用例数据及测试结果:

  1. 输入字符串和子字符串都为空字符串。

输入:str = "",sub = ""

预期输出:-1

实际输出:-1

测试结果正确。

  1. 输入字符串为空字符串,子字符串为非空字符串。

输入:str = "",sub = "abc"

预期输出:-1

实际输出:-1

测试结果正确。

  1. 输入子字符串为空字符串,字符串为非空字符串。

输入:str = "abc",sub = ""

预期输出:-1

实际输出:-1

测试结果正确。

  1. 输入字符串和子字符串都为非空字符串,但是子字符串不在字符串中。

输入:str = "abcdefg",sub = "hij"

预期输出:-1

实际输出:-1

测试结果正确。

  1. 输入字符串和子字符串都为非空字符串,且子字符串在字符串的开头。

输入:str = "abcdefg",sub = "abc"

预期输出:0

实际输出:0

测试结果正确。

  1. 输入字符串和子字符串都为非空字符串,且子字符串在字符串的结尾。

输入:str = "abcdefg",sub = "efg"

预期输出:4

实际输出:4

测试结果正确。

  1. 输入字符串和子字符串都为非空字符串,且子字符串在字符串的中间。

输入:str = "abcdefg",sub = "cde"

预期输出:2

实际输出:2

测试结果正确。

根据以上测试结果,该函数通过了所有的测试用例,没有发现问题。

修改后的代码:

无需修改

int findrchar str char sub char ijkn; int lm; int len_strlen_sub; len_str = 0; len_sub = 0; i = str; j = sub; whilei != 0 i++; len_str++; i--; whilej != 0 j++; len_sub++; j--; n = j; forl = len_s

原文地址: https://www.cveoy.top/t/topic/fDNR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录