CN113127352A - 一种自动化用例的统计方法、装置及计算机可读存储介质 - Google Patents
一种自动化用例的统计方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113127352A CN113127352A CN202110427101.7A CN202110427101A CN113127352A CN 113127352 A CN113127352 A CN 113127352A CN 202110427101 A CN202110427101 A CN 202110427101A CN 113127352 A CN113127352 A CN 113127352A
- Authority
- CN
- China
- Prior art keywords
- case
- automation
- use case
- field
- automatic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种自动化用例的统计方法、装置及计算机可读存储介质,所述方法包括:响应于接收到至少一个自动化用例时,从至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例;获取至少一个历史自动化用例的历史数据,至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的;根据至少一个第一自动化用例以及历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数;本发明无需测试人员在脚本文件中编写创建者和修改者的标识,以及无需单独编写查找命令,降低了测试人员的工作量,且本发明大大的提高了检索效率以及检索的全面性。
Description
技术领域
本发明属于软件测试技术领域,具体涉及一种自动化用例的统计方法、装置及计算机可读存储介质。
背景技术
软件测试是软件开发中必不可少的程序,其可保证软件产品的完整性、正确性、稳定性和安全性,它是一个不断迭代的过程;在软件爆发的时代,软件的开发周期越来越短,需求多而变化快,软件的迭代周期短,对软件的质量造成了巨大的挑战;传统的手工测试已不能满足时间要求,因此,自动化测试运营而生,自动化测试不仅能够提高测试效率、保证软件质量和发现软件的改动,而且还能够解放一部分劳动力,提高公司资源的利用率。
在自动化用例的测试中,对测试人员自动化用例的创建数以及修改数进行统计,对软件测试具有重要意义,其能够知晓每个测试人员编写的自动化用例数量以及修改的自动化用例数量,进而能够对软件测试的周期进行精确管理,有助于缩短软件开发周期。
目前,统计测试人员的自动化用例的创建数和修改数,一般都是测试人员手动编写脚本文件,并约定统一的代码对创建者和修改者进行标识,以便利用编写的程序进行查找;上述方法存在以下不足:
(1)由于需要测试人员在脚本文件中自己编写创建者和修改者的标识,增加了测试人员的工作量,且对测试人员程序编写能力要求较高;(2)由于不同测试人员的程序撰写习惯不同,导致创建的脚本文件中对创建者和修改者的标识不同,无法保证各个测试人员的标识一致,使得需要使用不同的标识命令去检索全部的自动化用例,不仅导致检索时间较长和成本较高,还存在检索不全面的问题;因此,如何实现测试人员的自动化用例创建数以及修改数快速而精确的统计,成为一个亟待解决的问题。
发明内容
本发明的目的是提供一种自动化用例的统计方法、装置及计算机可读存储介质,以解决现有的自动化用例创建和修改数量统计所存在的工作量大、检索时间长、成本高和检索不全面的问题。
为了实现上述目的,本发明采用以下技术方案:
本发明提供了一种自动化用例的统计方法,包括:
响应于接收到至少一个自动化用例时,从所述至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例,其中,所述至少一个自动化用例中的每个自动化用例均是基于robotframework框架生成的;
获取至少一个历史自动化用例的历史数据,其中,所述至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的;
根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
基于上述公开的内容,本发明通过robotframework框架生成至少一个自动化用例,从而可借助robotframework框架对至少一个自动化用例进行用例者以及创建者的标识,其实质为:在robotframework框架内使用字段值表示用例创建者以及修改者,以便为后续的数量统计提供数据基础;同时,设置gitlab服务器在接收到至少一个自动化用例时,即可根据用例创建者字段以及修改者字段,从至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空以及用例修改者字段对应的字段值为非空的第一自动化用例(相当于筛选出了设置有用例创建者或修改者的自动化用例);其次,本发明还可获取至少一个历史自动化用例的历史数据,其相当于获取了在此次自动化用例接收前,gitlab服务器内的自动化用例的历史数据;最后,本发明即可根据筛选出来的第一自动化用例以及历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
通过上述设计,本发明可直接利用robotframework框架添加自动化用例的创建者以及修改者,并通过gitlab服务器进行数量统计,一方面,无需测试人员单独在脚本文件中编写创建者和修改者的标识,以及无需单独编写查找命令,降低了测试人员的工作量;另一方面,通过robotframework框架能够统一自动化用例中创建者和修改者的标识,使得在gitlab服务器中仅使用一个命令即可完成接收到的所有自动化用例的检索,且仅遍历一遍即可得统计出测试人员当前的自动化用例修改总数以及创建总数,不仅缩短了检索的时间,还大大的提高了检索的全面性。
在一个可能的设计中,获取至少一个历史自动化用例的历史数据,包括:
从所述至少一个历史自动化用例中,筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第二自动化用例;
相应的,根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,包括:
根据所述至少一个第一自动化用例以及所述至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
基于上述公开的内容,本发明公开了历史数据包含的具体内容,即包含有从至少一个历史自动化用例中,筛选出的用例创建者字段对应的字段值为非空以及用例修改者字段对应的字段值为非空的至少一个第二自动化用例;而最终在进行统计时,即可在至少一个第一自动化用例以及至少一个第二自动化用例中,统计出用例创建者字段以及用例修改者字段对应的字段值的出现的次数即可。
在一个可能的设计中,根据所述至少一个第一自动化用例以及所述至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,包括:
从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数;
将所述用例创建者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例创建总数,以及将所述用例修改者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例修改总数。
基于上述公开的内容,本发明公开了根据字段值进行统计的具体方法,即在第一自动化用例以及第二自动化用例的用例创建者字段中,统计各字段值出现的次数,即可得到各测试人员当前的自动化用例创建总数;同理,在前述两种自动化用例中的用例修改者字段中,统计出各字段值出现的次数,即可得到各测试人员当前的自动化用例修改总数;例如,在用例创建者字段中,字段值分别有张三和李四,其中,张三出现的次数为3,李四出现的次数为5,则说明测试人员张三当前的自动化用例创建总数为3次,而测试人员李四当前的自动化用例创建总数为5次。
在一个可能的设计中,在从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数后,所述方法还包括:
获取所述每个测试人员的字段值集合,其中,所述字段值集合包括对应测试人员在进行自动化用例创建时使用的所有用例创建者字段对应的字段值,以及在进行自动化用例修改时使用的所有用例修改者字段对应的字段值;
在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例创建者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例创建总数;以及
在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例修改者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例修改总数。
基于上述公开的内容,本发明还公开了根据字段值的出现次数进行统计的优化方案,由于一个测试人员在进行自动化用例创建或修改时,使用的代号或名称不止一个,因此,本发明通过获取每个测试人员进行自动化用例修改和创建时所使用的全部字段值的集合,从而在进行字段值出现次数的统计时,将属于同一字段值集合的字段值的个数,作为同一字段值集合对应测试人员的创建总数或修改总数;例如,在第一自动化用例以及第二自动化用例的用例创建者字段中,字段值张三1、张三2以及张三3均属于测试人员张三的字段值集合,那么测试人员张三当前的自动化用例创建总数应该为3次,而不应该将张三1出现的次数,作为测试人员张三1当前的自动化用例创建总数。
通过上述设计,本发明能够提高统计的精确性,避免同一测试人员因使用不同的字段值而导致统计不精确的问题。
在一个可能的设计中,获取至少一个历史自动化用例的历史数据,包括:
获取在拥有所述至少一个历史自动化用例时,每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数;
相应的,根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,包括:
根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数;以及
根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例修改总数,得到每个测试人员当前的自动化用例修改总数。
基于上述公开的内容,本发明公开了通过历史数据来实现测试人员当前的自动化用例创建总数以及自动化用例修改总数的另一种统计方法;其中,历史数据为:每个测试人员的历史自动化用例创建总数以及修改总数,而在统计时,根据至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数以及修改总数,即可得到每个测试人员当前的自动化用例创建总数以及修改总数。
在一个可能的设计中,根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数,包括:
从所述至少一个第一自动化用例中,统计出用例创建者字段对应的各字段值出现的次数;
将用例创建者字段对应的各字段值出现的次数与各字段值对应测试人员的历史自动化用例创建总数进行求和,得到各字段值对应测试人员当前的自动化用例创建总数
基于上述公开的内容,本发明在知晓了每个测试人员的历史自动化用例创建总数以及修改总数后,只需统计至少一个第一自动化用例内用例创建者字段以及用例修改者字段对应的各字段值出现的次数,最后,将各字段值统计出来的次数,与其历史自动化用例创建总数或修改总数进行相加,即可得到每个测试人员当前的自动化用例创建总数以及修改总数;例如,张三的历史自动化用例创建总数为3,而至少一个第一自动化用例的用例创建者字段中,字段值为张三的出现次数共计为5次,那么测试人员张三当前的自动化用例创建总数则为8次。
通过上述设计,相比于第一种统计方法,本发明每次在接收到自动化用例时,只需遍历第一自动化用例中的字段值进行统计即可,而无需遍历所有的第二自动化用例,因此,可减少计算量,提高统计速度。
在一个可能的设计中,所述至少一个自动化用例中的每个自动化用例均为自动化用例操作成功后的用例;
其中,在响应于接收到所述至少一个自动化用例时,所述方法还包括:
获取测试人员在创建至少一个手动用例时为所述至少一个手动用例设置的标签个数,所述标签用于表征所述至少一个手动用例需要进行自动化用例操作;
统计出所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数;
根据所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数,以及所述标签个数,得到所述至少一个手动用例的自动化率。
基于上述公开的内容,本发明还可统计一个项目的自动化率,即获取测试人员在创建手动用例时为其设置的标签个数,相当于获取了创建的手动用例中,有多少个手动用例需要进行自动化用例操作;而只要是gitlab服务器接收到的自动化用例,均是自动化用例操作成功后的用例,因此,本发明只需要统计接收到的自动化用例总数(即统计至少一个第一自动化用例和至少一个历史自动化用例的总数),最后,将标签个数与统计出的总数相比,即可得到手动用例的自动化率。
在一个可能的设计中,所述方法还包括:
从所述至少一个自动化用例以及所述至少一个历史自动化用例中,筛选出用例创建者字段对应字段值为空或用例修改者字段对应的字段值为空的至少一个第三自动化用例;
根据所述至少一个第三自动化用例、所述至少一个自动化用例以及所述至少一个历史自动化用例,得到未进行署名的自动化用例的比例。
基于上述公开的内容,本发明还可统计出gitlab服务器中未进行署名的自动化用例的比例,其统计原理也为统计字段值,只是变化为统计字段值为空的自动化用例;最后,统计出字段值为空的自动化用例与第一自动化用例与历史自动化用例的总和做比值,即可得到未进行署名的比例。
第二方面,本发明提供了一种自动化用例的统计装置,以装置为gitlab服务器为例,包括:
筛选单元,用于响应于接收到至少一个自动化用例时,从所述至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例,其中,所述至少一个自动化用例中的每个自动化用例均是基于robotframework框架生成的;
历史数据获取单元,用于获取至少一个历史自动化用例的历史数据,其中,所述至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的;
统计单元,用于根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
在一个的可能的设计中:
所述历史数据获取单元,具体用于从所述至少一个历史自动化用例中,筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第二自动化用例;
所述统计单元,具体用于根据所述至少一个第一自动化用例以及所述至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
在一个可能的设计中,所述统计单元包括:次数统计子单元以及用例统计子单元;
所述次数统计子单元,用于从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数;
所述用例统计子单元,用于将所述用例创建者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例创建总数,以及将所述用例修改者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例修改总数。
在一个可能的设计中,所述gitlab服务器还包括:字段值集合获取单元;
所述字段值集合获取单元,用于获取所述每个测试人员的字段值集合,其中,所述字段值集合包括对应测试人员在进行自动化用例创建时使用的所有用例创建者字段对应的字段值,以及在进行自动化用例修改时使用的所有用例修改者字段对应的字段值;
所述次数统计子单元,还用于在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例创建者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例创建总数;
所述次数统计子单元,还用于在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例修改者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例修改总数。
在一个可能的设计中:
所述历史数据获取单元,还具体用于获取在拥有所述至少一个历史自动化用例时,每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数;
所述统计单元,还具体用于获取根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数;
所述统计单元,还具体用于根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例修改总数,得到每个测试人员当前的自动化用例修改总数。
在一个可能的设计中:
所述次数统计子单元,还用于从所述至少一个第一自动化用例中,统计出用例创建者字段对应的各字段值出现的次数;
所述用例统计子单元,还用于将用例创建者字段对应的各字段值出现的次数与各字段值对应测试人员的历史自动化用例创建总数进行求和,得到各字段值对应测试人员当前的自动化用例创建总数。
在一个可能的设计中,所述gitlab服务器还包括:标签获取单元以及计算单元;
所述标签获取单元,用于获取测试人员在创建至少一个手动用例时为所述至少一个手动用例设置的标签个数,所述标签用于表征所述至少一个手动用例需要进行自动化用例操作;
所述统计单元,还用于统计出所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数;
所述计算单元,用于根据所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数,以及所述标签个数,得到所述至少一个手动用例的自动化率。
在一个可能的设计中:
所述筛选单元,还用于从所述至少一个自动化用例以及所述至少一个历史自动化用例中,筛选出用例创建者字段对应字段值为空或用例修改者字段对应的字段值为空的至少一个第三自动化用例;
所述计算单元,还用于根据所述至少一个第三自动化用例、所述至少一个自动化用例以及所述至少一个历史自动化用例,得到未进行署名的自动化用例的比例。
第三方面,本发明本发明提供了第二种自动化用例的统计装置,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述自动化用例的统计方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述自动化用例的统计方法。
第五方面,本发明供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计所述自动化用例的统计方法。
附图说明
图1为本发明提供的自动化用例的统计方法的步骤流程示意图。
图2为本发明提供的robotframework框架与gitlab服务器的交互步骤流程示意图。
图3为本发明提供的自动化用例的统计装置的第一种结构示意图。
图4为本发明提供的自动化用例的统计装置的第二种结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
实施例
如图1所示,本实施例第一方面所提供的自动化用例的统计方法,可使测试人员借助robotframework框架生成自动化用例,其实质为:在创建自动化用例时,通过robotframework框架对自动化用例添加创建者以及修改者的标识(即用例创建者字段对应的字段值以及用例修改者字段对应的字段值),并通过robotframework框架传输至gitlab服务器,而gitlab服务器在接收到自动化用例时,即可根据内部的字段值筛选出进行了用例创建者以及修改者标识的第一自动化用例,最后,根据第一自动化用例中的字段值以及历史自动化用例的历史数据即可统计出每个测试人员当前的自动化用例创建总数以及修改总数。
本实施例第一方面所提供的自动化用例的统计方法,可以但不限于包括如下步骤S101~S103。
S101.响应于接收到至少一个自动化用例时,从所述至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例,其中,所述至少一个自动化用例中的每个自动化用例均是基于robotframework框架生成的。
步骤S101则是gitlab服务器对接收到的至少一个自动化用例进行筛选的过程,其目的在于,筛选出进行了用例创建者以及修改者标识的自动化用例,并作为第一自动化用例,从而为后续测试人员的自动化用例创建总数以及修改总数的统计提供数据基础。
在本实施例中,举例用例创建者字段可以但不限于为:“Documentation.*Auth:”,而其对应的字段值则表明测试人员在创建该自动化用例时所使用的代号或名称;例如,“Documentation.*Auth:张三”,则表明该自动化用例的创建者为测试人员张三;通俗来讲,可将用例创建者字段理解为一个函数,而字段值则可理解对该函数赋予的值。
在本实施例中,举例用例修改者字段可以但不限于为:“Documentation.*Fix:”;而其对应的字段值则表明测试人员在修改该自动化用例时所使用的代号或名称;同理,例如,“Documentation.*Fix:李四”,则表明该自动化用例的修改者为测试人员李四。
在本实施例中,用例创建者字段对应的字段值以及用例创建者字段对应的字段值为非空,则表明测试人员在进行自动化用例创建以及修改时,进行了测试人员名称的标识,即对用例创建者字段以及修改者字段赋予了值。
例如,某个测试人员在进行自动化用例创建时,并未对用例创建者字段赋值,即相当于未将自己的名称写入自动化用例中,那么该自动化用例中的用例创建者字段以及对应的字段值则表示为“Documentation.*Fix:”;通过上述可知,Fix后面并没有任何字段,因此,字段值为空,那么此条自动化用例并不会被筛选出来。
在本实施例中,一条自动化用例可同时存在创建者以及修改者,即存在用例创建者字段对应的字段值为非空,以及用例修改者字段对应的字段值为非空的情况;例如,某条自动化用例中含有“Documentation.*Auth:张三\|Documentation.*Fix:李四”,那么则表示该条自动化用例的创建者为张三,修改者为李四。
在本实施例中,gitlab是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
而在本实施例中,gitlab服务器在接收到至少一个自动化用例时,即可触发步骤S101,实现用例的筛选,而实现触发可以但不限于通过任务job来实现。
在本实施例中,任务job的建立可以但不限于为:在gitlab服务器的操作界面上新建一个项目(可以但不限于此次软件测试的子项目);然后在项目中新建一个job,并添加相应的名称,以得到对应的项目job;例如,新建一个job,名称为任务,那么则为项目中的任务job。
而在本实施例中,还可设置任务job的参数、源码和触发器等。
而gitlab服务器在接收到至少一个自动化用例时,即可触发任务job来实现筛选则是通过构建触发器来实现的,其中,构建触发器可以但不限于为:通过拉取robotframework框架的代码库,然后在gitlab服务器中安装robotframework框架插件,从而实现二者之间的身份互信,最终,通过设置push(发送)动作,来作为触发器的触发条件,即只要监听到robotframework框架有push动作时,gitlab服务器则会自动触发任务job,对接收到的至少一个自动化用例的进行筛选。
在本实施例中,举例测试人员对自动化用例进行创建者以及修改者标识是在robotframework框架上进行的,robotframework是一款python编写的功能自动化测试框架,其具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行,可用于轮次很多的验收测试和验收测试驱动开发。
而通过robotframewor框架进行创建者以及修改者标识,可以但不限于如下步骤S001~S005。
S001.robotframework框架检测测试人员在robotframework框架的操作界面上进行的自动化用例创建操作。
S002.robotframework框架响应自动化用例创建操作,创建至少一个第四自动化用例。
在本实施例中,在robotframework框架上创建第四自动化用例的实质为:只需从本地(例如安装有robotframework框架的电脑)上传已经编写好的手动用例即可。
而在robotframework框架上创建好至少一个第四自动化用例后,即可对至少一个第四自动化用例添加创建者以及修改者的标识,以得到至少一个自动化用例,如以下步骤S003和步骤S004所示。
S003.robotframework框架检测测试人员在robotframework框架的操作界面上对所述至少一个第四自动化用例进行的标识填写操作。
S004.robotframework框架响应所述标识填写操作,向所述至少一个第四自动化用例中的每个第四自动化用例添加用例创建者字段对应的字段值和/或用例修改者字段对应的字段值,以得到至少一个自动化用例。
在本实施例中,通过robotframework框架生成自动化用例时,测试人员只需对用例创建者字段和/或用例修改者字段进行赋值即可,即向多个第四自动化用例添加测试人员的代号或名称。
在本实施例中,举例对第四自动化用例添加字段值后,用例创建者字段和其对应的字段值,以及用例修改者字段以及其对应的字段值可以但不限于:添加到自动化用例的第一行中,第一行作为注释行,用于表示该自动化用例的创建者以及修改者。
例如,假设创建的自动化用例分别为:自动化用例A、自动化用例B、自动化用例C以及自动化用例D;其中,自动化用例A的创建者为张三,而在上一次软件测试中,测试人员李四对自动化用例A进行了修改,那么修改者则为李四;同理,自动化用例B的创建者为李四,而在上一次软件测试中,没有测试人员进行修改;自动化用例C的创建者为王五,而在上一次软件测试中,张三对自动化用例C进行了修改,那么其修改者为张三;自动化用例D的创建为张三,而在上一次软件测试中,王五对自动化用例进行了修改,那么其修改者为王五。
那么,自动化用例A中的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:张三\|Documentation.*Fix:李四”。
同理,自动化用例B中的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四”\|Documentation.*Fix:”。
自动化用例C中的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:王五\|Documentation.*Fix:张三”。
自动化用例D中的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:张三\|Documentation.*Fix:王五”。
最后,在对第四自动化用例进行创建者和/或修改者标识,得到自动化用例后,即可将得到的自动化用例发送至gitlab服务器,以实现测试人员当前的自动化用例创建总数以及修改总数的统计,如步骤S005所示。
S005.robotframework框架将至少一个自动化用例发送至gitlab服务器。
而gitlab服务器在接收到至少一个自动化用例时,即可进行步骤S101,以在至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例创建者字段对应的字段值为非空的第一自动化用例;在本实施例中,robotframework框架与gitlab服务器之间的交互步骤可参见图2。
在筛选出至少一个第一自动化用例后,即可进行步骤S102和步骤S103。
S102.获取至少一个历史自动化用例的历史数据,其中,所述至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的。
步骤S102则是获取在接收到至少一个自动化用例前,gitlab服务器中已存在的自动化用例对应的历史数据的过程,以便为后续数据统计提供数据基础。
S103.根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
而步骤S103则是根据至少一个第一自动化用例以及历史数据,进行数据统计的过程。
在本实施例中,举例历史数据可以但不限于包括以下两种中的任意一种:
第一种:
历史数据为:从所述至少一个历史自动化用例中,筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第二自动化用例。
上述历史数据的实质为:从至少一个历史自动化用例中,统计出进行了创建者和/修改者标识的历史自动化用例,并将筛选出的历史自动化用例作为第二自动化用例,其原理与步骤S101一致,于此不多加赘述。
而后续在统计时,即可统计至少一个第一自动化用例,以及至少一个第二自动化用例内用例创建者字段和用例修改者字段对应字段值的出现次数即可。
而第二种则为:
获取在拥有所述至少一个历史自动化用例时,每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数。
第二种则是直接获取出至少一个历史自动化用例中,每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数;而后续在统计中,只需统计出至少一个第一自动化用例中用例创建者字段对应的字段值出现的次数,以及用例修改者字段对应的字段值出现的次数;最后,将对应字段值出现的次数,与对应测试人员的历史自动化创建总数或历史自动化修改总数进行求和,即可得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
因此,下述就前述公开的两种历史数据,分别详细阐述测试人员当前的自动化用例创建总数和/或自动化用例修改总数的统计过程。
当历史数据为前述第一种时:
步骤S103实质则为:根据至少一个第一自动化用例以及至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,其可以但不限于包括如下步骤S103a和步骤S103b。
S103a.从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数。
S103b.将所述用例创建者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例创建总数,以及将所述用例修改者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例修改总数。
步骤S103a和步骤S103b的原理为:通过统计至少一个第一自动化用例以及至少一个第二自动化用例中,各字段值出现次数,而各字段值出现的次数,则为该字段值对应测试人员的当前的自动化用例创建总数和/或自动化用例修改总数。
例如,要统计每个测试人员当前的自动化用例创建总数,那么即可在至少一个第一自动化用例以及至少一个第二自动化用例中的用例创建者字段中,统计各字段值出现的次数;同理,要统计每个测试人员当前的自动化用例修改总数,那么即可在至少一个第一自动化用例以及至少一个第二自动化用例中的用例修改者字段中,统计各字段值出现的次数。
下述以一个实例来说明:
以前述自动化用例A、B、C和D为例,根据步骤S101的筛选规则,自动化用例A、B、C和D均可被筛选出来,成为第一自动化用例A、B、C和D。
而假设至少一个历史自动化用例中,筛选出的第二自动化用例分别为:
第二自动化用例E,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:李四”。
第二自动化用例F,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:王五\|Documentation.*Fix:李四”。
第二自动化用例G,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:王五\|Documentation.*Fix:”。
那么根据步骤S103a和步骤S103b的统计规则可知,第一自动化用例A、B、C和D以及第二自动化用例E、F和G内用例创建者字段对应各字段值分别为:张三、李四、王五,其中,字段值张三出现的次数为:2次(即在第一自动化用例A和D中出现);字段值李四出现的次数为:2次(即在第一自动化用例B和第二自动化用例E中出现);字段值王五出现的次数为:3次(即在第一自动化用例C、第二自动化用例F和G中出现);因此,测试人员张三当前的自动化用例创建总数为2条;测试人员李四当前的自动化用例创建总数为2条;测试人员王五当前的自动化用例创建总数为3条。
同理,第一自动化用例A、B、C和D以及第二自动化用例E、F和G内用例修改者字段对应各字段值分别为:李四、张三、王五,其中,字段值李四出现的次数为:3次(即在第一自动化用例A、第二自动化用例E和F中出现);字段值张三出现的次数为:1次(即在第一自动化用例C中出现);字段值王五出现的次数为:1次(即在第一自动化用例D中出现);因此,测试人员张三当前的自动化用例修改总数为1条;测试人员李四当前的自动化用例修改总数为3条;测试人员王五当前的自动化用例修改总数为1条。
通过前述设计,即可通过统计至少一个第一自动化用例以及至少一个第二自动化用例中各字段值出现的次数,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
在本实施例中,gitlab服务器在至少一个自动化用例以及至少一个历史自动化用例中进行筛选时,可直接将第一自动化用例以及第二自动化用例中的用例创建者字段及其对应的字段值,以及用例修改者字段及其对应的字段值提取出来,并形成文本,最后,只需统计文本中用例创建者字段对应的各字段值出现的次数,以及用例修改者字段对应的各字段值出现的次数,即可得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数;当然,在文本中进行字段值出现次数统计的原理与前述步骤S103a一致,于此不多加赘述。
而当历史数据为前述第二种时:
步骤S103实质则为:根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数;以及根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例修改总数,得到每个测试人员当前的自动化用例修改总数。
下面以统计每个测试人员当前的自动化用例创建总数为例,步骤S103可以但不限于包括如下步骤S103c和步骤S103d。
S103c.从所述至少一个第一自动化用例中,统计出用例创建者字段对应的各字段值出现的次数。
S103b.将用例创建者字段对应的各字段值出现的次数与各字段值对应测试人员的历史自动化用例创建总数进行求和,得到各字段值对应测试人员当前的自动化用例创建总数。
步骤S103c的统计原理与步骤S103a一致,均是将用例创建者字段中各字段值出现的次数,作为字段值对应测试人员在至少一个第一自动化用例中的创建的条数。
下面还是以一个实例进行举例:
假设,测试人员张三的历史自动化用例创建总数为10条;测试人员李四的历史自动化用例创建总数为12条;测试人员王五的历史自动化用例创建总数为6条。
而在前述第一自动化用例A、B、C和D中,字段值分别有:张三、李四和王五,其中,张三出现的次数为:2次;李四出现的次数为:1次;王五出现的次数为:1次,那么测试人员张三当前的自动化用例创建总数为:2+10=12条;测试人员李四当前的自动化用例创建总数为:1+12=13条;测试人员王五当前的自动化用例创建总数为:1+6=7条。
当然,每个测试人员当前的自动化用例修改总数的统计原理与前述自动化用例创建总数统计原理相同,于此不多加赘述。
在本实施例中,举例从至少一个历史自动化用例中,统计出每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数的原理与前述步骤S103a相同,于此不多加赘述。
在本实施例中,同一条自动化用例,对其进行修改后,那么其在重新上传至gitlab服务器进行统计时,为了避免对未修改的字段数的重复统计,还设置有以下方法:
针对历史数据为前述第一种时:对于同一条自动化用例,每上传一次,会将其上一次记录进行覆盖;例如,假设自动化用例H在上一次上传时,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:”,即只标识了创建者;而测试人员张三对自动化用例H进行了修改,那么修改后上传至gitlab服务器的自动化用例H,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:张三”,此时,带有修改者标识的自动化用例H则会将上一条未带有修改者标识的自动化用例H覆盖,因此,即可避免重复统计的问题。
针对历史数据为前述第二种时:对于同一条自动化用例,在对接收到的自动化用例进行筛选时,会判断此条自动化用例与其上一次上传时用例创建者字段和/或用例修改者字段是否相同,若不相同,即可进行统计,否则,则不进行统计。
例如,自动化用例H在上一次上传时,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:”,即只标识了创建者;而本次上传时则变为“Documentation.*Auth:李四\|Documentation.*Fix:张三”;那么根据上述规则,用例创建者字段对应的字段值相同(均为李四);而前一次用例修改者字段对应的字段值为空(即并未进行标识),而本次则为张三,因此,只会统计用例修改者字段对应的字段值出现的次数。
又如,自动化用例H在上一次上传时,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:张三”,而本次上传则变为“Documentation.*Auth:李四\|Documentation.*Fix:王五”,那么根据规则,也只会统计用例修改者字段对应的字段值出现的次数,即统计王五出现的次数。
再者,自动化用例H在上一次上传时,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:张三”,而本次上传时则变为“Documentation.*Auth:王五\|Documentation.*Fix:李素”,那么根据规则,用例创建者字段对应的字段值与上一次不同,用例修改者字段对应的字段值与上一次也不同,那么在本次进行统计时,用例修改者字段对应的字段值出现的次数,以及用例修改者字段对应的字段值出现的次数均会统计。
由此,通过前述两种方法,即可避免在两种统计方法中存在的重复统计的问题,进而提高统计的精确度。
由此通过前述步骤S101~S103及其各个子步骤所详细描述的自动化用例的统计方法,本发明可直接利用robotframework框架添加自动化用例的创建者以及修改者,并通过gitlab服务器进行数量统计,一方面,无需测试人员单独在脚本文件中编写创建者和修改者的标识,以及无需单独编写查找命令,降低了测试人员的工作量;另一方面,通过robotframework框架能够统一自动化用例中创建者和修改者的标识,使得在gitlab服务器中仅使用一个命令即可完成接收到的所有自动化用例的检索,且仅遍历一遍即可得统计出测试人员当前的自动化用例修改总数以及创建总数,不仅缩短了检索的时间,还大大的提高了检索的全面性。
在本实施例中,为了避免同一个测试人员在进行自动化用例创建和修改时,使用不同的代号或名称,从而导致统计误差较大的问题,还设置有如下步骤S104~S105来减少误差。
S104.获取所述每个测试人员的字段值集合,其中,所述字段值集合包括对应测试人员在进行自动化用例创建时使用的所有用例创建者字段对应的字段值,以及在进行自动化用例修改时使用的所有用例修改者字段对应的字段值。
S105.在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例创建者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例创建总数;以及在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例修改者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例修改总数。
步骤S104以及步骤S105的原理则为:通过获取每个测试人员进行自动化用例修改和创建时所使用的全部字段值的集合,从而在进行字段值出现次数统计时,将属于同一字段值集合的字段值的个数,作为同一字段值集合对应测试人员的创建总数或修改总数。
例如,测试人员张三的字段值集合包括:张三1、张三2以及张三3。
假设,第一自动化用例J,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:张三1”。
第一自动化用例K,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:张三2”。
第二自动化用例V,其内部的用例创建者字段和用例修改者字段,及二者对应的字段值分别表示为:“Documentation.*Auth:李四\|Documentation.*Fix:李四”。
由上可知:第一自动化用例J、第一自动化用例K以及第二自动化用例V中用例修改者字段对应的字段值分别为:张三1、张三2以及李四,其中,张三1的次数为1条,张三2的次数为1条,但是根据步骤S104的规则可知,张三1和张三2均属于字段值集合张三,因此张三1以及张三2都应该作为字段值张三出现的次数,即测试人员张三当前的自动化用例修改总数则为2条。
通过前述步骤S104和步骤S105,即可避免同一测试人员使用不同字段值所导致的统计不精确的问题。
在本实施例中,gitlab服务器接收到的自动化用例,均是在robotframework框架至上自动化用例操作成功后的用例;因此,本申请利用gitlab服务器还可计算一个项目的自动化率,其实现步骤可以但不限于如下步骤S201~S203。
S201.获取测试人员在创建至少一个手动用例时为所述至少一个手动用例设置的标签个数,所述标签用于表征所述至少一个手动用例需要进行自动化用例操作。
S202.统计出所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数。
S203.根据所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数,以及所述标签个数,得到所述至少一个手动用例的自动化率。
步骤S201~S203的原理为:通过获取测试人员在创建手动用例时设置的标签个数,来得到手动用例需要进行自动化用例操作时的数量;然后通过统计至少一个历史自动化用例以及至少一个自动化用例的总个数,则可得到自动化用例操作成功的用例个数,即手动用例成功自动化用例操作的个数;最后,将二者进行相比,即可得到自动化率。
例如,标签个数为5个,而至少一个历史自动化用例以及至少一个自动化用例的总个数为3个,那么则说明5个手动用例中,只有3个实现了自动化用例操作,那么自动化率则是:3/5=60%。
在本实施例中,举例测试人员在testlink工具上创建手动用例,可进行标签的设置,而设置标签可以但不限于为:在testlink平台上对各个手动用例进行参数设置,在参数设置中,对自动化用例操作的选框进行勾选,勾选则表明设置了标签,若未勾选,则表明对应的手动用例并未设置标签,且勾选了选框,则表明需要在gitlab服务器上进行自动化用例操作;而gitlab服务器可通过接口与testlink工具实现通信连接,从而实现勾选了自动化用例操作的选框的数量统计。
另外,在本实施例中,还可对gitlab服务器中接收的自动化用例进行未进行署名比例的计算,可以但不限于如以下步骤S204和步骤S205。
S204.从所述至少一个自动化用例以及所述至少一个历史自动化用例中,筛选出用例创建者字段对应字段值为空或用例修改者字段对应的字段值为空的至少一个第三自动化用例。
S205.根据所述至少一个第三自动化用例、所述至少一个自动化用例以及所述至少一个历史自动化用例,得到未进行署名的自动化用例的比例。
步骤S204和步骤S205的原理为:从至少一个自动化用例以及至少一个历史自动化用例中筛选出字段值为空的用例,其相当于得到了未进行创建者标识或修改者标识的自动化用例,即第三自动化用例;最后,将筛选出来的第三自动化用例的数量与至少一个自动化用例以及至少一个历史自动化用例的总个数相比,即可得出未进行署名的自动化用例的比例。
例如,第三自动化用例的个数为8,而至少一个自动化用例以及至少一个历史自动化用例的总个数为6,那么未进行署名的自动化用例的比例则为:8/16=50%。
如图3所示,本实施例第二方面提供了一种实现实施例第一方面中所述的自动化用例的统计方法的硬件装置,以硬件装置为gitlab服务器为例,包括:
筛选单元,用于响应于接收到至少一个自动化用例时,从所述至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例,其中,所述至少一个自动化用例中的每个自动化用例均是基于robotframework框架生成的。
历史数据获取单元,用于获取至少一个历史自动化用例的历史数据,其中,所述至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的。
统计单元,用于根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
在一个的可能的设计中:
所述历史数据获取单元,具体用于从所述至少一个历史自动化用例中,筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第二自动化用例。
所述统计单元,具体用于根据所述至少一个第一自动化用例以及所述至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
在一个可能的设计中,所述统计单元包括:次数统计子单元以及用例统计子单元。
所述次数统计子单元,用于从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数。
所述用例统计子单元,用于将所述用例创建者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例创建总数,以及将所述用例修改者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例修改总数。
在一个可能的设计中,所述gitlab服务器还包括:字段值集合获取单元。
所述字段值集合获取单元,用于获取所述每个测试人员的字段值集合,其中,所述字段值集合包括对应测试人员在进行自动化用例创建时使用的所有用例创建者字段对应的字段值,以及在进行自动化用例修改时使用的所有用例修改者字段对应的字段值。
所述次数统计子单元,还用于在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例创建者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例创建总数。
所述次数统计子单元,还用于在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例修改者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例修改总数。
在一个可能的设计中:
所述历史数据获取单元,还具体用于获取在拥有所述至少一个历史自动化用例时,每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数。
所述统计单元,还具体用于获取根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数。
所述统计单元,还具体用于根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例修改总数,得到每个测试人员当前的自动化用例修改总数。
在一个可能的设计中:
所述次数统计子单元,还用于从所述至少一个第一自动化用例中,统计出用例创建者字段对应的各字段值出现的次数。
所述用例统计子单元,还用于将用例创建者字段对应的各字段值出现的次数与各字段值对应测试人员的历史自动化用例创建总数进行求和,得到各字段值对应测试人员当前的自动化用例创建总数。
在一个可能的设计中,所述gitlab服务器还包括:标签获取单元以及计算单元。
所述标签获取单元,用于获取测试人员在创建至少一个手动用例时为所述至少一个手动用例设置的标签个数,所述标签用于表征所述至少一个手动用例需要进行自动化用例操作。
所述统计单元,还用于统计出所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数。
所述计算单元,用于根据所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数,以及所述标签个数,得到所述至少一个手动用例的自动化率。
在一个可能的设计中:
所述筛选单元,还用于从所述至少一个自动化用例以及所述至少一个历史自动化用例中,筛选出用例创建者字段对应字段值为空或用例修改者字段对应的字段值为空的至少一个第三自动化用例。
所述计算单元,还用于根据所述至少一个第三自动化用例、所述至少一个自动化用例以及所述至少一个历史自动化用例,得到未进行署名的自动化用例的比例。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图4所示,本实施例第三方面提供第二种自动化用例的统计装置,以硬件装置为计算机主设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的自动化用例的统计方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory image,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction set computer,RSIC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的计算机主设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第四方面提供了一种存储包含有实施例第一方面所述的自动化用例的统计方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的自动化用例的统计方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的自动化用例的统计方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种自动化用例的统计方法,其特征在于,包括:
响应于接收到至少一个自动化用例时,从所述至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例,其中,所述至少一个自动化用例中的每个自动化用例均是基于robotframework框架生成的;
获取至少一个历史自动化用例的历史数据,其中,所述至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的;
根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
2.如权利要求1所述的方法,其特征在于,获取至少一个历史自动化用例的历史数据,包括:
从所述至少一个历史自动化用例中,筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第二自动化用例;
相应的,根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,包括:
根据所述至少一个第一自动化用例以及所述至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
3.如权利要求2所述的方法,其特征在于,根据所述至少一个第一自动化用例以及所述至少一个第二自动化用例,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,包括:
从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数;
将所述用例创建者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例创建总数,以及将所述用例修改者字段对应的各字段值出现的次数,作为各字段值对应测试人员当前的自动化用例修改总数。
4.如权利要求3所述的方法,其特征在于,在从所述至少一个第一自动化用例以及所述至少一个第二自动化用例中,统计出用例创建者字段对应的各字段值出现的次数,以及统计出用例修改者字段对应的各字段值出现的次数后,所述方法还包括:
获取所述每个测试人员的字段值集合,其中,所述字段值集合包括对应测试人员在进行自动化用例创建时使用的所有用例创建者字段对应的字段值,以及在进行自动化用例修改时使用的所有用例修改者字段对应的字段值;
在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例创建者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例创建总数;以及
在所述至少一个第一自动化用例以及所述至少一个第二自动化用例的所有用例修改者字段对应的字段值中,将属于同一字段值集合的字段值的个数,作为所述同一字段值集合对应测试人员当前的自动化用例修改总数。
5.如权利要求1所述的方法,其特征在于,获取至少一个历史自动化用例的历史数据,包括:
获取在拥有所述至少一个历史自动化用例时,每个测试人员的历史自动化用例创建总数和/或历史自动化用例修改总数;
相应的,根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数,包括:
根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数;以及
根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例修改总数,得到每个测试人员当前的自动化用例修改总数。
6.如权利要求5所述的方法,其特征在于,根据所述至少一个第一自动化用例以及每个测试人员的历史自动化用例创建总数,得到每个测试人员当前的自动化用例创建总数,包括:
从所述至少一个第一自动化用例中,统计出用例创建者字段对应的各字段值出现的次数;
将用例创建者字段对应的各字段值出现的次数与各字段值对应测试人员的历史自动化用例创建总数进行求和,得到各字段值对应测试人员当前的自动化用例创建总数。
7.如权利要求1所述的方法,其特征在于,所述至少一个自动化用例中的每个自动化用例均为自动化用例操作成功后的用例;
其中,在响应于接收到所述至少一个自动化用例时,所述方法还包括:
获取测试人员在创建至少一个手动用例时为所述至少一个手动用例设置的标签个数,所述标签用于表征所述至少一个手动用例需要进行自动化用例操作;
统计出所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数;
根据所述至少一个历史自动化用例以及所述至少一个自动化用例的总个数,以及所述标签个数,得到所述至少一个手动用例的自动化率。
8.一种自动化用例的统计装置,其特征在于,包括:
筛选单元,用于响应于接收到至少一个自动化用例时,从所述至少一个自动化用例中筛选出用例创建者字段对应的字段值为非空或用例修改者字段对应的字段值为非空的至少一个第一自动化用例,其中,所述至少一个自动化用例中的每个自动化用例均是基于robotframework框架生成的;
历史数据获取单元,用于获取至少一个历史自动化用例的历史数据,其中,所述至少一个历史自动化用例是在所述至少一个自动化用例之前接收到的;
统计单元,用于根据所述至少一个第一自动化用例以及所述历史数据,得到每个测试人员当前的自动化用例创建总数和/或自动化用例修改总数。
9.一种自动化用例的统计装置,其特征在于,包括依次相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~7任意一项所述的自动化用例的统计方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~7任意一项所述的自动化用例的统计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427101.7A CN113127352B (zh) | 2021-04-20 | 2021-04-20 | 一种自动化用例的统计方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427101.7A CN113127352B (zh) | 2021-04-20 | 2021-04-20 | 一种自动化用例的统计方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127352A true CN113127352A (zh) | 2021-07-16 |
CN113127352B CN113127352B (zh) | 2023-03-14 |
Family
ID=76779135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110427101.7A Active CN113127352B (zh) | 2021-04-20 | 2021-04-20 | 一种自动化用例的统计方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127352B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656304A (zh) * | 2021-08-16 | 2021-11-16 | 上海浦东发展银行股份有限公司 | 一种前端应用程序的测试方法、设备和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902439A (zh) * | 2012-12-25 | 2014-07-02 | 北大方正集团有限公司 | 一种测试用例的管理方法、装置及系统 |
US20160034273A1 (en) * | 2014-07-31 | 2016-02-04 | Facebook, Inc. | Attributing Authorship to Segments of Source Code |
CN107957955A (zh) * | 2017-12-22 | 2018-04-24 | 广东睿江云计算股份有限公司 | 一种基于用例管理系统的自动化测试方法 |
CN108073518A (zh) * | 2018-01-24 | 2018-05-25 | 广东睿江云计算股份有限公司 | 一种测试用例管理方法及装置 |
CN109062817A (zh) * | 2018-10-15 | 2018-12-21 | 网宿科技股份有限公司 | 自动化测试方法及系统 |
CN109271321A (zh) * | 2018-09-20 | 2019-01-25 | 杭州安恒信息技术股份有限公司 | 一种贡献代码数统计方法及装置 |
CN109344081A (zh) * | 2018-10-31 | 2019-02-15 | 杭州安恒信息技术股份有限公司 | 基于标签脚本实现自动化覆盖率统计的方法及装置 |
CN110347382A (zh) * | 2019-06-19 | 2019-10-18 | 苏州浪潮智能科技有限公司 | 一种代码信息统计方法及装置 |
CN110928783A (zh) * | 2019-11-20 | 2020-03-27 | 北京工业大学 | 基于RobotFramework自动化测试数据化改造的平台 |
CN111723007A (zh) * | 2020-05-29 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种测试用例的合并方法、系统、设备以及介质 |
CN111930611A (zh) * | 2020-07-08 | 2020-11-13 | 南京领行科技股份有限公司 | 一种测试数据的统计方法和装置 |
US20210089436A1 (en) * | 2019-09-24 | 2021-03-25 | Aetna Inc. | Automated web testing framework for generating and maintaining test scripts |
-
2021
- 2021-04-20 CN CN202110427101.7A patent/CN113127352B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902439A (zh) * | 2012-12-25 | 2014-07-02 | 北大方正集团有限公司 | 一种测试用例的管理方法、装置及系统 |
US20160034273A1 (en) * | 2014-07-31 | 2016-02-04 | Facebook, Inc. | Attributing Authorship to Segments of Source Code |
CN107957955A (zh) * | 2017-12-22 | 2018-04-24 | 广东睿江云计算股份有限公司 | 一种基于用例管理系统的自动化测试方法 |
CN108073518A (zh) * | 2018-01-24 | 2018-05-25 | 广东睿江云计算股份有限公司 | 一种测试用例管理方法及装置 |
CN109271321A (zh) * | 2018-09-20 | 2019-01-25 | 杭州安恒信息技术股份有限公司 | 一种贡献代码数统计方法及装置 |
CN109062817A (zh) * | 2018-10-15 | 2018-12-21 | 网宿科技股份有限公司 | 自动化测试方法及系统 |
CN109344081A (zh) * | 2018-10-31 | 2019-02-15 | 杭州安恒信息技术股份有限公司 | 基于标签脚本实现自动化覆盖率统计的方法及装置 |
CN110347382A (zh) * | 2019-06-19 | 2019-10-18 | 苏州浪潮智能科技有限公司 | 一种代码信息统计方法及装置 |
US20210089436A1 (en) * | 2019-09-24 | 2021-03-25 | Aetna Inc. | Automated web testing framework for generating and maintaining test scripts |
CN110928783A (zh) * | 2019-11-20 | 2020-03-27 | 北京工业大学 | 基于RobotFramework自动化测试数据化改造的平台 |
CN111723007A (zh) * | 2020-05-29 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种测试用例的合并方法、系统、设备以及介质 |
CN111930611A (zh) * | 2020-07-08 | 2020-11-13 | 南京领行科技股份有限公司 | 一种测试数据的统计方法和装置 |
Non-Patent Citations (6)
Title |
---|
P. CHEVALLEY等: "Automated generation of statistical test cases from UML state diagrams", 《25TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE. COMPSAC 2001》 * |
尛磊孨: "Robot Framework(三)创建测试用例", 《HTTPS://WWW.CNBLOGS.COM/COLOS/P/11083296.HTML》 * |
李真辉等: "基于CI的Web自动化测试平台设计", 《科技导报》 * |
杨贞祥等: "基于历史数据的软件测试数据统计分析研究", 《微型机与应用》 * |
郑文婵: "应用于软件测试的代码统计系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
黎守秀: "基于Robot Framework的自动化测试研究及应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656304A (zh) * | 2021-08-16 | 2021-11-16 | 上海浦东发展银行股份有限公司 | 一种前端应用程序的测试方法、设备和存储介质 |
CN113656304B (zh) * | 2021-08-16 | 2024-04-30 | 上海浦东发展银行股份有限公司 | 一种前端应用程序的测试方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113127352B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110292775B (zh) | 获取差异数据的方法及装置 | |
CN109446493B (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN111782635B (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN112148343B (zh) | 规则发布方法、装置及终端设备 | |
CN109189374A (zh) | 基于对象引用链的对象构造代码生成方法及系统 | |
CN112817866A (zh) | 录制回放方法、装置、系统、计算机设备以及存储介质 | |
CN113342500B (zh) | 任务执行方法、装置、设备及存储介质 | |
KR102339897B1 (ko) | 보고서 자동 생성 기반의 업무 프로세스 관리 시스템 제공 방법 | |
CN111984882A (zh) | 数据处理方法、系统及设备 | |
CN111782317A (zh) | 页面的测试方法和装置、存储介质和电子装置 | |
CN113127352B (zh) | 一种自动化用例的统计方法、装置及计算机可读存储介质 | |
CN110912782A (zh) | 一种数据采集方法、装置及存储介质 | |
CN112988185A (zh) | 云应用更新方法、装置、系统、电子设备及存储介质 | |
CN117195568B (zh) | 一种基于离散事件的仿真引擎性能分析方法及装置 | |
CN106487602B (zh) | 应用程序发布版本监控方法与监控装置 | |
CN113515464B (zh) | 基于linux系统的蜜罐测试方法及装置 | |
CN117540827B (zh) | 模型热更新方法、装置、设备及计算机可读存储介质 | |
CN113672222A (zh) | 一种应用程序接口管理装置及其构建方法 | |
CN112685275B (zh) | 算法策略搜索方法、装置、电子设备及存储介质 | |
CN113138906A (zh) | 一种调用链数据采集方法、装置、设备及存储介质 | |
CN115994086A (zh) | 图像处理方法及装置、存储介质、终端 | |
CN112184027B (zh) | 任务进度更新方法、装置及存储介质 | |
CN112367205B (zh) | 一种对http调度请求的处理方法及调度系统 | |
CN111399830B (zh) | 一种应用程序容量监控方法、装置、电子设备及存储介质 | |
CN114428747A (zh) | 一种用户界面测试方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |