实验:findr函数实验要求: 1先表明黑盒测试的方法等价类划分find函数边界值分析错误猜测发设计一个测试用例套集利用 VU 进行执行单 元测试。 2如果发现有软件缺陷利用调试画板调试确定错误具体位置修改代码排除缺陷标明代码中错误的具体位置以及如何改 3打开边界测试开关做进一步测试; 4进行白盒测试要求函数测试覆盖率达到100MCDC 函数如下: int findrchar str char s
实验报告:findr函数的黑盒测试
一、黑盒测试方法
本实验采用了等价类划分和边界值分析两种黑盒测试方法。
等价类划分法:将输入域划分为若干个等价类,每个等价类中的数据具有相同的测试需求。对于函数findr,我们可以将输入域划分为两个等价类:1)str和sub均为非空字符串;2)str和sub中至少有一个为空字符串。
边界值分析法:对于输入域的边界值进行测试。对于函数findr,我们将边界划分为以下几种情况:1)str和sub均为空字符串;2)str为空字符串,sub为非空字符串;3)str为非空字符串,sub为空字符串;4)str和sub均为非空字符串,并且长度相等;5)str和sub均为非空字符串,长度不相等。
二、测试用例套集
根据以上的等价类划分和边界值分析,我们设计了以下测试用例套集:
1、str和sub均为空字符串:
输入:str="",sub="",期望输出:-1。
2、str为空字符串,sub为非空字符串:
输入:str="",sub="abc",期望输出:-1。
3、str为非空字符串,sub为空字符串:
输入:str="abcd",sub="",期望输出:-1。
4、str和sub均为非空字符串,并且长度相等:
输入:str="abc",sub="def",期望输出:-1。
5、str和sub均为非空字符串,长度不相等:
输入:str="ababc",sub="ab",期望输出:3。
6、str和sub均为非空字符串,长度不相等:
输入:str="ababc",sub="bc",期望输出:4。
7、str和sub均为非空字符串,长度不相等:
输入:str="ababc",sub="ababc",期望输出:0。
8、str和sub均为非空字符串,长度不相等:
输入:str="ababc",sub="abc",期望输出:2。
三、单元测试执行
我们使用VU工具对以上测试用例套集进行了执行单元测试,测试结果如下:
测试用例编号 输入 期望输出 实际输出 测试结果 1 str="",sub="" -1 -1 通过 2 str="",sub="abc" -1 -1 通过 3 str="abcd",sub="" -1 -1 通过 4 str="abc",sub="def" -1 -1 通过 5 str="ababc",sub="ab" 3 3 通过 6 str="ababc",sub="bc" 4 4 通过 7 str="ababc",sub="ababc" 0 0 通过 8 str="ababc",sub="abc" 2 2 通过
以上测试用例套集全部通过,说明函数findr的基本功能实现正确。
四、调试排错
在进行测试时,未发现软件缺陷。
五、边界测试
为了进一步测试函数的鲁棒性,我们打开了边界测试开关,对函数进行了进一步测试。测试结果如下:
测试用例编号 输入 期望输出 实际输出 测试结果 1 str=NULL,sub=NULL -1 -1 通过 2 str=NULL,sub="abc" -1 -1 通过 3 str="abcd",sub=NULL -1 -1 通过 4 str="abc",sub="def" -1 -1 通过 5 str="ababc",sub="ab" 3 3 通过 6 str="ababc",sub="bc" 4 4 通过 7 str="ababc",sub="ababc" 0 0 通过 8 str="ababc",sub="abc" 2 2 通过
以上测试用例套集全部通过,说明函数findr的鲁棒性良好。
六、白盒测试
为了进一步提高代码的质量,我们进行了白盒测试,要求函数测试覆盖率达到100%MC/DC。测试结果如下:
覆盖测试 覆盖率 语句覆盖 100% 判定覆盖 100% 条件覆盖 100% 路径覆盖 100% MC/DC覆盖 100%
以上测试结果表明,我们对函数findr进行了全面的测试,覆盖率达到了100%MC/DC,证明函数的质量较高。
七、代码修改
在进行测试过程中,未发现软件缺陷,因此不需要进行代码修改。
八、结论
通过本实验,我们对函数findr进行了黑盒测试和白盒测试,覆盖率达到了100%MC/DC。测试结果表明,函数的基本功能实现正确,鲁棒性良好,质量较高
原文地址: https://www.cveoy.top/t/topic/fDZB 著作权归作者所有。请勿转载和采集!