相应的软件测试用例怎么写设计方法能不能替代软件测试用例怎么写

面向需求覆盖的航天软件测试用例优化方法
王红园, 郭永飞, 姬琪. 面向需求覆盖的航天软件测试用例优化方法. 光学精密工程, ): 228-234[WANG Hong-Yuan, Guo Yong-Fei, Ji Qi. Optimization of aerospace software test cases based on requirement coverage. 《光学精密工程》, ): 228-234]&&
Permissions
面向需求覆盖的航天软件测试用例优化方法
王红园1,2,
郭永飞1*,*,
1.中国科学院 长春光学精密机械与物理研究所,吉林 长春 130033
2.中国科学院大学,北京 100039
作者简介:王红园(1980-),女,吉林长春人,博士研究生,助理研究员,2003年、2006年于吉林大学分别获得学士、硕士学位,研究领域为软件测试与软件工程。E-mail:导师简介:郭永飞(1961-),男,吉林长春人,研究员,博士生导师,1990年于中国科学院院长春光学精密机械与物理研究所获得硕士学位,主要从事光电技术应用,CCD成像电子学,嵌入式系统开发等方面的研究。E-mail:
基金:国家863高技术研究发展计划资助项目(No.4G);
研究了一种面向需求覆盖率的测试用例优化方法,用于提高测试效率,增加航天软件测试的有效性。该测试用例优化方法包括测试用例约简和测试用例设计两部分,目前已应用于某航天型号项目的测试过程中。文中分析了航天软件的特点,测试流程及测试过程中可采用的优化技术。研究了现有的测试用例约简方法,并改进了基于测试需求的约简方法,使之能够满足需求覆盖率的要求。之后,提出了一种基于需求关键词关联的测试用例设计方法,以确保达到预期的需求覆盖率。最后,将这种优化方法应用于工程实践,并进行了结果分析。应用结果表明,采用上述方法不但满足了需求覆盖率的要求并使测试用例设计的工作量降低了约39%,保证了测试充分性,并有效地提高了测试效率。
中图分类号:TP311.5
文献标志码:A
文章编号:14)01-0228-07
Optimization of aerospace software test cases based on requirement coverage
WANG Hong-Yuan1,2,
Guo Yong-Fei1,*,
1.Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences,Changchun 130033, China
2.University of Chinese Academy of Sciences, Beijing 100039, China
*Correspondingauthor,E-mail:
An approach to optimize the aerospace software test cases based on the requirement coverage is researched in this paper to improve the efficiency of the software testing and increase the effectiveness of aerospace software testing. It is composed of the reduction and design of test cases, and has been used in a test of aerospace project. Firstly,the characteristics, testing process, and optimization techniques of aerospace software are analyzed. Then, a method to reduce test requirements is improved to simplify the test requirements. Furthermore, a design of test cases based on the correlative keywords of requirements is given, and the requirement coverage is achieved. Finally, the optimizing approach is applied in the test of aerospace software. The results of application show that the method can not only satisfy the demand of requirement coverage, but also make the workload of designing test cases reduce by 39%. The method ensures testing adequacy, and improves the test efficiency greatly.
software testing;
aerospace software;
requirement coverage;
requirement reduction;
design of test case
1 引 言随着我国航天技术的不断发展,电子学系统在航天控制器上发挥的作用越来越重要,软件承担的任务也日益繁重。软件的质量直接影响了航天型号产品的质量,因此软件质量和可靠性的受关注程度逐渐增加。由于软件测试是保障软件质量和可靠性的主要手段之一,全面、系统、充分有效的软件测试工作成为航天软件研制过程中必不可少的部分。软件测试是根据软件需要达到的目标设计相应的测试用例,通过观察测试用例的运行情况判断软件实现是否正确。因此,测试用例设计的好坏就成为决定软件测试质量的关键因素。目前,测试用例的设计方法主要有两种[]:基于代码的测试用例设计方法和基于需求的测试用例设计方法。前者是从代码中获取测试用例,目前根据测试覆盖的要求已产生了基于路径覆盖的或基于MC/DC覆盖的多种测试用例设计方法。但基于代码的覆盖率有其固有的缺点,它是基于特定的系统实现的,只能判定代码是否被执行,至于软件实现是否满足用户的需求是无法度量的,即便是错误的实现依然可以做到代码覆盖率100%。基于需求的测试用例的设计方法则可以很好地解决这一问题,它能够反映出软件实现满足了多少需求。软件测试分为很多个测试阶段。在每一个测试阶段,测试人员可能会根据需求文档或设计文档或其他的数据文档或源代码等设计出大量的测试用例来满足测试覆盖率的要求,以确保测试的充分性。之后,还要进行繁琐的回归测试,测试用例集的规模也随之越来越大,对于测试用例的维护需要投入大量的人力和物力[]。大型航天软件的研制过程很复杂,维护测试用例的成本更加巨大。因此,测试用例集的约简势在必行。测试用例的约简是指在所有的测试用例中选择更有代表性的测试用例,减少冗余测试用例带来的时间和成本的浪费,从而提高测试效率,降低测试成本[,]。测试用例集的约简方法分为两大类[]:一种是测试用例直接约简方法,另一种是基于测试需求的约简方法。测试用例直接约简方法是在已有的测试用例集上直接进行约简,并没有减少测试用例设计的工作量。参考文献[6]提出了一种基于测试需求的约简方法,在测试用例设计之前,先对测试需求集进行约简,从而减小了测试需求集的规模,降低了测试用例设计的工作量。目前,已有的测试用例设计和约简方法[,,]在航天软件测试过程中都存在着一些问题,要么过于复杂不易操作,要么不能保证需求覆盖率。本文针对上述问题,提出了适用于航天软件测试的测试用例优化方法,即基于需求覆盖的测试需求约简方法与基于需求关键词关联的测试用例设计方法相结合,该方法可以在满足需求覆盖率的前提下提高测试效率。最后,将这两项改进应用于航天软件的实际测试工作中,取得了预期的效果。2 航天软件测试过程2.1 航天软件的特点及测试难点航天软件的特点主要有以下几个方面:(1)航天软件多为嵌入式软件,与硬件平台结合紧密;(2)对实时性要求较高;(3)对安全性和可靠性要求较高;(4)规模较大、结构复杂、应用领域广。由于航天软件的特殊性,给软件测试人员带来了极大的挑战:(1)通用的测试工具不适用于航天软件,例如软件有实时性要求,而测试工具插桩后可能会改变时序关系;(2)测试手段有限,由于航天软件领域涉及面广,还有专用接口,这给测试数据的注入等工作造成极大的困难;(3)测试人员有限,航天系统通常很庞大,人员相对较少,开发人员很多都要软硬件兼顾,专职的测试人员就更少了。正因为存在着上述问题,航天软件测试的充分性就更难保证。因此,急需一种只需使用相对较少的测试用例就能保证测试覆盖率的测试方法来满足航天软件测试的发展需求。2.2 航天软件测试一般流程航天软件的测试过程十分繁琐,是一种重复迭代的过程,如所示。航天软件的研制过程分为模样、初样(包括电性件和鉴定件)、正样多个研制阶段[],每个阶段都要进行单元测试、部件测试、配置项测试、系统测试等测试工作,的测试过程会重复进行十几次甚至几十次。而且在测试的过程中,用户需求时有变更,特别是在模样和初样电性件阶段。在频繁的变更和回归测试过程中,会产生大量的测试用例,很多测试用例都是冗余的,对于测试执行的有效性和后续阶段的测试用例管理都会产生重大影响。2.3 航天软件测试用例优化过程由于航天软件的测试过程复杂,产生的测试用例数量巨大,可以从很多方面考虑优化测试用例。图1Fig.1 图1 航天软件测试流程图Fig.1 Flowchart of testing for aerospace software(1)在提取出测试需求后,对测试需求进行约简处理。通过删除相同需求、合并相似需求、归类关联需求等手段,对提取出的测试需求进行约简,从而有效减少后续设计测试用例的工作量。(2)按照覆盖率的要求完成测试用例设计,测试用例设计完成后也可以再次进行约简。如果之前有相关的项目经验则可考虑采用测试用例复用技术。(3)用户需求发生变更时,要分析用户变更的影响,只需对受影响的测试需求和对应用例进行替换,但如果已经开始执行测试,需要重新开始测试。(4)在回归测试前,对用户需求变更的影响进行分析,在选取回归测试用例时,可采用参考文献[9]提出的回归测试用例约简方法。(5)每个阶段的测试完成后,将每次回归测试的测试用例逐一与原测试用例进行比对,再用重新测试的测试用例的最终版本替换掉原测试用例,形成完整的测试用例集。最后,将最终的完整测试用例集与各次测试的测试用例一同放入用例库,以备后续阶段的查阅与使用。由于篇幅有限,本论文中只讨论与需求覆盖率相关的部分,即(1)和(2)的部分内容。3 基于需求覆盖的测试需求约简方法航天软件测试的用户需求包括需求文档、设计文档、其它数据文档、源程序,有些测试还有系统设计说明、任务书等。各个用户需求之间都存在着一定的对应关系,一个用户需求的各个部分之间也会存在着一些关联,比如接口需求和功能需求、功能需求和性能需求、功能需求的各个模块之间等。因此,在提取出各部分的测试需求后,可以考虑对测试需求进行划分。由于航天软件独有的特点和测试需求划分粒度等因素的制约,采用已有的基于测试需求的约简方法可能会造成需求覆盖率不足。因此,本文对这种约简进行了改进,使之更适用于航天软件的测试。将航天软件测试需求定义为以下5种关系:等价关系、包含关系、部分相交、相互独立、耦合关系。根据定义的5种关系对测试需求进行约简,约简后再进行测试用例设计。用 R表示从用户需求中提取的测试需求集, T表示根据测试需求集 R设计的测试用例集,二者满足映射关系 R=Req( T), T=Test( R)。若 T'? T,则用 Req( T')表示 T'所满足的测试需求;若 R'? R,则用 Test( R')表示 R'所对应的测试用例。具体操作方法如下:(1)等价关系的约简方法。若存在测试需求集 R1和 R2,有 R1, R2? R,且 R1 =R2,则删去 R1或 R2, R'=R1 =R2, T d =T1 =T2 =Test( R1) =Test( R2)。等价关系的约简方法就是在2条测试需求或2个测试需求集完全等价的情况下,约简掉其中任意一个测试需求或需求集。在设计测试用例时,只需对其中的一个测试需求或需求集设计测试用例就能够保证对 R1和 R2的需求覆盖率为全覆盖,同时设计测试用例的工作量减少了50%。(2)包含关系的约简方法。若存在测试需求集 R1和 R2,有 R1, R2? R,且 R1? R2,则删去 R1。 R'= R2, T d =T2 =Test( R2)。当一个测试需求或需求集属于另一个测试需求或需求集时,保留描述内容更多的测试需求或需求集。在设计测试用例时,只需对描述内容多的测试需求或需求集设计测试用例,就能够保证覆盖2个测试需求或需求集的功能。(3)独立关系的约简方法。若存在测试需求集 R1和 R2,有 R1, R2? R,且 R1∩ R2=?,则保留 R1和 R2,令 R'=R1∪ R2, T d1 =Test( R1), T d2 =Test( R2), T d =T d1 +T d2。当2个测试需求或需求集之间不存在任何关系时,要对2部分测试的需求覆盖率都达到100%,就必须完成对2部分的测试用例设计。(4)相交关系的约简方法。若存在测试需求集 R1和 R2,有 R1, R2? R,且 R1∩ R2≠?,则去除 R1和 R2的相同部分,令 R'=R1∪ R2, T d1 =T1 =Test( R1), T d2 =Test( R2 -( R1∩ R2)), T d =T d1 +T d2。当2个测试需求或需求集存在交集时,在一个测试需求或需求集中将交叉的部分去掉,再对余下的部分和另一个测试需求或需求集进行测试用例设计,这样就可以保证对2部分的需求都达到100%的覆盖。(5)耦合关系的约简方法。若存在测试需求集 R1和 R2,有 R1, R2? R,且 R1? R2, R2? R1,但 R1和 R2之间存在耦合关系,则将 R1和 R2合并,令 R'= R1∪ R2, T d =Test( R1∪ R2)。当2个测试需求或需求集之间不存在交集,但如果将二者结合在一起则能够完成一条完整的用户需求,这种情况下,可将它们合并为一个测试需求集,设计一个更为连贯的测试用例以实现对合并后的需求的测试,从而减少用例数量,提高测试效率。4 基于需求关键词关联的测试用例设计方法完成对测试需求的约简后就进入测试用例的设计阶段。在进行测试用例设计时,最重要的就是要弄清每条测试需求的输入、输出及输入和输出之间的关系,从而通过设计符合或不符合各种条件的测试输入得到预期的输出结果以验证软件是否满足测试需求。为了满足需求覆盖率的要求,采用基于需求覆盖的方法设计测试用例。目前,基于需求的测试用例生成方法中,采用形式化的方法对需求进行建模分析并生成测试用例是比较主流的研究方法,但在实际操作过程中这种方法并不太适用于航天软件测试过程。形式化方法对模型的要求很高,在航天软件有限的研制和测试时间内,很难完成繁琐的建模工作。如果模型过粗则达不到覆盖率要求,而模型过细又易产生状态空间爆炸。即便是使用自动化工具,绝大部分的工作也还是需要人工完成,不但达不到提高测试效率的目的,反而还增加了人力支出。本文采用路径覆盖的方法,对需求中的文字进行分析,提取其中有关联的关键词。之后再采用传统的测试用例设计方法进行测试用例设计,这样就能确保满足需求覆盖率的要求。设测试需求集为 R, R= Si,其中:Si表示具有完整意义的文字表述。从Si中提取关键词wi,i=1,2,…,n,则w1,w2,…,wn∈Si。找到与wi相关联的关键词wj,j =1,2,…,n。如果wj存在具体解释,则用其指代的有明确意义的词替换原词。根据关联的前后关系,建立有向路径,得到有向图D=,其中:W={wi,wj,wk,…},i,j,k=1,2,…,n,E={(wi,wj),(wj,wk),…}。遍历每一条路径,就得到全部的测试需求。操作过程分为以下几种情况:测试需求是文字时:(1)将需求中表示一个完整意义的一个或几个句子划分为一组;(2)标识出句中的关键词;(3)找出与每一个关键词相关联的部分,可能是向上关联,也可能是向下关联,标识出关联内容,并将关键词与之相连;(4)如果关联的部分不是一个有明确意义的词语,则用其指代的部分替换原词,如果关联的部分是一个文件或一段文字,对关联的部分重复进行步骤(2)和(3),直到划分结果为词时停止;(5)完成上述步骤后,便形成了一个有向图,每一条路径就是一个划分好的测试需求,逐条进行测试用例设计即可满足需求覆盖的要求;(6)对每一条测试需求完成测试用例的设计。测试需求是公式时:(1)识别出公式中的每一个变量,将每一个变量作为一个关键词;(2)如果输入变量之间存在制约关系,则将其互相关联;如果不存在制约关系,只需将其与输出变量相关联;(3)如果变量有典型值或边界值,则用其典型值或边界值替代输入变量,从而得到一个有向图;(4)将每一个节点的变量值带回到原公式,得出需要的解。测试需求是状态转换图时,直接按照路径覆盖的基本方法,将其拆分为树形结构,对其每条路径进行遍历即可。某航天软件需求规格说明中描述“接收电控箱发送的通讯帧,并对通讯帧的命令进行判断”。将“接收”标记为w1,“电控箱发送的通信帧”标记为w2,“命令判断”标记为w3,如( a)所示。其中:w2包括摄像开、摄像关、自检开、自检关;w3包括正常、超时、校验错。对w2和w3进行拆分后结果如( b)所示。设计测试用例时只要完成对( b)中的每一条路径的遍历,就实现了对这条测试需求的完整覆盖。遍历后,这一句测试需求就变成了12个测试点,包括“接收摄像开指令正常”、“接收摄像开指令超时”、“接收摄像开指令校验错”、“接收摄像关指令正常”、“接收摄像关指令超时”、“接收摄像关指令校验错”、“接收自检开指令正常”、“接收自检开指令超时”、“接收自检开指令校验错”、“接收自检关指令正常”、“接收自检关指令超时”、“接收自检关指令校验错”。图2Fig.2 图2 测试需求分解图Fig.2
Splitting chart of testing requirements5 应用实例分析在某遥感相机软件[]的配置项测试过程中采用上述方法对测试用例进行优化。测试步骤如下:(1)提取测试需求。在配置项测试之前,获取的用户需求为《需求规格说明》和《接口协议》,根据这2份文档,提取出的测试需求如所示。表1表1()
表1 测试需求情况表
Testing requirements类型数量标识接口需求11项R1~R11功能需求20项R12~R31性能需求4项R32~R35容错要求1项R36冗余要求1项R37
表1 测试需求情况表
Testing requirements(2)对测试需求进行约简。对中提取出的测试需求R1 ~R37进行约简,约简过程如所示。经约简剩余的测试需求为R1、R2、R3、R4、R5、R6、R7X、R10、R11、R12、R15、R16、R17、R18、R19、R22、R24X、R25、R27、R29X、R30、R32、R33、R34、R35、R36X。表2表2()
表2 测试需求约简情况表
Reduction of testing requirements关系对应需求处理等价关系R8等价于R26 +R31R9等价于R14删除R8,保留R26和R31删除R9,保留R14包含关系R2包含R13、R14、R20、R21、R23、R28R24包含R26R29包含R31保留R2,删除R13、R14、R20、R21、R23、R28保留R24,删除R26保留R29,删除R31部分相交R7和R15R2和R24R2和R29R2和R36保留R15,R7去相交记做R7X保留R2,R24去相交记做R24X保留R2,R29去相交记做R29X保留R2,R36去相交记做R36X耦合关系R13和R14合并为R13+14相互独立其它不处理
表2 测试需求约简情况表
Reduction of testing requirements(3)设计测试用例。分解出每一项测试需求中的Si,提取其中的关键词wj,建立wj有向关联图,进行路径覆盖后得到221条路径,根据每条路径进行测试用例设计,共设计测试用例367个。如( a)所示,提取出37条测试需求,约简删除11条,部分删除3条,完整保留26条,删除重复需求超过30 %。根据相关项目经验预计达到需求覆盖率需600个左右的测试用例,但实际设计了367个,测试工作量约减少了39 %,( b)表明,本文提出的测试用例优化方法可以在保证需求覆盖率的同时,降低测试工作量。图3Fig.3 图3 测试过程数据统计图Fig.3
Data charts of testing process6 结 论本文根据航天软件的特点,提出一种适用于航天软件的软件测试用例优化方法,该方法包括测试用例约简和测试用例设计两部分。通过对测试需求的约简来减少测试用例设计的数量,再通过全面分析测试需求后,设计测试用例,从而达到需求覆盖率的要求。全文从测试需求着手,在确保需求覆盖率的同时,去除冗余,提高测试效率。最后,将该设计方法应用于某航天软件配置项测试过程中,使得测试工作量减少了约39 %,达到了预期效果。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。版权所有 未经许可 不得转载
航空软件测试用例自动生成方法研究[D]. 南京: 南京航空航天大学, 2010. CAO SH.
Research on automatic generation method of test case for aviation software [D]. Nanjing: Nanjing University of Aeronautics and
Astronautics, 2010. (in Chinese)
[本文引用:1]
[CJCR: 0.564]
PETRENKO A, SIMAO A.
Model-based testing of software and
systems: recent advances and
challenges[J].
[本文引用:1]
ELBERZHAGER F, ROSBACH A.
Reducing test effort: A systematic mapping study on existing approaches[J].
[本文引用:1]
[JCR: 1.522]
SRIKANTH H, BANERJEE S.
Improving test efficiency through system test prioritization[J].
[本文引用:1]
章晓芳, 陈林, 徐宝文, 等.
测试用例集约简问题研究及其进展[J]. ZHANG X F, CHEN L, XU B W, et al.
Survey of test suite reduction problem[J].
[本文引用:2]
章晓芳, 徐宝文, 聂长海, 等.
一种基于测试需求约简的测试用例集优化方法[J]. ZHANG X F, XU B W, NIE CH H, et al.
An approach for optimizing test suite based on testing requirement reduction[J].
[本文引用:1]
[CJCR: 2.181]
王俊杰, 沈湘衡, 张波, 等.
环境参数与状态参数融合的测试用例集约简方法[J]. 光学 精密工程, 2009, 17(7): 1678-1685. WANG J J, SHEN X H, ZHANG B, et al.
Optimal test suite generation methods based on the fusion of environment and
state parameter[J]. Opt. Precision Eng. , 2009, 17(7): 1678-1685. (in Chinese)
[本文引用:1]
陈佳豫, 孔德柱, 刘金国, 等.
基于蝴蝶模型的星载嵌入式软件测试策划[J]. CHEN J Y, KONG D ZH, LIU J G, et al.
On-board embedded software test planning based on butterfly model[J].
[本文引用:1]
顾庆, 唐宝, 陈道蓄.
一种面向测试需求部分覆盖的测试用例集约简技术[J]. GU Q, TANG B, CHEN D X.
A test suite reduction technique for partial coverage of test requirements[J].
[本文引用:1]
[CJCR: 1.796]
薛旭成, 石俊霞, 吕恒毅, 等.
空间遥感相机TDI CCD积分级数和增益的优化设置[J]. XUE X CH, SHI J X, LV H Y.
Optimal set of TDI CCD integration stages and
gains of space remote sensing camera[J].
[本文引用:1]
... 目前,测试用例的设计方法主要有两种[1]:基于代码的测试用例设计方法和基于需求的测试用例设计方法 ...
. ):383-386
1. Centre de recherche informatique de Montreal (CRIM), Montreal, Quebec, Canada
2. S?o Paulo University, S?o Carlos, S?o Paulo, Brazil
Abstract Model-based testing is focused on testing techniques which rely on the use of models. The diversity of systems and software to be tested implies the need for research on a variety of models and methods for test automation. We briefly review this research area and introduce several papers selected from the 22nd International Conference on Testing Software and Systems (ICTSS).
... 之后,还要进行繁琐的回归测试,测试用例集的规模也随之越来越大,对于测试用例的维护需要投入大量的人力和物力[2] ...
. ):null-null
... 测试用例的约简是指在所有的测试用例中选择更有代表性的测试用例,减少冗余测试用例带来的时间和成本的浪费,从而提高测试效率,降低测试成本[3,4] ...
Abstract Software testing is an expensive process consuming at least 50% of the total development cost. Among the types of testing, system testing is the most expensive and complex. Companies are frequently faced with budgetary constraints, which may limit their ability to effectively complete testing efforts before delivering a software product. We build upon prior test case prioritization research and present a system-level approach to test case prioritization called Prioritization of Requirements for Test (PORT). PORT prioritizes system test cases based on four factors for each requirement: customer priority, implementation complexity, fault proneness, and requirements volatility. Test cases for requirements with higher priority based upon a weighted average of these factors are executed earlier in system test. An academic feasibility study and three post hoc industrial studies were conducted. Results indicate that PORT can be used to improve the rate of failure detection when compared with a random and operational profile-driven random approach. Furthermore, we investigated the contribution of the prioritization factors towards the improved rate of failure detection and found customer priority was the most significant contributor. Tool support is provided for the PORT scheme which allows for automatic collection of the four factor values and the resultant test case prioritization. Highlights ? System level test prioritization (PORT) using four factors for each requirement. ? PORT improves fault detection when compared to random or OP driven approach. ? Customer priority is a significant contributor for fault detection. ? Tool support provided for PORT.
... 测试用例的约简是指在所有的测试用例中选择更有代表性的测试用例,减少冗余测试用例带来的时间和成本的浪费,从而提高测试效率,降低测试成本[3,4] ...
. ):235-247
1. School of Computer Science and Engineering, Southeast University, Nanjing 210096, China 2. Jiangsu Institute of Software Quality, Nanjing 210096, China
Test suite reduction problem is one of the important problems in software testing. It aims to satisfy all testing requirements with the minimum number of test cases, so that the testing efficiency can be improved while the testing cost can be decreased. Based on concept and theory introduction of test suite reduction problem, the typical test suite reduction methods are overall reviewed and compared. The issue of fault detection effectiveness, which is closely related to test suite reduction, is also discussed in this paper, and then the techniques of test case prioritization are studied. At last, future development discussion about test suite reduction problem is presented.
测试用例集约简问题是软件测试中的关键问题之一,其目的是使用尽可能少的测试用例充分满足给定的测试目标,从而提高测试效率、降低测试成本。在简要介绍了测试用例集约简问题基本概念的基础上,总结了求解该问题的几种主要方法,分析比较了这些方法的效率和特性。随后探讨了与测试用例集约简问题强相关的测试用例集错误检测效率的问题,并研究了测试用例优先级技术。最后指出了测试用例集约简问题的下一步研究方向。
... 测试用例集的约简方法分为两大类[5]:一种是测试用例直接约简方法,另一种是基于测试需求的约简方法 ...
... 目前,已有的测试用例设计和约简方法[5,6,7]在航天软件测试过程中都存在着一些问题,要么过于复杂不易操作,要么不能保证需求覆盖率 ...
. ):821-831
测试用例集优化的目标是用尽可能少的测试用例充分满足给定的测试目标.针对给定的测试目标,获得精简的测试需求集有助于提高测试用例集优化的效率和效果.从测试需求约简的角度考虑测试用例集优化,首先给出可以精确描述测试需求间相互关系的测试需求约简模型;基于此模型,提出一种测试需求约简方法,可以获得精简测试需求集,作为测试用例集生成和约简的基础,从而实现测试用例集优化.实验结果表明,测试需求约简有助于获得规模较小的测试用例集,实现系统、科学、有效的测试.
... 目前,已有的测试用例设计和约简方法[5,6,7]在航天软件测试过程中都存在着一些问题,要么过于复杂不易操作,要么不能保证需求覆盖率 ...
... 目前,已有的测试用例设计和约简方法[5,6,7]在航天软件测试过程中都存在着一些问题,要么过于复杂不易操作,要么不能保证需求覆盖率 ...
1. Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033,C 2. Graduate University of Chinese Academy of Sciences, Beijing 100039, China
In order to reduce the testing risk of an on-board embedded software and improve software developing efficiency, an on-board embedded software test planning method was proposed to plan the whole test process based on a butterfly model. Firstly, the principle of butterfly model was introduced. According to the characteristics of on-board embedded software, the on-board embedded software test planning method was put forward on the basis of the butterfly model test principle, and the advantages of the method were analyzed. Then, by taking an on-board camera embedded software for example, the software development process was planned with this method. Finally, the test results were analyzed. The results indicate that this method could discover and avoid requirement and defect errors about 80 percent and design and defect errors about 60 percent.Therefore, it can reduce software testing risk, shorten software development cycles, and improve the reliability of on-board em- bedded software.
为降低星载嵌入式软件测试风险,提高软件的研制效率,给出了一种星载嵌入式软件测试策划方法,并利用该方法策划了基于蝴蝶模型的星载相机嵌入式软件的测试。首先,介绍了蝴蝶模型,针对星载嵌入式软件的特点,在蝴蝶模型测试过程的思想基础上,给出基于星载嵌入式软件的测试策划方法,并分析了方法的优点;然后,以某星载相机嵌入式软件为例,应用该方法对软件研制的整个过程进行了测试策划;最后,对测试结果进行了分析。实验结果表明,采用该方法进行星载嵌入式软件测试策划,能够发现和避免约80%的需求错误和缺陷、60%的设计错误和缺陷,从而降低软件测试风险,缩短软件研制的周期,提高星载嵌入式软件的可靠性。
... 航天软件的研制过程分为模样、初样(包括电性件和鉴定件)、正样多个研制阶段[8],每个阶段都要进行单元测试、部件测试、配置项测试、系统测试等测试工作,图1的测试过程会重复进行十几次甚至几十次 ...
. ):879-888
软件系统开发中频繁面对局部更新和部分缺陷修改,此时需要选择性回归测试;为降低其测试工作量需要解决部分覆盖用例集约简问题.文中基于选择性回归测试形式化定义多目标用例集约简,并设计HATS算法解决该问题.HATS算法遵循启发式贪婪搜索框架,定义权重因子a平衡两方面目标:其一是减少用例集规模;其二是避免对无关需求的覆盖.实验结果表明:同现有约简技术和算法相比较,通过适当设置因子a,HATS算法能够降低用例集规模、减少对无关需求的覆盖、同时缓解对缺陷检测能力的影响.文中的创新贡献在两方面:其一根据选择性回归测试定义多目标用例集约简问题;其二是设计HATS算法以更少的测试用例数量维持缺陷检测效果.
. ):857-863
1. Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033, C 2. Graduate University of Chinese Academy of Sciences, Beijing 100039, China
In order to improve the image quality of the space TDI CCD remote sensing cameras, the method to set optimally of TDI CCD integration stages and gains was proposed. The dependence of the Signal to Noise Ratio(SNR) and Modulation Transfer Function(MTF) on the integnation stages was discussed.Then, it points out that increasing integration stages can resolve the lack of exposure light energy and improve SNR,but it causes the image MTF reduced. However,increasing gains can also resolve the problem of lack of exposure light,and it makes the SNR and the imaging MTF unchanged. These results means that the set of the SNR and imaging MTF can improve the image quality. By using the SNR&MTF as the optimal goal, this paper optimizes the integration stage and the gain. Numerical calculation result shows that when the pitch speed of satellite is 0.005&/s and the exposure is 1/66 of saturation,the high quality image can be obtained in the integration stage to be 44 and the gain to be 1.5.
为了提高空间TDI CCD遥感相机的成像质量,研究了相机TDI CCD积分级数和增益的优化设置方法。分别讨论了信噪比(SNR)和调制传递函数(MTF)与积分级数的关系,指出增加积分级数能解决光能量不足问题并有效提高SNR,但同时会引起系统MTF下降;增加增益也可解决光能量不足问题,但不能改变系统的SNR和MTF,因此优化积分级数和增益可改善图像质量。采用SNR&MTF作为图像质量评价指标,对积分级数和增益设置进行了优化。数值计算结果表明:在给定的相机参数下,当卫星俯仰角速度为0.005 (&)/s,曝光量为饱和值的1/66时,积分级数选为44级,增益设置为1.5可获得较好的图像质量。
... 5 应用实例分析在某遥感相机软件[10]的配置项测试过程中采用上述方法对测试用例进行优化 ...
面向需求覆盖的航天软件测试用例优化方法
[王红园1,2, 郭永飞1*,*, 姬琪1]

我要回帖

更多关于 单元测试用例 的文章

 

随机推荐