软件测试之《软件测试艺术》读书笔记(8)_经济学视角解析

发表于:2009-03-03来源:作者:点击数: 标签:笔记软件测试艺术视角经济学解析
再从经济学视角来分析一下吧。 需明确:对一个复杂的应用程序进行完全的 测试 ,将耗费大量的时间和人力资源,以致于在经济上是不可行的。即,从经济学的角度来说, 软件测试 是不能够发现“所有”的错误。换言之,要发现程序中的所有错误是不切实际的,也常
再从经济学视角来分析一下吧。
  
  需明确:对一个复杂的应用程序进行完全的测试,将耗费大量的时间和人力资源,以致于在经济上是不可行的。即,从经济学的角度来说,软件测试是不能够发现“所有”的错误。换言之,要发现程序中的所有错误是不切实际的,也常常是不可能的。这也体现了测试人员对被测试软件的期望和对测试用例的设计方式。由此,有了两种策略,即:黑盒测试白盒测试(均从三个方面进行阐述:原理、方法、利弊)。
 
  黑盒测试(又称为数据驱动的测试或输入/输出驱动的测试)
    • 原理:将程序视为一个黑盒子,测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件。
    • 方法:测试数据完全来源于软件规范(不需要去了解程序的内部结构)。如果想用这种方法来发现程序的所有错误,判定的标准就是“穷举输入测试”,将所有可能的输入条件都作为测试用例。
    • 利弊:穷举输入测试是无法实现的。原因有二:一是无法测试一个程序以确保它是无错的;二是软件测试中需要考虑的一个基本问题是软件测试的经济学,即,测试投入的目标在于通过有限的测试用例,最大限度地提高发现的问题的数量以取得最好的测试效果。
  白盒测试(又称为逻辑驱动的测试)
    • 原理:允许我们检查程序的内部结构的。这种测试策略对程序的逻辑结构进行检查,从中获取测试数据(但常忽略了程序的规范)。
    • 方法:穷举路径测试。即,如果使用测试用例执行了程序中所有可能的控制流路径,那么程序有可能得到了完全的测试。
    • 利弊:程序中不同逻辑路径的数量可能会达到天文数字,那么穷举路径测试就同穷举输入测试一样,非但不可能也是不切合实际的。
  文尾,值得提一下一个错误认知:“穷举路径测试即完全的测试”。因为,即使可以测试到程序中的所有路径,但是程序可能仍然存在着错误。其原因有三:
    • 即使是穷举路径测试也决不能保证程序符合其设计规范;
    • 程序可能会因为缺少某些路径而存在问题,可穷举路径测试不能发现到底是缺少了那些必需路径;
    • 穷举路径测试可能不会暴露数据敏感错误。

原文转自:http://www.ltesting.net