可视化软件开发过程质量的展示方法与流程

文档序号:11407033阅读:461来源:国知局
可视化软件开发过程质量的展示方法与流程

本发明涉及软件测试技术领域,特别涉及一种可视化软件开发过程质量的展示方法。



背景技术:

在电子或通信领域,为实现各种功能或应用,都需要建设各种相应的系统或网络,在所述的系统或网络中,除了必需的硬件以外,还配备了各种相应的软件。软件和it行业现在进入了大发展的时期,软件趋向大型化、高复杂度,软件的质量越来越重要。“质量”的概念被融入到软件行业中,软件测试已经不单纯是一个发现错误的过程,而且将测试作为软件质量保证的主要职能。

软件测试是软件开发完成后,对软件的正确性、可靠性和稳定性进行验证的环节。目前软件测试在计算机领域中的角色越来越重要,尤其在高风险行业,软件测试的重要性不言而喻,因此软件测试的工作量成为不可忽略的一部分。

自软件测试行业兴起以来,软件开发过程中,开发质量的标准、监控、可视化、量化评估一直都存在盲点,因此缺少透明化的量化方法,主要的问题在于没有好的测试结果的持久化并且可视化的方案。

在现有的可视化测试设计系统中,有些系统图形界面不够直观,不能完全呈现测试中可能发生的过程和现象;有些对流程的逻辑支持不全面,使流程的逻辑必须封装到程序中,增加了测试人员的工作量;还有些过于专用化和片面化,不能加入用户自定义的元素,可扩展性差。



技术实现要素:

基于上述问题,本发明提出一种可视化软件开发过程质量的展示方法,高效、直观、精确地解决了软件开发过程质量的监控、评估和总结的技术问题。

本发明采用的技术方案是:

一种可视化软件开发过程质量的展示方法,包括以下步骤:

步骤1,标准化自动测试的测试结果;

步骤2,将测试结果传入非关系型数据库,持久化数据;

步骤3,从非关系型数据库捞取数据,构造聚合算法进行分模块统计;

步骤4,将统计值进行展示。

进一步地,所述步骤1中自动测试针对后台系统进行。

进一步地,所述步骤1中自动测试包括以下测试类型:接口测试、单元测试、ui测试。

进一步地,所述步骤1中测试结果包括测试类型、被测模块名称、被测后台模块分支编号、测试用例场景名称、测试用例名称、测试用例使用的测试数据、测试用例执行结果、测试用例执行时间。

进一步地,所述步骤2中非关系型数据库包括但不限于mongo数据库。

进一步地,所述步骤3中分模块统计包括:

个数统计:单个模块单次执行按接口测试、单元测试、ui测试分别统计测试用例总数量、通过数量、失败数量;

通过率:单个模块单次执行按接口测试、单元测试、ui测试分别计算;

通过率=通过数量/总数量;

失败率=失败数量/总数量。

进一步地,所述步骤4中将统计值在web界面上以图表方式进行展示。

本发明的有益效果在于,通过接口、单元、ui自动化解决方案,大大提高了软件开发过程中的测试效率;也给软件质量的可视化提供了有力的数据来源;有了可视化的质量监控过程,就可以根据这些真实的图表评估软件质量、开发质量、历史版本的质量比对,达到对质量的量化输出。

附图说明

图1是本发明流程图。

图2是本发明系统侧视图。

图3是本发明web界面展示中的总览图。

图4是本发明web界面显示中的模块图。

具体实施方式

本发明可视化了软件开发过程中的质量情况,下文中,结合附图和实施例对本发明作进一步阐述。

如图1所示,本发明利用接口测试、单元测试、ui(web界面)测试等自动化手段汇总测试结果数据,从而按软件模块分类软件缺陷,包括缺陷数量、缺陷等级、缺陷分类、缺陷频率等维度按迭代分期进行统计,并在web界面以一系列图表进行展示;通过这种方式可以实时显示迭代当前缺陷情况,对比历史版本,可得到开发质量趋势图,以此来可视化软件开发过程的质量情况。

本发明包括以下步骤:

步骤1,标准化系统自动测试(各种测试类型包括任何节点:接口测试、单元测试、ui测试等)的输出结果,具体标准为:

1)测试结果需包括以下内容:测试类型a、被测模块名称b、被测后台模块分支编号c、测试用例场景名称d、测试用例名称e、测试用例使用的测试数据f、测试用例执行结果(pass或者fail)g、测试用例执行时间h;

2)测试结果内容之间的关系:一个a包含多个b,一个b包含多个c,一个c包含多个d,d、e、f、g则一一对应(如图2所示)。

步骤2,将输出结果传入非关系型数据库(如mongo),持久化数据,数据库表设计如下:

1)module表:

2)n1.if.test表(对应module表collectionname的值):

步骤3,单个模块b1分支的测试用例数量统计方法:

测试用例总数量:拿if(接口测试,单元测试与ui测试的统计方式相同)举例,场景数量为senario数组的size(大小),遍历senario数组,累加数组元素中每个senario的size,即为测试用例总数量c;

测试用例通过率:用以上方法统计testresult为1的总数为测试用例通过数量i,可得通过率1=i/c;

测试用例失败率:用以上方法统计testresult为0的总数为测试用例失败数量j,可得失败率s=j/c。

步骤4,web界面展示聚合结果,得以可视化,具体展示方法为:

1)总览(如图3所示):以表格形式展示;展示内容包括各模块按测试类型区分最近一次的执行状态,列名从左向右依次为:编号、模块、分支名称、测试类型、用例数量、失败数量、通过率、执行时间;按执行时间降序排列。

2)一个模块对应一个tab(标签)(如图4所示)。

3)每个tab里面按测试类型分别展示线形图,x轴为时间,y轴为数量,采集测试通过数量i和测试用例总数c,绘制两条不同颜色的线。

4)每个tab里面按测试类型分别展示历史版本测试用例通过率柱状图:x轴为module表createtime,y轴为百分比,每个柱子代表module表的branchname。

下面是本发明一个实施例,以下为各名词在本实施例中的简称:

开发人员:dev;测试人员:qa;测试模块:object;开发提交的分支:branch;单元测试:unit;接口测试:if;界面测试:ui;测试结果:result;测试结果展示平台:plat。

步骤1,dev将开发好的object提交到git(一种开发流程中的代码协作管理工具)分支branch。

步骤2,qa利用jenkins(一种持续集成平台)拉取branch编译并执行unit,unit执行完将自动落库mongo。

步骤3,打开plat可以发现总览第一条为刚刚执行的unit记录,并在object的tab下unit图表多了一个branch的result记录且记录正确。

步骤4,在unit完成后如result非100%,则退回开发修复,如100%则qa利用jenkins进行if,if完成后自动落库mongo。

步骤5,查看plat可以发现总览第一条为刚刚执行的if记录,并在object的tab下if图多了一个branch的result记录且记录正确。

步骤6,在if完成后如result非100%,则退回开发修复,如100%则qa利用jenkins进行ui,ui完成后自动落库mongo。

步骤7,查看plat可以发现总览第一条为刚刚执行的ui记录,并在object的tab下ui图多了一个branch的result记录且记录正确。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1