基于评价软件测试的有效性问题研究

时间:2022-05-09 07:05:22

基于评价软件测试的有效性问题研究

摘要:随着软件产业的迅猛发展,软件产品的规模越来越大,复杂度越来越高,但是软件产品质量却变得越来越难以控制。在软件测试过程中,因为多方面的因素,常常会导致一些错误和失效,为了改善测试过程、使测试过程变得更为有效,需要对软件测试过程进行一个补充,那就是对软件测试的有效性进行评价。本文介绍了评价软件测试有效性工作的一般流程,并提出了一系列用于精确度量测试有效性的度量指标。

关键词:软件测试;测试的有效性

中图分类号:TP393 文献标识码:A文章编号:1007-9599(2012)02-0000-02

Effectiveness Problem Study Based on the Evaluation of Software Testing

Wang Qian

(Tongji University,Shanghai201804,China)

Abstract:With the rapid development of software industry,the size of software products is growing,increasing complexity,but the quality of software products has become increasingly difficult to control.In the software testing process,because a number of factors,often lead to some error and failure,in order to improve the testing process,testing process becomes more efficient,you need a supplement to the software testing process,that is,software testing analyze and evaluate.This article describes the general process of evaluation of the effectiveness of software testing work,and proposed a series of metrics used to accurately measure test the effectiveness.

Keywords:Software testing;Test effectiveness

一、引言

如同任何产品离不开质量检验一样,软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审定,在软件生存期中占据着非常突出的重要位置。在软件测试过程中,测试人员非常关心之前的测试过程有没有得到改善,因为如果没有,那么在下一次又将犯一样的错误,继续执行无效的测试。同时由于测试在整个项目研发过程中占用了相当一部分信息服务资源,因此,管理人员也常常在思考测试是否有效,是否值得投入那么多资金。因此,要改善测试过程、使测试过程变得更为有效,必须不断地评价测试结果。

二、评价软件测试有效性的工作流程

评价软件测试有效性的主要目的是评价测试人员的工作和使用评价后的结果改进测试过程。在软件测试中,往往会存在一些无效的方面,评价的目标就是识别这些无效和问题以便可以采取修复措施。

在测试的有效性评价工作中,存在两个关键的因素:一是评估的目标,目标是对度量过程的恰当指导,无效的目标会使整个评价过程无效;二是实现度量目标所需的信息类别,信息的收集需要建立专门的小组,整个评价过程也应指派专门的人员负责,因为如果没有专人负责评价过程,那么就无法确保进行正确的数据收集和评估过程。

三、有效性评价的输入

当所有的软件测试过程结束后,软件测试有效性评价工作就可以开始了,测试阶段的最终执行结果是它的入口条件,表1列出了输入所需的一部分信息类型,根据具体项目的不同,也会产生其它的输入。

表1 测试有效性评价的输入信息

序号 输入的信息类型 序号 输入的信息类型

1 执行的测试的数量 6 修复缺陷的天数

2 测试中消耗的资源 7 没有修复的缺陷

3 所使用的测试工具 8 在操作中所发现的那些本该在测试中发现的缺陷

4 发现的缺陷 9 发现缺陷的阶段

5 被测试软件的规模 10 所发现的缺陷的名称

四、有效性评价的执行过程

软件测试的有效性评价的执行过程包含七个方面的内容:确定评估目标、确定度量内容、制定度量责任、选择评估方法、确定所需事实、收集评估数据和评估测试有效性。

(一)确定评估目标

定义目标,是为了使度量过程得到指导。前面提到,评价的目标就是为了识别测试无效的方面,以便采取修复措施。因此应该明确地确定评估执行的目标。在测试有效性评价中需要识别的内容包括以下几个方面:

1.识别测试弱项。用某些测试方法不能有效地发现系统的缺陷,识别测试弱项就是要识别这些测试方法中存在的问题。2.识别新测试工具的需要。确定当前存在的测试工具不再有效或高效,并将此作为获得新的或改进的测试工具的基础。3.评估项目测试。评价由项目组所执行的较经济地减少项目缺陷的测试的有效性。4.识别良好的测试实践。确定测试过程中的哪些实践是最有效的,以使这些实践活动可以用于所有的项目中。5.识别不好的测试实践。确定项目组所使用的哪些实践是无效的,以便建议其他项目不再使用这些实践。6.识别经济的测试实践。确定哪些特征使得测试最经济,以便可以改善测试的费效比。

(二)确定度量内容

明确了评价目标之后,接下来的工作就是确定度量的内容,即确定达到度量目标所需信息的类别。应用系统的测试中,有五个方面是可度量的:

1.涉及方。涉及方是指测试涉及哪些人,其涉及程度如何?2.测试的程度。测试的程度是指指测试覆盖了哪些区域,对这些区域所执行的测试量如何?3.资源。资源是指测试过程消耗了多少信息服务资源,包括人力和计算机资源?4.有效性。有效性是指每资源单元完成的测试是多少?5.评估。评估是指从测试过程收到的结果值是什么?

(三)制定度量责任

在测试评价过程中,应该指定负责收集和评估测试性能信息的小组和专门的负责人员,这时为了确保数据收集和评估过程发生的推动力。

(四)选择评估方法

在执行测试评估的过程中有一些方法可供选择,下面列出了评估测试有效性最常见的几种方法,在实际操作过程中,推荐采用度量指标方法,因为它一旦建立就很容易使用,并且可以证明它与有效和无效实践有密切关系。度量指标的一个主要优势在于可以清晰地定义评估过程,并且对被评估人员来说也是透明的,同时它具有良好的针对性,可以容易地确定哪些测试变量需要调整以提高有效性、效率和/或测试过程的经济性。当然也可以从这些方法中选择与管理风格最相配的那―种。

1.判断。依照评估人员的观点来评估测试过程。这通常是主观评估并且难以证明是否正确。不过,如果执行评价的人员受人尊敬,并且其判断与实际结果相关,那么过程可能会有效地运作。2.与方法论保持一致。如果测试标准和指南有效.那么可以认为符合这些说明和标准的测试是好的测试,反之是不好的测试。3.测试后的问题。可以通过测试过程完成后所出现的问题数量来度量测试过程的有效性。如果几乎没有新问题出现,那么可以认为测试是良好的,反之,如果出现了很多问题,那么测试就是糟糕的。4.用户反应。如果用户对应用系统满意,那么可以认为测试良好;如果用户对应用系统的性能并不满意,那么可以判断测试是糟糕的。5.测试度量指标。应该识别那些和好的或不好的测试有密切关系的标准。因素间的这种关联或关系称为度量指标。此过程是度量测试的科学的数学化方法。

(五)确定所需事实

确定所需事实是指识别支持所选方法的必要证据。度量指标方法明确地识别了评估过程所需的数据类型。要使用本文后面描述的度量指标,所需确定的信息包括:

1.变更的特征。指各系统变更发生的频率、规模和类型。2.被测试过程的费用。指对系统开发或变更安装进行测试的费用。3.测试的费用。指用于测试新功能的资源,包括人力和计算机资源。4.测试所发现的缺陷。指测试所发现的缺陷数量。5.阶段发现的缺陷。指对各阶段进行分解以说明系统开发生命周期各阶段的测试有效性。6.测试后发现的缺陷。指将新功能置为产品状态后所发现的缺陷的数量。7.按功能的测试费用。指软件开发生命周期中发生测试的各阶段所消耗的资源数量。8.对系统的抱怨。指系统可操作之后。第三方对问题的抱怨。9.缺陷的量化。指与各个没有发现的缺陷相关的潜在经济损失。10.恢复缺陷的量化。指修复应用系统缺陷的费用。

五、有效性评价的检查过程

在检查过程中,需要建立一个质量控制检查单,其中的“是”回答表示好的测试实践;“否”回答表示需要额外的调查。注释列用于解释“否’回答并记录调查结果。当检查单的项不适用于测试情形时适用“N/A”列。

六、有效性评价的输出

测试有效性评价的最后输出是改进后的测试过程。在这个步骤中,主要是对测试结果进行仔细地分析,然后采取相应措施来修复所确认的薄弱环节,使用度量/行动的方法来改善测试过程,最后使得应用系统测试更加有效。

度量/行动的方法是指通过改变某种度量指标中的变量来度量另一种度量指标中变量的改变。例如,如果在系统进入操作状态之后所发现的缺陷数目多于预期的,那么就应该采取行动。这个行动可能是增加在测试中执行的指令的数量。显然,这也增加了有望减少操作前没有发现的缺陷数量的测试费用。如果能够说明通过增加执行的指令数目确实减少了操作的系统中的缺陷数目,那么可以认为该措施是预期的,并且应该推广。而如果执行指令的增加并没有减少产品投入运行之前的缺陷的数目,那么说明那些资源还没有得到有效的使用,应该停止该行动并且尝试其他措施。

七、结论

本文提出了评测软件测试有效性的一般工作流程,描述了度量测试的普遍目标,并为执行这些度量给出了推荐的标准,是软件测试的有效充,对实际软件测试的评价工作具有一定的指导意义。在项目软件测试过程结束后,IT组织应该结合各自的特点,通过在软件过程中积累的经验,运用本文提出的工作流程,逐步对软件测试过程进行改进,使软件测试更为有效的发挥它的积极作用。

参考文献:

[1]曹文泉.面向对象的软件测试[J].甘肃科技,2004,(10)

[2]不等式单元测试题[J].天府数学,1999,(02)

上一篇:医院网络安全现状解析及防控措施探讨 下一篇:浅析计算机病毒的防范及对策