我看“静态测试”

发表于:2010-3-05 12:08

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

 作者:huior    来源:51Testing软件测试博客

  要衡量软件的可维护性,可以从四个方面去度量,即可分析性(Analyzability)、可改变性(Changeability)、稳定性(Stability)以及可测试性(Testability)。具体到软件的可测试性怎么去衡量呢?又可以从三个度量元去考虑,例如圈复杂度、输入/输出的个数等。圈复杂度越大,说明代码中的路径越多;路径越多,意味着要去做测试,需要写更多的测试用例。输入/输出的个数同样的道理。

  在具体的实践中,专门的质量度量工具是必要的。没有工具的支持,这一步很难只靠人工完成。在这个阶段,比较专业的工具有Testbed、Logiscope等。

  3、代码错误检测——提高软件的靠性

  在传统意义上认为,错误检测应该是动态的系统测试的范围。但在bug的成本上分析,有以下公认的结论。

  In Boris Beizers well known analysis, the longer a fault stays in the product as it goes through the lifecycle, by a factor of 10 at each stage. This has become a cliche somewhat, but is not without foundation. If the fault can be found by the developer or colleague it will cost tens or hundreds of pounds. If a customer finds the fault, thousands of pounds may be the cost.

  Bug发现的越晚,修正的成本就越高,测试阶段修正bug的成本是编码阶段的约4倍的关系。为了减少成本,bug被发现的越早越好。在编程阶段,静态的分析代码就能找到代码的bug,是很多人的梦想。这个梦想在21世纪初变成了现实。以PolySpacee、Klocwork、Coverity为代表的静态分析软件,实现了只要静态分析代码,就可以发现代码的bug,例如数组越界、除数为0、缓冲区溢出等,虽然还不是特别完美。

  微软在其最新的开发工具Visual Studio 2005的 team system editon中集成了安全工具PREFix。PREFix原来就是著名的静态分析工具,后被微软收购过来。从微软的倾向看发展走势,类似的静态工具未来会成为市场的主流。

  PolySpace详细的信息可以参考我的另外一篇文章《嵌入式软件动态运行时错误的检测》。

  Coverity的详细信息可以参考其网站 www.coverity.com

  以上是我在几年的实践过程中总结出来的实施静态测试的方法,个人评价,理论性一般,但实践性很强,这套方式已经推荐给国内的很多研究所使用,实践证明是一套行之有效的方法。(以上言论仅代表作者的个人观点,不代表51Testing观点)


版权声明:本文出自huior的51Testing软件测试博客:
http://www.51testing.com/?10851

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号