测试理论知识一:黑盒测试、白盒测试、软件测试的原则

本文探讨了黑盒测试中的穷举法及其优化,以及白盒测试中的穷举路径测试,强调了软件测试应覆盖预期和非预期输入,同时指出测试过程中避免自我测试和一次性测试用例的重要性。

1. 黑盒测试

黑盒测试又称为数据驱动的测试或输入\输出驱动的测试。

使用方式:进行黑盒测试时,将程序视为一个黑盒子,测试目标与程序的内部机制和结构完全无关,而是将重点放在发现程序不按其规范正确运行的环境条件

1.1. 穷举法

由于黑盒测试不需要了解程序的内部结构,所以想用黑盒测试来发现程序的所有错误,判定的标准就是“穷举法”。

穷举法:将所有可能的输入条件作为测试用例

从穷举法的解释来看,我们也大概明白了它的最大弊端,就是“耗时、计算量大、无意义测试的概率占比很大”。如果说测试的是一个庞大的系统,那么穷举法几乎是不可能完成的。

1.2. 穷举法的优化

因为涉及到软件的开发上线周期,软件的测试时间是很有限的。所以穷举法的测试我们需要进行一定优化,例如:我们测试长方形是否是长方形,其中的一条准则就是有两对等长的边,那么我们测试时,2-2-3-3是长方形,把这四位数等倍数乘和除都是长方形。那么4-4-6-6和1-1-1.5-1.5就不需要测试了,这个就是对穷举法进行规则性优化

2. 白盒测试

白盒测试又称为逻辑驱动测试,它允许我们检查软件的内部结构。这种测试策略对程序的逻辑结构进行检查,从中获取测试数据。

2.1. 穷举路径测试

穷举路径测试:将程序的每一条语句至少执行一次,即测试用例执行了程序中所有可能的控制流路径,那么程序可能得到了完全测试。

2.2. 穷举路径测试遇到的问题

测试数据小的情况下,穷举路径测试的效率和效果是很不错的。但如果面对大量的测试数据和用例时,穷举路径的测试效率就会不断下降。这也是该测试的一个主要问题。

3. 软件测试的原则

  1. 测试用例中一个必需部分是对预期输出或结果进行定义。

  2. 程序员应当避免测试自己编写的程序。

  3. 编写软件的组织不应当测试自己编写的软件。

  4. 应当彻底检查每个测试大的执行结果。

  5. 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料的输入情况。

  6. 检查程序是否“未作其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”。

  7. 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件。

  8. 计划测试工作时不应默许假定不会发现错误。

  9. 程序某部分存在更多错误的可能性,与该部分已发现错的数量成正比。

  10. 软件测试是一项极富创造性、极具智力挑战性的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值