用于软件测试的测试代码生成系统的制作方法

文档序号:8258314阅读:425来源:国知局
用于软件测试的测试代码生成系统的制作方法
【技术领域】
[0001]本发明涉及计算机软件的测试技术,尤其涉及一种用于软件测试的测试代码生成系统。
【背景技术】
[0002]软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。
[0003]软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。
[0004]软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。
[0005]软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。
[0006]软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。
[0007]黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
[0008]黑盒测试的优点包括:
[0009](I)比较简单,不需要了解程序内部的代码及实现;
[0010](2)与软件的内部实现无关;
[0011](3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
[0012](4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
[0013](5)在做软件自动化测试时较为方便。
[0014]黑盒测试的缺点包括:
[0015](I)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30% ;
[0016](2)自动化测试的复用性较低。
[0017]白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
[0018]这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
[0019]白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
[0020]白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
[0021]白盒测试的优点包括:
[0022](I)迫使测试人员去仔细思考软件的实现;
[0023](2)可以检测代码中的每条分支和路径;
[0024](3)揭示隐藏在代码中的错误;
[0025](4)对代码的测试比较彻底;
[0026](5)最优化。
[0027]白盒测试的缺点包括:
[0028](I)昂贵;
[0029](2)无法检测代码中遗漏的路径和数据敏感性错误;
[0030](3)不验证规格的正确性。

【发明内容】

[0031]本发明旨在提出一种供白盒测试或者黑盒测试使用的测试代码生成系统。
[0032]根据本发明,提出一种用于软件测试的测试代码生成系统,包括:
[0033]功能测试代码生成装置,根据待测试软件的设计功能,针对每一功能产生功能测试代码;
[0034]冗余代码消除装置,耦合到功能测试代码生成装置,比对针对每一功能所产生的功能测试代码,消除其中的冗余部分;
[0035]特定代码生成装置,针对待测试软件的应用领域生成特性测试代码,测试软件在该应用领域中的特性性能;
[0036]重点代码生成装置,针对待测试软件的高频率应用生成重点测试代码,测试软件针对高频率应用的性能;
[0037]测试优先级确定装置,耦合到冗余代码消除装置、特定代码生成装置、重点代码生成装置,将功能测试代码、特性测试代码和重点测试代码按照优先级排序,生成最终的测试代码。
[0038]该用于软件测试的测试代码生成系统还包括测试覆盖率评估装置,获取最终的测试代码,并将该测试代码提供给与待测试软件相关的软件测试系统进行测试,根据测试的结果生成对于测试代码的测试覆盖率评估。
[0039]采用本发明的技术方案,能够自动生成适合于对软件进行白盒测试或者黑盒测试的软件测试代码,大大提高了软件测试的效率以及自动化程度。
【附图说明】
[0040]图1揭示了根据本发明的用于软件测试的测试代码生成系统的结构图。
【具体实施方式】
[0041]如果把软件的测试活动比作软件生命周期,测试需求就相当于软件的需求规格,测试策略相当于软件的架构设计,测试用例相当于软件的详细设计,测试执行相当于软件的编码过程。
[0042]软件测试需求需要考虑几个层面的因素:
[0043]第一层:测试阶段。系统测试阶段,需求分析更注重于技术层面,即软件是否实现了具备的功能。如果某一种流程或者某一角色能够执行一项功能,那么我们相信具备相同特征的业务或角色都能
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1