|
|
51CTO旗下网站
|
|
移动端

1.6.8 可测试性

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍可测试性。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 21:18

1.6.8 可测试性

根据IEEE的定义,可测试性是“系统或组件有助于建立测试准则、执行测试以便判断这些准则是否满足的程度”。对产品可测试性的度量方式可以分为静态和动态两类。软件复杂度是一种静态可测试性度量,软件越复杂,其可测试性越低,即完成测试需花费的精力越多。动态可测试性度量包含各种基于代码的覆盖准则。例如对一个程序,如果很难为其设计出满足语句覆盖准则的测试用例,那么相对于易设计测试用例的程序来说,该程序的可测试性就要低一些。

高可测试性是个理想目标。要达到此目标,最好事先就弄清楚需要测什么以及如何测。因此,建议在需求分析阶段就确定需要测哪些特性以及如何测。这些信息可在设计阶段进行修正,并传递到编码阶段。可测试性要求可以通过向一个类中的增加部分代码来实现。在更复杂的情况下,单是为了满足可测试性的要求,除了软件具备特殊的功能外,还需要专门的硬件和探测器。

例1.19考虑程序E,它用于控制电梯的操作,必须通过大量的测试,也必须经受得住测试人员对其进行的大量测试。其中一个测试是检查电梯升降马达以及制动系统是否工作正常。当然,测试人员可以在硬件全部到位后才做这个测试,但是,由于硬件与软件并行开发,测试人员只能采用模拟器来代替升降马达和制动系统。

为了提高E的可测试性,测试人员必须得设计一个组件,让它与升降马达和制动系统模拟器进行通信,并显示出被模拟的硬件设备的状态。这个组件还得允许测试人员能够输入诸如“启动马达”等命令。

对E的另一个测试要求就是它得允许测试人员验证不同的调度算法。这个问题可以通过向E增加一个组件来解决。该组件向测试人员提供一个调度算法及其是否实现的选择面板,测试人员选择一个已实现的算法,观察电梯对不同输入的响应动作。这种测试还要求一个随机输入产生器,并能显示出产生的输入、电梯的响应动作(参考练习1.15)。

可测试性涉及硬件设计和软件设计。在硬件设计中,可测试性的含义是存在测试手段来检测针对成品中某种故障模型的所有故障,因此,可测试性的目的在于验证成品的正确性。而软件可测试性的关注点在于验证软件设计和实现。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

跨越网络工程师必备训练

本书是根据全国计算机技术与软件专业资格(水平)考试“网络工程师级考试大纲”编写的考试辅导用书。全书主体按考试大纲的章节编排,分上、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊