软件可测试性设计

发表于:2012-12-03 10:23

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

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

  摘要:提高软件可测试性是提高软件性能、节省开发费用的重要途径。光靠计算和分析是设计不出好的可测试性的,必须在软件生命周期各个阶段充分考虑可测试性,并拟定准则用以指导设计。本文从软件可测试性的特征着手,提出了一些提高软件可测试性的方法与软件开发人员共同探讨。

  关键字:可测试性软件

  引言

  “可测试性”这一概念于1975年在《设备自动测试性设计》一文中第一次被提出。从此,可测试性便在电子产品诊断电路设计及研究等各个领域得到了广泛应用。

  随着人们对产品质量标准的要求不断提高,作为产品质量重要特征之一的可测试性也受到越来越大的重视。因此,如何提高产品的可测试性成为了人们关注的焦点。在硬件电路的设计方面,有许多方法和工具来辅助增加电路的可测试性,从而降低测试工作的强度。但是在软件开发的领域,可测试性设计方面的研究工作还很缺乏,这是由于软件产品的多样性和灵活性所决定的。

  根据软件产品可测试性的特征,在软件生命周期的各个阶段,把可测试性的要求考虑进去,在目前不失为一个经济有效的办法。作为软件设计人员,应该在软件的设计过程中,充分考虑到可测试性的要求,这样既可以减少软件设计过程中的错误,又可以大大降低软件测试人员的工作量和测试费用。

  二、软件可测试性的特征

  在理想的情况下,软件设计师在设计计算机程序时应该考虑可测试性,这就使得负责测试的人能够更容易地设计有效的测试用例。什么是软件的可测试性呢?软件的可测试性就是软件能够被测试的容易程度。它依赖于软件本身的结构和描述该软件的文档资料的明确性。

  为了提高软件的可测试性,首先要了解具有可测试性的软件的基本特征。软件设计师可运用以下属性来检查软件所具有可测试性的程度。

  可操作性——“运行得越好,被测试的效率越高。”

  可观察性——“所看见的,就是所测试的。”

  可控制性——“对软件的控制越好,测试越能够被自动执行与优化。”

  可分解性——“通过控制测试范围,能够更好地分解问题,执行更灵巧的再测试。”

  简单性——“需要测试的内容越少,测试的速度越快。”

  稳定性——“改变越少,对测试的破坏越小。”

  易理解性——“得到的信息越多,进行的测试越灵巧。”

  三、软件测试过程中的常见问题

  软件系统的开发包括一系列生产活动,其中由人带来的错误因素非常多。错误可能出现在设计最初的规划阶段,由于目标错误或文档描述不完整;也可能在后期的设计和开发阶段,因为人们不能做到完全的交流。所以,软件开发过程中必须伴有质量保证活动。软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。在软件测试的过程中,会发现如下所述的一些常见问题。

  开发软件产品的文档不完整、不清晰、不准确。产品文档信息的缺乏造成测试者无法对软件产品的性能做出合理、充分的测试,从而无法达到预期的测试目标。

  隐藏故障的代码难以测试。如果输入引起的故障没有直接通过一个可观察的故障输出状态表现出来,这样的软件错误就非常难于发现并将其独立出来。如果数据状态错误通过几次中间过程仍然未被检测,那么当故障引起失效时,想查清产生它的原因就几乎是不可能的,此类问题经常存在。另一类问题是可能产生了数据状态错误,但是输出状态表现出来是正常的。这种情况的发生是由于多个不同的输入产生了相同的输出结果,对于测试来说就会变得更加困难。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号