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万+

被折叠的 条评论
为什么被折叠?



