软件测试学习——黑盒测试实验报告
软件测试课程作业三
实验内容
- 编写一个实现两数相除的函数,并基于此,采用划分法和边界值法,设计相应的测试用例。请注意:程序的逻辑,以及测试用例和套件设计的合理性。
- 另外测试用例用表哥形式(简单形式),即用一个表,列出针对同一段代码的所有测试用例,通常要标明一个测试用例的编号、既定输入和预期输出(即测试所涉及的人机交互流程),以及相关注意事项。
实验过程
两数相除的函数
采用同作业二类似的程序框架,由于在黑盒测试中着重试错,对于非数值不合法输入的编写同样重要。代码如下
1 |
|
等价类划分法检测
等价类划分
主要采用数值类型划分,和区间划分,这里还需要考虑除数特殊值情况的划分。(由于有效/无效对于同一测例是互斥的),这里我们保持行的原子性,所以将有效无效合并为一列。
等价类划分表格
划分原则 情况 有效/无效等价类 编号 数值类型 a 为数值,b 为数值 有 1 数值类型 a,b 至少有一个为非数值 无 2 区间 -100< a <100, -100< b <100 有 3 区间 a,b 至少有一个不在要求区间内 无 4 特殊值 b 不为 0 有 5 特殊值 b 为 0 无 6 测例表格
测例编号 输入 预计输出 实际输出 划分覆盖 1 a=-51 b=0.00005 -1020000 -1.02e+06 覆盖 1,3,5 2 a=100 b=0 2 Error 2 Error 覆盖 1,4,6 3 a=1823kja1 b=34 1 Error 1 Error 覆盖 2 程序测试
实验结果符合预期,填入上面测例表格的实际输出中。
边界值法检测
边界值
主要考虑输入符合数值规范下,是否控制在限定区间内。在本题程序中,限定
- 被除数: \((-100,100)\)
- 除数: \((-100,0) \cup (0,100)\)
除数为 0 的检测在上面等价类划分中做过了,这里就不再重复测试了,主要针对-100,100 上下边界进行测试中,在程序中我定义了宏名
LOW_BOUND
和UP_BOUND
方便表示。边界值测例表格
测例编号 输入 预计输出 实际输出 1 a=-100 b=-100 2 Error 2 Error 2 a=-100 b=100 2 Error 2 Error 3 a=100 b=-100 2 Error 2 Error 4 a=100 b=100 2 Error 2 Error 健壮性边界值测例补充
测例编号 输入 预计输出 实际输出 5 a=-102 b=-98 1 Error 1 Error 5 a=105 b=106 2 Error 2 Error 程序检测
实验结果符合预期,填入上面测例表格的实际输出中。
实验结果
见上一节两种测试方法的程序检测截图。
实验总结
本次实验亲手编程体验了黑盒子测试的过程,深刻体会到其与白盒测试的不同,从功能性上和试错角度进行测试,而非从程序结构角度。在编写测例的过程中,我完全没有回过头看程序结构,这就很好的说明了“黑盒”的含义。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!