• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

实时软件测试[1]

发布: 2010-5-27 10:31 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 47次 | 进入软件测试论坛讨论

领测软件测试网

  实时软件测试[1]   软件测试

  软件测试和维护占用了典型软件生命周期过程的70%或更多,那么选择什么样的策略来控制这些成本呢?LDRA将给出您答案。

  多年来,在航空电子工业领域,覆盖率分析技术已经在复杂的软件控制系统错误检测方面取得了非常有效的业绩。现在,汽车工业也在考虑在软件控制方面的测试质量和不断增加的费用之间选择。如果能够借鉴航空电子工业领域中的经验和教训将是一种明智的选择。

  有很多不同类型和级别的覆盖率。经常被提及的术语是函数覆盖率,这是一个用来报告你是否调用过每一个函数的度量标准。这种覆盖率有助于在测试的初级阶段确保软件的所有部分达到一些基本的覆盖率和消除一些明显的不足。

  在那些开发复杂实时软件(RTS)的公司里,通常情况下这种级别的覆盖是不够充分的,因此无论哪一种被应用的覆盖技术都扩充到包括语句和分支覆盖。

  语句覆盖——也称为线性覆盖、段覆盖或者基本块覆盖,它可用来说明每一个可执行语句是否被执行,基本块覆盖和语句覆盖是一致的,被测的代码单元是没有分支的序列。这大大的扩充了覆盖图的范围,虽然仅仅是平面图。

  语句覆盖是最容易达到100%的覆盖度量指标。它能覆盖整个源代码并且帮助用户发现存在于程序中很少运行到的代码段中的错误。虽然它相对来说容易达到100%,不需要花费昂贵的费用和资源,但是它仍然能够显著的增强我们在源代码的正确性方面的信心。然而,简单的实现100%的语句

  覆盖率意味者仍然有通过这些语句的潜在的路径没有被执行,语句覆盖不能测量这些路径。

  语句覆盖是不能够辨认很多的控制结构。例如,下面的这段C/C++代码,在没有一个测试用例使condition变量成为false的情况下,语句覆盖就认为这个代码被充分覆盖了;实际上,如果一旦condition为false,这个代码将出错。这是语句覆盖的一个非常严重的缺点。而If语句的使用是十分普遍的。

  int* p = NULL;

  if (condition)

  p = &variable;

  *p = 123;

  语句覆盖也不能告诉我们循环是否在终止时退出,它仅仅说明执行了循环体。因为像do-while这样的循环会首先执行循环体一次,语句覆盖认为它们是没有分支的语句。

  语句覆盖率也忽略逻辑操作符(||和$$)。而且,语句覆盖也不能辨认连续的开关语句标号。为了达到更加完整和精确的覆盖,至少应用二维覆盖图,显然需要分解判定条件。

  if(condition1&&(condition2|| function1()))

  statement1;

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 软件测试 实时

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网