有效利用白盒工具提高代码质量

发表于:2010-11-22 10:49

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

 作者:未知    来源:51Testing软件测试网采编

  代码质量是在软件满足了设计功能的前提下,对软件代码执行的可靠性、稳定性和高性能的一种更高的要求。如何能够有效提高代码质量,又节约程序员查找和修复bug的时间,成了一个难题。白盒测试工具的引入,恰好解决了这一难题。本文将阐述程序员如何有效利用白盒测试工具,提高代码质量和开发效率。

  提高代码质量的巨大经济收益

  从提高软件投资回报的角度出发,企业应在降低开发成本的同时,提高软件的可用性,这就意味着尽量减少应用程序中的bug和性能缺陷。而由于代码编写过程的人为因素,代码中的bug是不可避免的。据统计,每千行软件代码中,就可能存在20到30个bug。在无法避免bug产生的情况下,如何发现并及时消除这些bug,就成了提高软件投资回报的唯一可行办法。

  首先,我们来看看修复一个bug所需要的成本。在软件交付周期的不同阶段,修复一个bug所需的成本差别非常之大。越是到了软件交付的后期,修复bug越困难,成本也就越高。从图1可以看出,在测试阶段修复bug的代价是开发阶段的几倍,而一旦产品上线,进入维护期后,所需的代价更是达到几十倍。

  根据国际上的经验,在测试阶段修复一个bug的时间往往要比在代码编写阶段要多出15到75倍。

  因此,越早发现bug,越早解决,企业所付出的代价就越小。我们建议在软件进入测试阶段之前就解决掉大部分的bug,即交付高质量代码的意义所在。

  提高代码质量的几个关注点

  代码质量是在程序满足了设计功能的前提下,对软件代码执行的可靠性、稳定性和高性能的一种更高的要求。为了保证交付给测试人员的代码能够满足上述质量方面的要求,在开发阶段应该对代码进行如下方面的测试:

  1.静态代码分析

  为保正团队内各程序员之间编写习惯的一致性和规范性,消除容易导致错误的语法隐患,通常会制定一系列的编程规范。静态代码分析,即要求程序员对所有代码行进行规范性检查,消灭潜在隐患,提高代码的可靠性。

  静态代码分析的好处在于能发现大量潜在的软件缺陷。比如下面一段VB .NET代码中,使用Asc()函数返回ASCII码。

If (Asc(mChar) <> 13) And (Asc(mChar) <> 10) Then

  从语法上分析,这段代码是完全正确的。但若mChar为空,Asc()就会抛出ArgumentException错误,导致程序异常或中断。因此,从代码可靠性的角度出发,在使用Asc()之前,应对引用的字符串作判断,如下:

If Len(strchars) > 0 And strchars <> nothing Then Ascii = Asc(strchars)

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号