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

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

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. 软件测试是一项极富创造性、极具智力挑战性的工作。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值