论文部分内容阅读
摘要:在软件测试过程中,因为多方面的因素,常常会导致一些错误和失效,为了改善测试过程、使测试过程变得更为有效,需要对软件测试过程进行一个补充,那就是对软件测试的有效性进行评价。本文介绍了评价软件测试有效性工作的一般流程,并提出了一系列用于精确度量测试有效性的度量指标。
关键词:软件测试;测试的有效性
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30467-03
Assessing the Validity of Software Testing
ZHANG Rui-yue, CHEN Lin
(Wuhan Digital Engineering Institute,Wuhan 430074,China)
Abstract: During the process of software testing , because of various of factor, usually cause some mistakes and invalidation, for the sake of improving testing process, making testing process to become more valid, need to carry on a complement to software testing process , that mean carrying on an evaluation to usefulness of software testing. This article introduce a general process of valuating usefulness of software testing, and put forward a series measuring index to measure of usefulness of software testing accurately.
Key words: software testing; validity of testing
1 引言
如同任何产品离不开质量检验一样,软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审定,在软件生存期中占据着非常突出的重要位置。在软件测试过程中,测试人员非常关心之前的测试过程有没有得到改善,因为如果没有,那么在下一次又将犯一样的错误,继续执行无效的测试。同时由于测试在整个项目研发过程中占用了相当一部分信息服务资源,因此,管理人员也常常在思考测试是否有效,是否值得投入那么多资金。因此,要改善测试过程、使测试过程变得更为有效,必须不断地评价测试结果。
2 评价软件测试有效性的工作流程
评价软件测试有效性的主要目的是评价测试人员的工作和使用评价后的结果改进测试过程。在软件测试中,往往会存在一些无效的方面,评价的目标就是识别这些无效和问题以便可以采取修复措施。
在测试的有效性评价工作中,存在两个关键的因素:一是评估的目标,目标是对度量过程的恰当指导,无效的目标会使整个评价过程无效;二是实现度量目标所需的信息类别,信息的收集需要建立专门的小组,整个评价过程也应指派专门的人员负责,因为如果没有专人负责评价过程,那么就无法确保进行正确的数据收集和评估过程。
图1给出了评价测试有效性的工作流程。本文主要围绕这个工作流程来进行详细的阐述。
4 有效性评价的执行过程
软件测试的有效性评价的执行过程包含七个方面的内容:确定评估目标、确定度量内容、制定度量责任、选择评估方法、确定所需事实、收集评估数据和评估测试有效性。
4.1 确定评估目标
定义目标,是为了使度量过程得到指导。前面提到,评价的目标就是为了识别测试无效的方面,以便采取修复措施。因此应该明确地确定评估执行的目标。在测试有效性评价中需要识别的内容包括以下六个方面:识别测试弱项、识别新测试工具的需要、评估项目测试、识别良好的测试实践、识别不好的测试实践和识别经济的测试实践。
4.2 确定度量内容
明确了评价目标之后,接下来的工作就是确定度量的内容,即确定达到度量目标所需信息的类别。应用系统的测试中,有五个方面是可度量的:涉及方、测试的程度、资源、有效性和评估。
4.3 制定度量责任
在测试评价过程中,应该指定负责收集和评估测试性能信息的小组和专门的负责人员,这时为了确保数据收集和评估过程发生的推动力。
4.4 选择评估方法
在执行测试评估的过程中有一些方法可供选择,在实际操作过程中,我们推荐采用度量指标方法,因为它一旦建立就很容易使用,并且可以证明它与有效和无效实践有密切关系。
因素间的某种关联或关系称为度量指标。度量指标的一个主要优势在于可以清晰地定义评估过程,并且对被评估人员来说也是透明的,同时它具有良好的针对性,可以容易地确定哪些测试变量需要调整以提高有效性、效率和/或测试过程的经济性。测试度量指标方法是指识别那些和好的或不好的测试有密切关系的标准。
4.5 确定所需事实
确定所需事实是指识别支持所选方法的必要证据。度量指标方法明确地识别了评估过程所需的数据类型。要使用本文后面描述的度量指标,所需确定的信息包括:变更的特征、被测试过程的费用、测试的费用、测试所发现的缺陷、阶段发现的缺陷、测试后发现的缺陷、按功能的测试费用、对系统的抱怨、缺陷的量化和恢复缺陷的量化。
4.6 收集评估数据
收集评估数据主要是指通过收集机制、存储机制以及选择和总结信息的方法,来建立用于存储所需评估数据的系统。
4.7 评估测试有效性
执行过程的最后一步是分析信息以得到关于系统测试有效性的结论。通过分析度量指标方法,相应的人员可以有针对性地采取措施,并将总结后的结果记录到测试评估表格中。度量指标方法通常会以量化的,表示测试过程好坏的形式给出评估。
下面(见表2)给出30个推荐使用的用于评价应用系统测试的度量指标。
5 有效性评价的检查过程
在检查过程中,需要建立一个质量控制检查单(见表3),其中的“是”回答表示好的测试实践;“否”回答表示需要额外的调查。注释列用于解释“否’回答并记录调查结果。当检查单的项不适用于测试情形时适用“N/A”列。
6 有效性评价的输出
测试有效性评价的最后输出是改进后的测试过程。在这个步骤中,主要是对测试结果进行仔细地分析,然后采取相应措施来修复所确认的薄弱环节,使用度量/行动的方法来改善测试过程,最后使得应用系统测试更加有效。(度量/行动的方法是指通过改变某种度量指标中的变量来度量另一种度量指标中变量的改变。如果能够说明通过增加执行的指令数目确实减少了操作的系统中的缺陷数目,那么可以认为该措施是预期的,并且应该推广。而如果执行指令的增加并没有减少产品投入运行之前的缺陷的数目,那么说明那些资源还没有得到有效的使用,应该停止该行动并且尝试其他措施。)
7 结束语
本文提出了评测软件测试有效性的一般工作流程,描述了度量测试的普遍目标,并为执行这些度量给出了推荐的标准,是软件测试的有效充,对实际软件测试的评价工作具有一定的指导意义。在项目软件测试过程结束后,IT组织应该结合各自的特点,通过在软件过程中积累的经验,运用本文提出的工作流程,逐步对软件测试过程进行改进,使软件测试更为有效的发挥它的积极作用。
参考文献:
[1] William E Lewis.软件测试与持续质量改进[M].陈少英,张河涛,译.北京:人民邮电出版社,2008.
[2] 赵亮,王建明,孙家广.软件测试准则的有效性度量研究[J].计算机研究与发展,2006,43(8).
[3] Marnie L Hutcheson.软件测试基础:方法与度量[M].包晓露,王小娟,译.北京:人民邮电出版社,2007.
关键词:软件测试;测试的有效性
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30467-03
Assessing the Validity of Software Testing
ZHANG Rui-yue, CHEN Lin
(Wuhan Digital Engineering Institute,Wuhan 430074,China)
Abstract: During the process of software testing , because of various of factor, usually cause some mistakes and invalidation, for the sake of improving testing process, making testing process to become more valid, need to carry on a complement to software testing process , that mean carrying on an evaluation to usefulness of software testing. This article introduce a general process of valuating usefulness of software testing, and put forward a series measuring index to measure of usefulness of software testing accurately.
Key words: software testing; validity of testing
1 引言
如同任何产品离不开质量检验一样,软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审定,在软件生存期中占据着非常突出的重要位置。在软件测试过程中,测试人员非常关心之前的测试过程有没有得到改善,因为如果没有,那么在下一次又将犯一样的错误,继续执行无效的测试。同时由于测试在整个项目研发过程中占用了相当一部分信息服务资源,因此,管理人员也常常在思考测试是否有效,是否值得投入那么多资金。因此,要改善测试过程、使测试过程变得更为有效,必须不断地评价测试结果。
2 评价软件测试有效性的工作流程
评价软件测试有效性的主要目的是评价测试人员的工作和使用评价后的结果改进测试过程。在软件测试中,往往会存在一些无效的方面,评价的目标就是识别这些无效和问题以便可以采取修复措施。
在测试的有效性评价工作中,存在两个关键的因素:一是评估的目标,目标是对度量过程的恰当指导,无效的目标会使整个评价过程无效;二是实现度量目标所需的信息类别,信息的收集需要建立专门的小组,整个评价过程也应指派专门的人员负责,因为如果没有专人负责评价过程,那么就无法确保进行正确的数据收集和评估过程。
图1给出了评价测试有效性的工作流程。本文主要围绕这个工作流程来进行详细的阐述。
4 有效性评价的执行过程
软件测试的有效性评价的执行过程包含七个方面的内容:确定评估目标、确定度量内容、制定度量责任、选择评估方法、确定所需事实、收集评估数据和评估测试有效性。
4.1 确定评估目标
定义目标,是为了使度量过程得到指导。前面提到,评价的目标就是为了识别测试无效的方面,以便采取修复措施。因此应该明确地确定评估执行的目标。在测试有效性评价中需要识别的内容包括以下六个方面:识别测试弱项、识别新测试工具的需要、评估项目测试、识别良好的测试实践、识别不好的测试实践和识别经济的测试实践。
4.2 确定度量内容
明确了评价目标之后,接下来的工作就是确定度量的内容,即确定达到度量目标所需信息的类别。应用系统的测试中,有五个方面是可度量的:涉及方、测试的程度、资源、有效性和评估。
4.3 制定度量责任
在测试评价过程中,应该指定负责收集和评估测试性能信息的小组和专门的负责人员,这时为了确保数据收集和评估过程发生的推动力。
4.4 选择评估方法
在执行测试评估的过程中有一些方法可供选择,在实际操作过程中,我们推荐采用度量指标方法,因为它一旦建立就很容易使用,并且可以证明它与有效和无效实践有密切关系。
因素间的某种关联或关系称为度量指标。度量指标的一个主要优势在于可以清晰地定义评估过程,并且对被评估人员来说也是透明的,同时它具有良好的针对性,可以容易地确定哪些测试变量需要调整以提高有效性、效率和/或测试过程的经济性。测试度量指标方法是指识别那些和好的或不好的测试有密切关系的标准。
4.5 确定所需事实
确定所需事实是指识别支持所选方法的必要证据。度量指标方法明确地识别了评估过程所需的数据类型。要使用本文后面描述的度量指标,所需确定的信息包括:变更的特征、被测试过程的费用、测试的费用、测试所发现的缺陷、阶段发现的缺陷、测试后发现的缺陷、按功能的测试费用、对系统的抱怨、缺陷的量化和恢复缺陷的量化。
4.6 收集评估数据
收集评估数据主要是指通过收集机制、存储机制以及选择和总结信息的方法,来建立用于存储所需评估数据的系统。
4.7 评估测试有效性
执行过程的最后一步是分析信息以得到关于系统测试有效性的结论。通过分析度量指标方法,相应的人员可以有针对性地采取措施,并将总结后的结果记录到测试评估表格中。度量指标方法通常会以量化的,表示测试过程好坏的形式给出评估。
下面(见表2)给出30个推荐使用的用于评价应用系统测试的度量指标。
5 有效性评价的检查过程
在检查过程中,需要建立一个质量控制检查单(见表3),其中的“是”回答表示好的测试实践;“否”回答表示需要额外的调查。注释列用于解释“否’回答并记录调查结果。当检查单的项不适用于测试情形时适用“N/A”列。
6 有效性评价的输出
测试有效性评价的最后输出是改进后的测试过程。在这个步骤中,主要是对测试结果进行仔细地分析,然后采取相应措施来修复所确认的薄弱环节,使用度量/行动的方法来改善测试过程,最后使得应用系统测试更加有效。(度量/行动的方法是指通过改变某种度量指标中的变量来度量另一种度量指标中变量的改变。如果能够说明通过增加执行的指令数目确实减少了操作的系统中的缺陷数目,那么可以认为该措施是预期的,并且应该推广。而如果执行指令的增加并没有减少产品投入运行之前的缺陷的数目,那么说明那些资源还没有得到有效的使用,应该停止该行动并且尝试其他措施。)
7 结束语
本文提出了评测软件测试有效性的一般工作流程,描述了度量测试的普遍目标,并为执行这些度量给出了推荐的标准,是软件测试的有效充,对实际软件测试的评价工作具有一定的指导意义。在项目软件测试过程结束后,IT组织应该结合各自的特点,通过在软件过程中积累的经验,运用本文提出的工作流程,逐步对软件测试过程进行改进,使软件测试更为有效的发挥它的积极作用。
参考文献:
[1] William E Lewis.软件测试与持续质量改进[M].陈少英,张河涛,译.北京:人民邮电出版社,2008.
[2] 赵亮,王建明,孙家广.软件测试准则的有效性度量研究[J].计算机研究与发展,2006,43(8).
[3] Marnie L Hutcheson.软件测试基础:方法与度量[M].包晓露,王小娟,译.北京:人民邮电出版社,2007.