二、软件测试与测试优先编程
认可“测试”的价值,搞清楚“测试优先”的哲理
1.测试的特点
测试:
–> 在规定的条件下对程序进行操作,以发现程序错误,衡量软件品质,并对其是否能满足设计要求进行评估的过程。
①测试跟其他活动的目标相反:破坏、证错、“负能量”,即我们希望发现“错误”,要转变心态,用“让其出错”和“尽快出错”作为写高质量代码的日常法宝;
②要认识到即使是再好的测试也不能保证程序里不存在错误
2.测试用例
测试用例 = 输入+执行条件+结果
最主要的方法——单元测试:针对软件的最小单元模型开展测试,隔离各个模块,容易定位错误和调试。
基于等价类划分的测试:将被测函数的输入域划分为等价类,从等价类中导出测试用例。
此外还要注意边界值分析方法的补充,即在进行等价类划分的时候,需要把边界也作为等价类之一加入考虑。
3.代码覆盖度
覆盖度:
1.代码覆盖度
–> 基于代码的测试覆盖评测测试过程中已经执行的代码的多少,与之相对的是要执行的剩余代码的多少。
2.输入空间覆盖度
–> 参照模块的规格说明,测试用例占总输入空间的比例。
效率:
–> 成果(测试结果)/资源(测试时间空间)
代码覆盖度越低,测试越不充分,但要做到很高的代码覆盖度,需要更多的测试用例,测试代价高。
测试效果:路径覆盖 > 分支覆盖 > 语句覆盖
测试难度:路径覆盖 > 分支覆盖 > 语句覆盖
4.两类测试
黑盒测试:黑盒测试:用于检查代码的功能,不关心内部实现细节。检查程序是否符合规约
白盒测试:要考虑内部实现细节,根据程序执行路径设计测试用例。一般比较早执行
————————————————
版权声明:本文为CSDN博主「zxpHIT2020」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zxpHIT2020/article/details/124782548