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

发表于:2007-4-12 10:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:soliya    来源:soliya博客

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

原始连接:http://soliya9902.spaces.live.com/Blog/cns!4CBD7F2284BC0EA!419.entry

《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号