摘要:随着软件产业的迅猛发展,软件产品的规模越来越大,复杂度越来越高,但是软件产品质量却变得越来越难以控制。在软件测试过程中,因为多方面的因素,常常会导致一些错误和失效,为了改善测试过程、使测试过程变得更为有效,需要对软件测试过程进行一个补充,那就是对软件测试的有效性进行评价。本文介绍了评价软件测试有效性工作的一般流程,并提出了一系列用于精确度量测试有效性的度量指标。
关键词:软件测试;测试的有效性
一、引言
如同任何产品离不开质量检验一样,软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审定,在软件生存期中占据着非常突出的重要位置。在软件测试过程中,测试人员非常关心之前的测试过程有没有得到改善,因为如果没有,那么在下一次又将犯一样的错误,继续执行无效的测试。同时由于测试在整个项目研发过程中占用了相当一部分信息服务资源,因此,管理人员也常常在思考测试是否有效,是否值得投入那么多资金。因此,要改善测试过程、使测试过程变得更为有效,必须不断地评价测试结果。
二、评价软件测试有效性的工作流程
评价软件测试有效性的主要目的是评价测试人员的工作和使用评价后的结果改进测试过程。在软件测试中,往往会存在一些无效的方面,评价的目标就是识别这些无效和问题以便可以采取修复措施。
在测试的有效性评价工作中,存在两个关键的因素:一是评估的目标,目标是对度量过程的恰当指导,无效的目标会使整个评价过程无效;二是实现度量目标所需的信息类别,信息的收集需要建立专门的小组,整个评价过程也应指派专门的人员负责,因为如果没有专人负责评价过程,那么就无法确保进行正确的数据收集和评估过程。
三、有效性评价的输入
当所有的软件测试过程结束后,软件测试有效性评价工作就可以开始了,测试阶段的最终执行结果是它的入口条件,表1列出了输入所需的一部分信息类型,根据具体项目的不同,也会产生其它的输入。
表1 测试有效性评价的输入信息
序号 | 输入的信息类型 | 序号 | 输入的信息类型 |
1 | 执行的测试的数量 | 6 | 修复缺陷的天数 |
2 | 测试中消耗的资源 | 7 | 没有修复的缺陷 |
3 | 所使用的测试工具 | 8 | 在操作中所发现的那些本该在测试中发现的缺陷 |
4 | 发现的缺陷 | 9 | 发现缺陷的阶段 |
5 | 被测试软件的规模 | 10 | 所发现的缺陷的名称 |
四、有效性评价的执行过程
软件测试的有效性评价的执行过程包含七个方面的内容:确定评估目标、确定度量内容、制定度量责任、选择评估方法、确定所需事实、收集评估数据和评估测试有效性。
(一)确定评估目标
定义目标,是为了使度量过程得到指导。前面提到,评价的目标就是为了识别测试无效的方面,以便采取修复措施。因此应该明确地确定评估执行的目标。在测试有效性评价中需要识别的内容包括以下几个方面:
1、识别测试弱项。用某些测试方法不能有效地发现系统的缺陷,识别测试弱项就是要识别这些测试方法中存在的问题。
2、识别新测试工具的需要。确定当前存在的测试工具不再有效或高效,并将此作为获得新的或改进的测试工具的基础。
3、评估项目测试。评价由项目组所执行的较经济地减少项目缺陷的测试的有效性。