一种对软件功能进行测试的方法及装置与流程

文档序号:12123614阅读:292来源:国知局
一种对软件功能进行测试的方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种对软件功能进行测试的方法及装置。



背景技术:

在软件开发完成后,为了保证软件能够稳定地运行,需要对软件功能进行测试,在对软件功能进行测试的过程中,测试人员选择测试用例,通过测试用例对软降功能进行测试。其中,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,一遍测试某个程序路径或核实是否满足某个特定需求。

测试用例包括自动化测试用例和手动化测试用例,其中自动化测试用例可以自动化完成对软件的测试,而手动化测试用例需要人工参与才能完成对软件的测试。

目前,需要对软件功能进行测试时,测试人员根据经验选择相应的测试用例,通过所选的测试用例对软件功能进行测试。

针对于目前对软件功能进行测试的方法,由于测试人员的经验以及对产品的了解不同,测试人员所选择的测试用例中包括较多的手动化测试用例,造成对软件功能进行测试的自动化程度较低,导致对软件功能进行测试的效率较低。



技术实现要素:

本发明实施例提供了一种对软件功能进行测试的方法及装置,能够提高对软件功能进行测试的效率。

本发明实施例提供了一种对软件功能进行测试的方法,获取至少一个对应于待测试软件的测试用例,还包括:

确定所述待测试软件的核心业务模块及基础业务模块;

针对于每一个所述测试用例,根据至少一个自动化测试专家的判断结果,确定所述测试用例对应的自动化分值;

针对于每一个所述测试用例,根据所述测试用例对应的自动化分值及测试对象,判断所述测试用例是否为自动化测试用例,其中所述测试对象包括所述核心业务模块或使所述基础业务模块;

获取判断结果为是的至少一个所述测试用例,形成自动化测试用例集;

从所述自动化测试用例集中选择至少一个测试用例,通过所选的测试用例对所述待测试软件的功能进行测试。

优选地,

所述根据至少一个自动化测试专家的判断结果确定所述测试用例对应的自动化分值,包括:

获取所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数;

获取所述至少一个自动化测试专家中判断所述测试用例为手动化测试用例的第二人数;

根据所述第一人数及所述第二人数,通过如下公式一确定所述测试用例对应的自动化分值;

所述公式一包括:

其中,所述P为所述测试用例对应的自动化分值,所述R1为所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,所述R2为所述至少一个自动化测试专家中判断所述测试用例为手动化测试用例的第二人数。

优选地,

所述根据所述测试用例对应的自动化分值及测试对象判断所述测试用例是否为自动化测试用例,包括:

S1:判断所述测试用例对应的自动化分值是否大于或等于预设的第一阈值,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S2;

S2:判断所述测试用例对应的自动化分值是否大于或等于预设的第二阈值,如果是,执行步骤S3,否则执行步骤S4,其中所述第二阈值小于所述第一阈值;

S3:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S8;

S4:判断所述测试用例对应的自动化分值是否大于或等于预设的第三阈值,如果是,执行步骤S5,否则执行步骤S6,其中所述第三阈值小于所述第二阈值;

S5:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤S7,否则执行步骤S8;

S6:判断测试用例对应的自动化分值是否大于零,如果是,执行步骤S9,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S7:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S10;其中,所述平均工时根据判断所述测试用例为自动化测试用例的至少一个自动化测试专家提供的实现工时确定。

S8:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S9:判断所述测试用例对应的测试对应是否为核心业务模块,如果是,执行步骤10,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S10:根据所述至少一个自动化测试专家的评审结果,确定所述测试用例是否为自动化测试用例。

优选地,

所述根据判断所述测试用例为自动化测试用例的至少一个自动化测试专家提供的实现工时确定所述平均工时,包括:

获取所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数;

获取判断所述测试用例为自动化测试用例的每一个自动化测试专家提供的针对于所述测试用例的实现工时;

根据所述第一人数及各个所述实现工时,通过如下公式二确定所述测试用例实现自动化的平均工时;

所述公式二包括:

其中,所述T为所述测试用例实现自动化的平均工时,所述Ti第i个判断所述测试用例为自动化测试用例的自动化测试专家提供过的针对于所述测试用例的实现工时,所述m为是至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数。

优选地,

所述从所述自动化测试用例集中选择至少一个测试用例,包括:

根据所述测试用例对应的自动化分值,按照自动化分值由大到小的顺序对所述自动化测试用例集中的所述测试用例进行排序;

根据排序结果,按照从先到后的顺序从所述自动化测试用例集中选择至少一个测试用例。

本发明实施例还提供了一种对软件功能进行测试的装置,包括:获取单元、计算单元、判断单元及测试单元;

所述获取单元,用于获取至少一个对应于待测试软件的测试用例,并确定所述待测试软件的核心业务模块及基础业务模块;

所述计算单元,用于针对于所述获取单元获取到的每一个所述测试用例,根据至少一个自动化测试专家的判断结果,确定所述测试用例对应的自动化分值;

所述判断单元,用于针对于所述获取单元获取到的每一个所述测试用例,根据所述计算单元确定出的所述测试用例对应的自动化分值及测试对象,判断所述测试用例是否为自动化测试用例,其中所述测试对象包括所述获取单元获取到的所述核心业务模块或使所述基础业务模块;

所述测试单元,用于根据所述判断单元的判断结果,获取判断结果为是的至少一个所述测试用例,形成自动化测试用例集;并从所述自动化测试用例集中选择至少一个测试用例,通过所选的测试用例对所述待测试软件的功能进行测试。

优选地,

所述计算单元,用于获取所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,以及获取所述至少一个自动化测试专家中判断所述测试用例为手动化测试用例的第二人数;并根据所述第一人数及所述第二人数,通过如下公式一确定所述测试用例对应的自动化分值;

所述公式一包括:

其中,所述P为所述测试用例对应的自动化分值,所述R1为所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,所述R2为所述至少一个自动化测试专家中判断所述测试用例为手动化测试用例的第二人数。

优选地,

所述判断单元,用于执行如下步骤:

S1:判断所述测试用例对应的自动化分值是否大于或等于预设的第一阈值,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S2;

S2:判断所述测试用例对应的自动化分值是否大于或等于预设的第二阈值,如果是,执行步骤S3,否则执行步骤S4,其中所述第二阈值小于所述第一阈值;

S3:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S8;

S4:判断所述测试用例对应的自动化分值是否大于或等于预设的第三阈值,如果是,执行步骤S5,否则执行步骤S6,其中所述第三阈值小于所述第二阈值;

S5:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤S7,否则执行步骤S8;

S6:判断测试用例对应的自动化分值是否大于零,如果是,执行步骤S9,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S7:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S10;其中,所述平均工时根据判断所述测试用例为自动化测试用例的至少一个自动化测试专家提供的实现工时确定。

S8:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S9:判断所述测试用例对应的测试对应是否为核心业务模块,如果是,执行步骤10,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S10:根据所述至少一个自动化测试专家的评审结果,确定所述测试用例是否为自动化测试用例。

优选地,

所述判断单元包括:平均工时计算子单元;

所述平均工时计算子单元,用于获取所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,以及获取判断所述测试用例为自动化测试用例的每一个自动化测试专家提供的针对于所述测试用例的实现工时;并根据所述第一人数及各个所述实现工时,通过如下公式二确定所述测试用例实现自动化的平均工时;

所述公式二包括:

其中,所述T为所述测试用例实现自动化的平均工时,所述Ti第i个判断所述测试用例为自动化测试用例的自动化测试专家提供过的针对于所述测试用例的实现工时,所述m为是至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数。

优选地,

所述测试单元包括:排序子单元及选择子单元;

所述排序子单元,用于根据所述测试用例对应的自动化分值,按照自动化分值由大到小的顺序对所述自动化测试用例集中的所述测试用例进行排序;

所述选择子单元,用于根据所述排序子单元的排序结果,按照从先到后的顺序从所述自动化测试用例集中选择至少一个测试用例。

本发明实施例提供了一种对软件功能进行测试的方法及装置,获取至少一个对应于待测试软件的测试用例后,根据至少一个自动化测试专家的判断结果分别确定各个测试用例对应的自动化分值;针对于每一个测试用例,根据其对应的自动化分值及对应的测试对象,确定该测试用例是否为自动化测试用例;由确定为自动化测试用例的至少一个测试用例形成自动化测试用例集;从自动化测试用例集中选择至少一个测试用例对待测试软件的功能进行测试。根据自动化分值及测试对象来确定测试用例是否为自动化测试用例,可以保证确定出的自动化测试用例集中的测试用例具有较高的自动化率,进而通过自动化测试用例集中的测试用例对待测试软件的功能进行测试时,可以提高对软件功能进行测试的自动化程度,从而提高对软件功能进行测试的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种对软件功能进行测试的方法流程图;

图2是本发明一个实施例提供的一种根据自动化分值判断自动化测试用例的方法流程图;

图3是本发明一个实施例提供的一种自动化分值位于第一区间内时对测试用例进行判断的方法流程图;

图4是本发明一个实施例提供的一种自动化分值位于第二区间内时对测试用例进行判断的方法流程图;

图5是本发明一个实施例提供的一种自动化分值位于第三区间内时对测试用例进行判断的方法流程图;

图6是本发明一个实施例提供的一种对软件功能进行测试的装置示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种对软件功能进行测试的方法,该方法可以包括以下步骤:

步骤101:获取至少一个对应于待测试软件的测试用例;

步骤102:确定所述待测试软件的核心业务模块及基础业务模块;

步骤103:针对于每一个所述测试用例,根据至少一个自动化测试专家的判断结果,确定所述测试用例对应的自动化分值;

步骤104:针对于每一个所述测试用例,根据所述测试用例对应的自动化分值及测试对象,判断所述测试用例是否为自动化测试用例,其中所述测试对象包括所述核心业务模块或使所述基础业务模块;

步骤105:获取判断结果为是的至少一个所述测试用例,形成自动化测试用例集;

步骤106:从所述自动化测试用例集中选择至少一个测试用例,通过所选的测试用例对所述待测试软件的功能进行测试。

本发明实施例提供了一种对软件功能进行测试的方法,获取至少一个对应于待测试软件的测试用例后,根据至少一个自动化测试专家的判断结果分别确定各个测试用例对应的自动化分值;针对于每一个测试用例,根据其对应的自动化分值及对应的测试对象,确定该测试用例是否为自动化测试用例;由确定为自动化测试用例的至少一个测试用例形成自动化测试用例集;从自动化测试用例集中选择至少一个测试用例对待测试软件的功能进行测试。根据自动化分值及测试对象来确定测试用例是否为自动化测试用例,可以保证确定出的自动化测试用例集中的测试用例具有较高的自动化率,进而通过自动化测试用例集中的测试用例对待测试软件的功能进行测试时,可以提高对软件功能进行测试的自动化程度,从而提高对软件功能进行测试的效率。

在本发明一个实施例中,测试用例对应的自动化分值是根据至少一个自动化专家的判断结果来确定的。具体地,针对每一个测试用例,由至少一个自动化测试专家分别判断该测试用例是自动化测试用例还是手动化测试用例,获取至少一个自动化测试专家中判断该测试用例为自动化测试用例的第一人数和判断该测试用例为手动化测试用例的第二人数;根据获取到的第一人数和第二人数,通过如下公式一计算该测试用例对应的自动化分值;

所述公式一为:

其中,P为测试用例对应的自动化分值,R1为第一人数,R2为第二人数。

具体地,

针对于每一个测试用例,由多个自动化测试专家分别判断其为自动化测试用例还是手动化测试用例,根据各个自动化测试专家的判断结果,将判断该测试用例为自动化测试用例的人数占自动化测试专家总人数的比例作为该测试用例的自动化分值;自动化分值越大,说明认为该测试用例是自动化测试用例的人数越多,由于自动化测试专家具有比较丰富的软件功能测试经验,因此,自动化分值越大说明该测试用例为自动化测试用例的概率越高。通过自动化分值来评判测试用例是否为自动化测试用例,可以保证对测试用例进行判断的准确性。

例如,有20位自动化测试专家参与一个测试用例A的判断,其中有12位自动化测试专家认为该测试用例A是自动化测试用例,其与8位自动化测试专家认为该测试用例A是手动化测试用例,则该测试用例A对应的自动化分值等于0.6。

在本发明一个实施例中,根据对应的自动化分值及测试对象来判断一个测试用例是否为自动化测试用例时,该判断方法可以包括如下步骤:

S1:判断所述测试用例对应的自动化分值是否大于或等于预设的第一阈值,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S2;

S2:判断所述测试用例对应的自动化分值是否大于或等于预设的第二阈值,如果是,执行步骤S3,否则执行步骤S4,其中所述第二阈值小于所述第一阈值;

S3:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S8;

S4:判断所述测试用例对应的自动化分值是否大于或等于预设的第三阈值,如果是,执行步骤S5,否则执行步骤S6,其中所述第三阈值小于所述第二阈值;

S5:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤S7,否则执行步骤S8;

S6:判断测试用例对应的自动化分值是否大于零,如果是,执行步骤S9,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S7:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S10;其中,所述平均工时根据判断所述测试用例为自动化测试用例的至少一个自动化测试专家提供的实现工时确定。

S8:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S9:判断所述测试用例对应的测试对应是否为核心业务模块,如果是,执行步骤10,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S10:根据所述至少一个自动化测试专家的评审结果,确定所述测试用例是否为自动化测试用例。

为了更加清楚的对判断测试用例是否为自动化测试用例的过程进行说明,下面结合图2至图5,分别对判断测试用例是否为自动化测试用例的方法进行分别说明。

首先判断测试用例对应自动化测试分值所属的范围,如图2所示,判断过程包括以下步骤:

步骤201:判断测试用例对应的自动化分值是否大于或等于预设的第一阈值,如果是,确定测试用例为自动化测试用例,否则执行步骤202;

步骤202:判断测试用例对应的自动化分值是否大于或等于预设的第二阈值,其中第二阈值小于第一阈值,如果是,确定自动化分值位于大于等于第二阈值且小于第一阈值的范围(对应图3中步骤301),否则执行步骤203;

步骤203:判断测试用例对应的自动化分值是否大于或等于预设的第三阈值,其中第三阈值小于第二阈值,如果是,确定自动化分值位于大于等于第三阈值且小于第二阈值的范围(对应图4中步骤401),否则执行步骤204;

步骤204:判断测试用例对应的自动化分值是否大于零,其中第三阈值大于零,如果是,确定自动化分值位于大于零且小于第三阈值的范围(对应图5中步骤501),否则确定测试用例为手动化测试用例。

当确定自动化分值位于大于等于第二阈值且小于第一阈值的范围时,进一步的处理过程如图3所示,包括如下步骤:

步骤301:确定自动化分值位于大于等于第二阈值且小于第一阈值的范围。

在本发明一个实施例中,预设的第一阈值为0.8,第二阈值为0.5,首先判断测试用例对应的自动化分值是否大于或等于0.8,如果是直接确定该测试用例为自动化测试用例;如果否,继续判断该测试用例对应的自动化分值是否大于或等于0.5,如果是则确定该测试用例对应的自动化分值位于大于等于0.5且小于0.8的范围。

步骤302:判断测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤304,否则执行步骤303。

在本发明一个实施例中,在确定该测试用例对应的自动化分值位于大于等于0.5且小于0.8的范围之后,进一步判断该测试用例的测试对象是否为待测试软件的核心业务模块,如果是确定该测试用例为自动化测试用例,相应地执行步骤304,否则执行步骤303。

步骤303:判断测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,执行步骤304,否则执行步骤305。

在本发明一个实施例中,在判断测试用例的测试对象为基础业务模块后,进一步判断该测试用例实现自动化的平均工时是否小于预设的标准工时,比如标准工时为4,如果判断结果为是,确定该测试用例为自动化测试用例,相应地执行步骤304,如果判断结果为否,确定该测试用例为手动化测试用例,相应地执行步骤305。其中,平均工时是根据判断该测试用例为自动化测试用例的各个自动化测试专家给出的实现工时计算而获得。

步骤304:确定测试用例为自动化测试用例,并结束当前流程。

步骤305:确定测试用例为手动化测试用例。

当确定自动化分值位于大于等于第三阈值且小于第二阈值的范围时,进一步的处理过程如图4所示,包括如下步骤:

步骤401:确定自动化分值位于大于等于第三阈值且小于第二阈值的范围。

在本发明一个实施例中,预设的第三阈值为0.2,在判断测试用例对应的自动化分值小于0.5后,继续判断该测试用例对应的自动化分值是否大于或等于0.2,如果是则确定该测试用例对应的自动化分值位于大于等于0.2且小于0.5的范围。

步骤402:判断判断测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤403,否则执行步骤406。

在本发明一个实施例中,在确定该测试用例对应的自动化分值位于大于等于0.2且小于0.5的范围之后,进一步判断该测试用例的测试对象是否为待测试软件的核心业务模块,如果是执行步骤403,否则执行步骤406。

步骤403:判断测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,执行步骤404,否则执行步骤405。

在本发明一个实施例中,在确定测试用例的测试对象为待测试软件的核心业务模块后,进一步判断该测试用例实现自动化的平均工时是否小于预设的标准工时,比如标准工时为4,如果判断结果为是,确定该测试用例为自动化测试用例,相应地执行步骤404,如果判断结果为否,相应地执行步骤405。

步骤404:确定测试用例为自动化测试用例,并结束当前流程。

步骤405:根据至少一个自动化测试专家的评审结果,确定测试用例是否为自动化测试用例,并结束当前流程。

在本发明一个实施例中,在判断测试用例满足如下三个条件后,由至少一个自动化测试专家对该测试用例进行进一步的评审,根据评审结果确定该测试用例是否为自动化测试用例;其中三个条件分别为:

条件1:对应的自动化分值位于大于等于第三阈值且小于第二阈值的范围;

条件2:对应的测试对象为待测试软件的核心业务模块;

条件3:对应的实现自动化的平均工时等于或等于预设的标准工时。

步骤406:判断测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,执行步骤404,否则执行步骤407。

在本发明一个实施例中,在判断测试用例满足如下三个条件后,确定该测试用例为自动化测试利用,相应地执行步骤404,否则确定该测试用例为手动化测试用例,相应地执行步骤407;其中所述的三个条件分别为:

条件1:对应的自动化分值位于大于等于第三阈值且小于第二阈值的范围;

条件2:对应的测试对象为待测试软件的基础业务模块;

条件3:对应的实现自动化的平均工时等于或等于预设的标准工时。

步骤407:确定测试用例为手动化测试用例。

当确定自动化分值位于大于零且小于第三阈值的范围时,进一步的处理过程如图5所示,包括如下步骤:

步骤501:确定自动化分值位于大于零且小于第三阈值的范围。

在本发明一个实施例中,在判断测试用例对应的自动化分值小于第三阈值(0.2)后,继续判断该测试用例对应的自动化分值是否大于零,如果是则确定该测试用例对应的自动化分值位于大于零且小于0.2的范围,否则直接确定该测试用例为手动化测试用例。

步骤502:判断测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤503,否则执行步骤504。

在本发明一个实施例中,在确定测试用例对应的自动化分值位于大于零且小于0.2的范围后,进一步判断该测试用例的测试对象是否为待测试软件的核心业务模块,如果是确定该测试用例为自动化测试用例,相应地执行步骤503,否则确定该测试用例为手动化测试用例,相应地执行步骤504。

步骤503:确定测试用例为自动化测试用例,并结束当前流程。

步骤504:确定测试用例为手动化测试用例。

在本发明一个实施例中,确定测试用例实现自动化的平均工时的过程包括如下操作:

获取至少一个自动化测试专家中判断测试用例为自动化测试测试用例的第一人数;

获取判断测试用例为自动化测试用例的各个自动化测试专家提供的针对该测试用例的实现工时;

根据获取到的第一人数及各个实现工时,通过如下公式二确定测试用例实现自动化的平均工时;

所述公式二包括:

其中,T为测试用例实现自动化的平均工时,Ti第i个判断测试用例为自动化测试用例的自动化测试专家提供过的针对于测试用例的实现工时,m为是至少一个自动化测试专家中判断测试用例为自动化测试用例的第一人数。

具体地,

在由判断一个测试用例为自动化测试用例的各个自动化测试专家给出该测试用例实现自动化的实现工时,计算各个自动化测试专家给出的实现工时的平均值,形成平均工时。由于自动化测试用例对软件功能进行测试的过程自动实现,所需的工时相对较少,通过平均工时进一步对有争议的测试用例进行判断,保证自动化测试用例集中尽可能包括更多的自动化测试用例,提供对软件进行测试的全面性;另外,还能够保证自动化测试用例集中所包括的测试用例具有较高的自动化率。

在本发明一个实施例中,在从自动化测试用例集中选择用于测试待测试软件的测试用例时,首先根据测试用例对应的自动化分值,按照自动化分值由大到小的顺序对自动化测试用例集中的测试用例进行排序;根据排序结果,按照从先到后的顺序从自动化测试用例集中选择至少一个测试用例,通过选择的测试用例对待测试软件的功能进行测试。由于测试用例对应的自动化分值越高,测试用例能够进行自动化测试的概率越大,根据自动化分值排序后选择自动化分值较大的测试用例对待测试软件进行测试,可以进一步保证对待测试软件进行测试的效率。

如图6所示,本发明一个实施例提供了一种对软件功能进行测试的装置,包括:获取单元601、计算单元602、判断单元603及测试单元604;

所述获取单元601,用于获取至少一个对应于待测试软件的测试用例,并确定所述待测试软件的核心业务模块及基础业务模块;

所述计算单元602,用于针对于所述获取单元601获取到的每一个所述测试用例,根据至少一个自动化测试专家的判断结果,确定所述测试用例对应的自动化分值;

所述判断单元603,用于针对于所述获取单元601获取到的每一个所述测试用例,根据所述计算单元602确定出的所述测试用例对应的自动化分值及测试对象,判断所述测试用例是否为自动化测试用例,其中所述测试对象包括所述获取单元601获取到的所述核心业务模块或使所述基础业务模块;

所述测试单元604,用于根据所述判断单元603的判断结果,获取判断结果为是的至少一个所述测试用例,形成自动化测试用例集;并从所述自动化测试用例集中选择至少一个测试用例,通过所选的测试用例对所述待测试软件的功能进行测试。

在本发明一个实施例中,所述计算单元602用于获取所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,以及获取所述至少一个自动化测试专家中判断所述测试用例为手动化测试用例的第二人数;并根据所述第一人数及所述第二人数,通过如下公式一确定所述测试用例对应的自动化分值;

所述公式一包括:

其中,所述P为所述测试用例对应的自动化分值,所述R1为所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,所述R2为所述至少一个自动化测试专家中判断所述测试用例为手动化测试用例的第二人数。

在本发明一个实施例中,所述判断单元603用于执行如下步骤:

S1:判断所述测试用例对应的自动化分值是否大于或等于预设的第一阈值,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S2;

S2:判断所述测试用例对应的自动化分值是否大于或等于预设的第二阈值,如果是,执行步骤S3,否则执行步骤S4,其中所述第二阈值小于所述第一阈值;

S3:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S8;

S4:判断所述测试用例对应的自动化分值是否大于或等于预设的第三阈值,如果是,执行步骤S5,否则执行步骤S6,其中所述第三阈值小于所述第二阈值;

S5:判断所述测试用例对应的测试对象是否为核心业务模块,如果是,执行步骤S7,否则执行步骤S8;

S6:判断测试用例对应的自动化分值是否大于零,如果是,执行步骤S9,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S7:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则执行步骤S10;其中,所述平均工时根据判断所述测试用例为自动化测试用例的至少一个自动化测试专家提供的实现工时确定。

S8:判断所述测试用例实现自动化的平均工时是否小于或等于预设的标准工时,如果是,确定所述测试用例为自动化测试用例,并结束当前流程,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S9:判断所述测试用例对应的测试对应是否为核心业务模块,如果是,执行步骤10,否则确定所述测试用例为手动化测试用例,并结束当前流程;

S10:根据所述至少一个自动化测试专家的评审结果,确定所述测试用例是否为自动化测试用例。

在本发明一个实施例中,所述判断单元603包括:平均工时计算子单元;

所述平均工时计算子单元,用于获取所述至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数,以及获取判断所述测试用例为自动化测试用例的每一个自动化测试专家提供的针对于所述测试用例的实现工时;并根据所述第一人数及各个所述实现工时,通过如下公式二确定所述测试用例实现自动化的平均工时;

所述公式二包括:

其中,所述T为所述测试用例实现自动化的平均工时,所述Ti第i个判断所述测试用例为自动化测试用例的自动化测试专家提供过的针对于所述测试用例的实现工时,所述m为是至少一个自动化测试专家中判断所述测试用例为自动化测试用例的第一人数。

在本发明一个实施例中,所述测试单元604包括:排序子单元及选择子单元;

所述排序子单元,用于根据所述测试用例对应的自动化分值,按照自动化分值由大到小的顺序对所述自动化测试用例集中的所述测试用例进行排序;

所述选择子单元,用于根据所述排序子单元的排序结果,按照从先到后的顺序从所述自动化测试用例集中选择至少一个测试用例。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供的对软件功能进行测试的方法及装置,至少具有如下有益效果:

1、获取至少一个对应于待测试软件的测试用例后,根据至少一个自动化测试专家的判断结果分别确定各个测试用例对应的自动化分值;针对于每一个测试用例,根据其对应的自动化分值及对应的测试对象,确定该测试用例是否为自动化测试用例;由确定为自动化测试用例的至少一个测试用例形成自动化测试用例集;从自动化测试用例集中选择至少一个测试用例对待测试软件的功能进行测试。根据自动化分值及测试对象来确定测试用例是否为自动化测试用例,可以保证确定出的自动化测试用例集中的测试用例具有较高的自动化率,进而通过自动化测试用例集中的测试用例对待测试软件的功能进行测试时,可以提高对软件功能进行测试的自动化程度,从而提高对软件功能进行测试的效率。

2、通过自动化测试专家的判断获取测试用例对应的自动化分值,将自动化分值作为判断测试用例是否为自动化测试用例的一个参数,通过这种类专家法评判测试用例可否进行自动化,将判断出的可进行自动化的测试用例作为一个自动化测试用例集,测试人员从自动化测试用例集中选择测试用例对软件的功能进行测试,将测试人员水平对于自动化测试用例选择的影响降到最低,保证所选的测试用例用例能够进行自动化测试,提高对软件功能进行测试的效率。

3、将测试用例的测试对象作为判断自动化测试用例的一个参数,由于待测试软件的核心业务模块是待测试软件的测试重点,当一个测试用例对应的自动化分值较低时,可以进一步判断该测试用例的测试对象是否为核心业务模块,如果是则进一步判断其是否为自动化测试用例。这样可以保证对核心业务模块测试的测试用例得到更加准确的判断,保证对核心业务模块进行测试的自动化测试用例能够添加到自动化测试用例集中,保证对软件核心业务模块进行能够测试的全面性。

4、如果一个测试用例的测试对象是核心业务模块,在根据自动化分值及平均工时判断该测试用例均不是自动化测试用例后,需要自动化测试专家进一步对该测试用例进行评审,根据评审的结果决定该测试用例是否为自动化测试用例。进一步保证对核心业务模块进行测试的自动化测试用例能够添加到自动化测试用例集中,保证对软件核心业务模块进行能够测试的全面性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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