关闭

带上X光眼镜测试软件

发表于:2009-8-06 18:24

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

 作者:未知    来源:51Testing博客转载

  3、公式和等式

  公式和等式通常深藏于代码中。

  撇开代码中的公式和等式,查看它们使用的变量,在程序正常输入和输出之外,为其建立测试用例和等价划分。

  4、错误强制(error forcing)

  如果执行在调试器中测试的程序,不仅能够观察到变量的值——还可以强制改变变量的值。

  注意:在使用错误强制时,小心不要设置现实世界中不可能出现的情况。如果程序员在函数开头检查n值必须大于0,而且n值仅用于该公式中,那么将n值设为0,使程序失败的测试用例就是非法的。

  如果仔细选择了错误强制情况,并和程序员一起反复检查以确认它们是合法的,错误强制就是一个有效的工具。

  使用错误强制的上好方法就是迫使软件中的所有错误提示信息显示出来。

  大多数软件使用内部错误代码表示错误的提示信息。

  五、代码覆盖(Code Coverage)

  测试数据只是一半的工作。为了全面地覆盖,还必须测试程序的状态及程序流程。必须设法进入和退出每一个模块,执行每一行代码,进入软件每一条逻辑和决策分支。这种类型的测试叫做代码覆盖测试。

  代码覆盖测试是一种动态白盒测试。

  代码覆盖测试最简单的形式是利用编译环境的调试器通过单步执行程序查看代码。

  对于小程序或者单独模块,使用调试器就足够了。然而对大多数程序进行代码覆盖测试要用到称为代码覆盖率分析器(code coverage analyzer)的专用工具。

  代码覆盖率测试器挂接在正在测试的软件中,当执行测试用例时在后台执行。每当执行一个函数,一行代码或一个逻辑决策分支时,分析器就记录相应的信息。从中可以获得指示软件哪些部分被执行,哪些部分未被执行的统计结果。利用该数据可以得到:

  (1)测试用例没有覆盖软件的哪些部分;

  (2)哪些测试用例时多余的;

  (3)为了使覆盖率更好,需要建立什么样的新测试用例;

  (4)软件质量的大致情况。

  如果测试用例覆盖了软件的90%而未发现任何软件缺陷,就说明软件质量非常好。这并非绝对。注意“杀虫剂现象”,软件测试得越多,它对测试的免疫能力越强,如果测试用例覆盖了软件的90%而未发现任何软件缺陷,也有可能使软件的构造不好——可能是软件对测试具有了免疫能力。增加新的测试用例可能会暴露余下的 10%具有非常多的缺陷。

  1、程序语句和代码行覆盖

  代码覆盖最直接的形式称为语句覆盖(statement coverage)或者代码行覆盖(line coverage)。如果在测试软件的同时监视语句覆盖,目标就是保证程序中每一条语句最少执行一次。

  遗憾的是,语句覆盖是一种误导,即使全部语句都被执行了,也不能说走遍了软件的所有路径。

  2、分支覆盖

  试图覆盖软件中的所有路径称为路径覆盖。路径测试最简单的形式称为分支覆盖测试。

  大多数代码覆盖率分析器将根据代码分支,分别报告语句覆盖和分支覆盖的结果,是软件测试员更加清楚测试的效果。

  3、条件覆盖

  与分支覆盖一样,代码覆盖率分析器可以被设置为在报告结果时将条件考虑在内。如果测试条件覆盖,就能达到分支覆盖,顺带也能达到语句覆盖。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号