一种软件单元测试用例管理系统的制作方法

文档序号:12597015阅读:208来源:国知局
一种软件单元测试用例管理系统的制作方法与工艺
本发明涉及一种软件单元测试用例管理系统,属于软件测试
技术领域

背景技术
:随着航空和航天领域的嵌入式应用日趋复杂,以及伺服控制系统性能的不断提高,弹箭上软件可靠性、安全性要求越来越高,嵌入式软件在型号中所占比重不断加大,软件质量越老越受到业界的关注,使得单元测试的作用日益凸显,单元测试既关注单元功能,也关注程序模块的逻辑结构,目的在于发现程序设计或实现的逻辑和错误,使问题及早暴露,便于对问题的定位及解决。当前,市场上出现了多种多样的单元测试工具,用以检测软件覆盖率,但在设计用例的过程中,测试人员根据程序模块的特点每进行一次覆盖率测试都要设计一次测试用例,直到覆盖率达到100%,或完成覆盖率测试为止,手工设置任务繁重,修改频率较多,测试效率比较低。与此同时,除了手动编写测试用例效率较低以外,测试用例的管理问题日益凸显,随着软件产品的不断升级、改版、复用,测试用例文件也随之增加,而且大量的测试用例文件散落在不同的电脑上,不同的测试人员编写的测试用例质量参差不齐,测试用例通常是通过Excel或Word文件格式存储,或是单个测试用例文件存储,没有一个较好的高效的测试用例管理工具,导致在单元测试过程中将消耗大量的时间和人力成本。技术实现要素:本发明的技术解决问题:克服现有技术的不足,提供一种软件单元测试用例管理系统,提高了测试质量和测试效率,缩短了测试时间,节省测试成本。本发明采用的技术解决方案:一种软件单元测试用例管理系统,包括:用例自动生成模块、基本信息管理模块、用例管理模块、检索匹配模块、测试用例生成规则模块和数据库;测试用例生成规则模块包括预设的配置文件和驱动文件,测试用例生成规则模块根据其中的配置文件和驱动文件对待测数据进行代码插桩处理,将待测数据转换成用例自动生成模块识别的待测文件;基本信息管理模块根据待测数据,将人员信息、用例信息、项目信息抽象出基本信息数据模型,并将抽象出的基本信息数据模型送入用例管理模块中;用例自动生成模块导入待测文件,对该待测文件进行分析和处理,生成测试用例,之后进行数据编辑和数据导出,将测试用例送入用例管理模块;用例管理模块将测试用例和所述基本信息数据模型进行匹配,按照典型测试用例和过程测试用例进行分类之后存入数据库中,检索匹配模块根据需要的测试用例信息在数据库中进行检索,寻找匹配的测试用例,若找到完全匹配的测试用例,则直接应用,否则,将检索到的近似测试用例送入用例自动生成模块进行修改,形成需要的新增测试用例,导出给用例管理模块,用例管理模块将新增测试用例和基本信息数据模型进行匹配,如果能够匹配,则将所述新增测试用例和其对应的基本信息数据模型存入所述近似测试用例的子集中,如果无法匹配,则修改与所述新增测试用例匹配的基本信息数据模型,形成新增基本信息数据模型,将所述新增测试用例和新增基本信息数据模型存入所述近似测试用例的子集中。所述的用例自动生成模块包括数据导入模块、数据分析模块、数据编辑模块和数据导出模块,数据导入模块将待测文件或者检索出来的近似测试用例进行导入,数据分析模块对所述待测文件进行分析、处理,生成测试用例,之后再通过数据编辑模块对测试用例中的变量进行赋值,并通过数据导出模块导出至用例管理模块;数据编辑模块对所述近似测试用例进行修改,形成需要的新增测试用例,导出给用例管理模块。所述的基本信息管理模块包括用例基本信息、人员基本信息和项目基本信息,用例基本信息包括:名称、标识、输入、输出、功能、用例标识、测试步骤、预期结果、测试结果、测试人员和测试日期;人员基本信息包括:用户名、员工编号、密码和角色;项目基本信息包括:项目名称、项目标识、缺陷数目、软件版本、存放路径和用例版本。所述的用例管理模块包括典型测试用例和过程测试用例,典型测试用例是指:功能固定的函数模块中的用例;过程测试用例是指:除典型测试用例以外的其它用例。所述的检索匹配模块包括项目名称匹配单元、模块名称匹配单元、文件名称匹配单元和人员时间匹配单元,项目名称匹配单元根据项目名称在数据库中进行检索以及匹配;模块名称匹配单元根据模块名称在数据库中进行检索以及匹配;文件名称匹配单元根据文件名称在数据库中进行检索以及匹配;人员时间匹配单元根据人员和时间在数据库中进行检索以及匹配。所述数据库采用SQLServer数据库、Access数据库、Oracle数据库、MySQL数据库或者DB2数据库等。所述待测数据是扩展名为.c的文件,所述待测文件是扩展名为.tct的文件,所述用例自动生成模块生成的测试用例是扩展名为.tcf的文件。所述数据分析模块对待测文件进行分析、处理,生成测试用例,具体通过如下步骤进行:(1)获取导入的TCT文件的文件名;(2)判断该TCT文件是否为空,如果为空,则停止对待测文件的分析和处理;如果不为空,则以文件流形式对TCT文件进行读取,读取完成后关闭该TCT文件,避免读写冲突;(3)对读取结果进行筛选和过滤,通过循环遍历的方法对TCT文件中的变量名进行提取;(4)打开一个新的表格,将提取出来的变量名存入到对应的单元格中;(5)对照源代码及步骤(4)中所述单元格中的变量,根据对照结果对所述单元格中的变量进行赋值;(6)创建扩展名为.txt的文本文件,将所述单元格中变量以及变量对应的值写入所述文本文件中,写操作完成后关闭文件流,避免文件读写冲突;(7)将步骤(6)中的文本文件转换为扩展名为.TCF的文本文件,即生成了测试用例.本发明与现有技术相比的优点在于:(1)本发明实现了测试用例的组件化管理,具备较好的通用性和可复用性,避免了数据分散和根据个人经验设计测试用例的方式,全面提高了测试质量和测试效率。(2)本发明自动生成单元测试用例的可执行文件,减少了由于单步、手动测试带来的差错和失误,缩短了测试周期。(3)本发明将检索匹配技术与数据建模技术有效结合,避免因后期数据量增大带来的查询效率低、管理困难等问题。附图说明图1为本发明的系统结构图;图2为单元测试用例自动生成模块流程图;具体实施方式本发明提供了一种软件单元测试用例管理系统,包括用例自动生成模块等等模块,用例自动生成模块把待测原始数据进行数据导入,依据LDRATestBed软件测试工具的特有测试用例生成规则对原始数据进行分析、处理,建立被测函数单元的数据模型,然后进行数据导出,将数据信息与基本信息管理模块中抽象出的信息进行合并,形成用例管理模块中的过程测试用例,此外用例管理模块中还包含典型测试用例,存储具有通用性强、引用频率高的测试用例,便于分析、查看、更改用例的输入变量;管理系统中包含有专门的检索匹配模块,可以根据项目名称、模块名称、人员、时间、文件名等关键字进行检索匹配,快速高效的检索到已完成的测试用例,有利于测试用例更好的复用,提高测试效率。如图1所示,本发明提供的软件单元测试用例管理系统,包括:用例自动生成模块、基本信息管理模块、用例管理模块、检索匹配模块、测试用例生成规则模块和数据库;测试用例生成规则模块包括预设的配置文件和驱动文件,测试用例生成规则模块根据其中的配置文件和驱动文件对待测数据进行代码插桩处理,将待测数据转换成用例自动生成模块识别的待测文件;基本信息管理模块根据待测数据,将人员信息、用例信息、项目信息抽象出基本信息数据模型,并将抽象出的基本信息数据模型送入用例管理模块中;用例自动生成模块导入待测文件,对该待测文件进行分析和处理,生成测试用例,之后进行数据编辑和数据导出,将测试用例送入用例管理模块;用例管理模块将测试用例和所述基本信息数据模型进行匹配,按照典型测试用例和过程测试用例进行分类之后存入数据库中,检索匹配模块根据需要的测试用例信息在数据库中进行检索,寻找匹配的测试用例,若找到完全匹配的测试用例,则直接应用,否则,将检索到的近似测试用例送入用例自动生成模块进行修改,形成需要的新增测试用例,导出给用例管理模块,用例管理模块将新增测试用例和基本信息数据模型进行匹配,如果能够匹配,则将所述新增测试用例和其对应的基本信息数据模型存入所述近似测试用例的子集中,如果无法匹配,则修改与所述新增测试用例匹配的基本信息数据模型,形成新增基本信息数据模型,将所述新增测试用例和新增基本信息数据模型存入所述近似测试用例的子集中,通过用例管理模块实现了测试用例的组件化管理,具备较好的通用性和可复用性,避免了数据分散和根据个人经验设计测试用例的方式,同时也克服了因数据量的不断增大带来的管理困难问题。所述的用例自动生成模块包括数据导入模块、数据分析模块、数据编辑模块和数据导出模块,数据导入模块将待测文件或者检索出来的近似测试用例进行导入,导入的数据文件格式具有多样化特点,比如:tct文件、tcf文件、表格文件(excel,wps)等,数据分析模块对所述待测文件进行分析、处理,生成可自动执行的测试用例,减少了由于单步、手动测试带来的差错和失误,缩短了测试周期,通过数据导出模块将生成好的测试用例导出至用例管理模块,数据编辑模块对所述近似测试用例进行修改,形成需要的新增测试用例,导出给用例管理模块。所述的基本信息管理模块包括用例基本信息、人员基本信息和项目基本信息,为检索匹配模块提供关键字信息,用例基本信息包括:名称、标识、输入、输出、功能、用例标识、测试步骤、预期结果、测试结果、测试人员和测试日期;人员基本信息包括:用户名、员工编号、密码和角色;项目基本信息包括:项目名称、项目标识、缺陷数目、软件版本、存放路径和用例版本。所述的用例管理模块包括典型测试用例和过程测试用例,典型测试用例是指:通用性比较强、改动性较小、功能固定的函数模块中的用例,如:初始化函数用例、固定算法函数用例等;过程测试用例是指:除典型测试用例以外的其它用例,此类用例主要为全新函数模块或部分研制流程、变量需要变更的函数模块中的用例,比如看门狗复位后加载参数信息用例,每个项目中需要加载的参数信息会有区别。所述的检索匹配模块包括项目名称匹配单元、模块名称匹配单元、文件名称匹配单元和人员时间匹配单元,项目名称匹配单元根据项目名称在数据库中进行检索以及匹配;模块名称匹配单元根据模块名称在数据库中进行检索以及匹配;文件名称匹配单元根据文件名称在数据库中进行检索以及匹配;人员时间匹配单元根据人员和时间在数据库中进行检索以及匹配,检索匹配模块与数据建模技术进行了有效的结合,既可以自定义关键字进行检索,也可以根据下拉列表中的关键字进行检索,提高了检索的效率,下拉列表中的关键字来源于基本信息管理模块。本发明中的数据库可以采用SQL数据库、Access数据库、Oracle数据库或者DB2数据库。待测数据是扩展名为.c的文件,所述待测文件是扩展名为.tct的文件,所述用例自动生成模块生成的测试用例是扩展名为.tcf的文件。在上述软件单元测试用例管理系统中,本发明还提供了具体的测试用例生成方法(即数据分析模块的具体实现),测试用例自动生成方法通过对功能模块内代码的逻辑和结构分析,得到一组测试用例,此组测试用例既可以生成批量测试用例TCF文件导入测试工具被自动执行,也可被抽象成数据模型存入数据库中,形成测试用例集进行管理,便于对测试用例的重新编辑、复用。针对嵌入式伺服软件代码量大、相似度高的特点,本发明自动化程度高、测试用例全面、规范,不仅提高了单元测试效率和测试质量,同时也提高了对测试用例的复用率,节省人力成本。如图2所示,数据分析模块对待测文件进行分析、处理,生成测试用例,具体通过如下步骤进行:(1)获取导入的TCT文件的文件名;(2)判断该TCT文件是否为空,如果为空,则停止对待测文件的分析和处理;如果不为空,则以文件流形式对TCT文件进行读取,读取完成后关闭该TCT文件,避免读写冲突;(3)对读取结果进行筛选和过滤,通过循环遍历的方法对TCT文件中的变量名进行提取;(4)打开一个新的表格,将提取出来的变量名存入到对应的单元格中;(5)对照源代码及步骤(4)中所述单元格中的变量,根据对照结果对所述单元格中的变量进行赋值;(6)创建扩展名为.txt的文本文件,将所述单元格中变量以及变量对应的值写入所述文本文件中,写操作完成后关闭文件流,避免文件读写冲突;(7)将步骤(6)中的文本文件转换为扩展名为.TCF的文本文件,即生成了测试用例。实施例:在本实施例中以某监控项目中的串口操作文件RS422.c为待测数据,调用测试用例生成规则模块对待测数据进行分析、解析,得到待测文件RS422.tct,然后将待测文件RS422.tct导入用例自动生成模块,经过数据分析得到若干个函数模块,这里都以被测函数voidDecodeRS422(Uint16uiCmdWord)为例进行介绍。其中DecodeRS422为函数名,Uint16uiCmdWord为输入参数,经过分析后变量uiCmdWord将显示在单元格中,通过对待测数据进行分析,对变量可以设置一组或多组不同的值来满足测试覆盖率要求,赋值过程中区分固定信息和变化信息,对变量赋值作为变化信息,能够任意添加、删除表格行数,其它信息作为固定信息不能操作,避免人为因素导致的对应错误,这里根据需求为变量设置了4个值,分别为:0x0011、0x0012、0x0013、0x0014最后通过数据导出将表格文件另存为TCF文件,测试用例文件自动生成,通过执行该TCF文件得到的验证结果为语句覆盖率100%,分支覆盖率100%,达到预期效果,相比现有技术,提高了测试质量和测试效率,缩短了测试时间,节省测试成本(现有技术是手动赋值,进行单步测试,费时费力)。基本信息管理模块根据待测数据,将人员信息、用例信息、项目信息抽象出基本信息数据模型,如下所示:人员信息如表1所示:表1人员信息表tb_StaffBasic用例基本信息如表2所示表2用例基本信息表tb_TestCaseBasic字段名数据类型主键否描述IDvarchar(5)是编号TC_Namevarchar(20)否名称TC_Siganalvarchar(20)否标识TC_Inputvarchar(50)否输入TC_Outputvarchar(50)否输出TC_Functionvarchar(100)否功能TC_TcNamevarchar(20)否用例标识TC_TStepvarchar(100)否测试步骤TC_ExpResultvarchar(100)否预期结果TC_TResultvarchar(100)否测试结果TC_StaffNamevarchar(20)否测试人员TC_NameDatatime否测试日期项目信息如表3所示:表3项目信息如tb_ProjectInfo字段名数据类型主键否描述IDvarchar(20)是编号ProjectNamevarchar(20)否项目名称ProjectSiganalvarchar(20)否项目标识Characterint否缺陷数目SWVersionvarchar(20)否软件版本SavePathvarchar(50)否存放路径TCVersionvarchar(20)否用例版本用例管理模块将测试用例和所述基本信息数据模型进行匹配,匹配好之后,按照典型测试用例和过程测试用例进行分类之后存入数据库中,用例管理过程中的信息匹配主要是通过管理界面中的下拉菜单中的信息进行快速匹配,下拉菜单中的信息通过基本信息管理模块进行输入并管理,如果下拉菜单中找不到相关信息可以自行添加并保存;检索匹配模块也是根据以上表格中的关键字进行快速匹配与检索,关键字越多检索出的信息越详细,匹配度越高,检索匹配界面中的关键子主要为下拉菜单中的信息,也可自定义关键字进行检索匹配,对于经过匹配得到的测试用例不再进行数据分析,而是导入到用例自动生成模块中对该测试用例直接进行编辑、修改,然后生成测试用例文件TCF文件,经验证测试用例完整有效后将测试用例存入所述近似测试用例的子集中进行管理。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1