首页> 中国专利> 基于银行微服务的软件测试分析方法

基于银行微服务的软件测试分析方法

摘要

本发明涉及基于银行微服务的软件测试分析方法,包括:A.根据银行的产品、用户群体和银行系统的架构,将银行系统的测试分析分为四个对象维度:产品场景层、用户场景层、微服务层和接口层;B.将各层的功能逻辑全部分解成最小单元,并整理出所有的测试点,将所述各层中的测试点按形成父/子节点后分别建立元素层级树;C.根据实际测试需求确定需要建立的测试分析模型的种类;D.根据确定的测试分析模型的种类,将各元素层级树下的节点交叉组合,用以形成对应的测试分析模型。本发明能够在目前银行软件系统数量庞大、业务逻辑复杂情况下使测试分析更加容易,并且能够全面覆盖测试需求,对测试范围能够进行很好的评估。

著录项

  • 公开/公告号CN111309637A

    专利类型发明专利

  • 公开/公告日2020-06-19

    原文格式PDF

  • 申请/专利权人 四川新网银行股份有限公司;

    申请/专利号CN202010408756.5

  • 发明设计人 彭川;

    申请日2020-05-14

  • 分类号

  • 代理机构成都智言知识产权代理有限公司;

  • 代理人濮云杉

  • 地址 610094 四川省成都市成都高新区吉泰三路8号1栋1单元26楼1-8号

  • 入库时间 2023-12-17 10:08:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-21

    授权

    授权

  • 2020-07-14

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20200514

    实质审查的生效

  • 2020-06-19

    公开

    公开

说明书

技术领域

本发明涉及软件测试的分析方法,具体讲是基于银行微服务的软件测试分析方法。

背景技术

软件测试分析,即针对已经开发完成的软件系统,在开始进行软件测试工作前,对被测软件系统进行的各种分析准备工作,以确保软件系统能够被更彻底、更高效地测试,从而提高软件系统的质量。

目前的软件测试分析工作,主要是基于软件系统本身要实现的每个功能进行分析,分析各功能交互时的测试特性、测试注意点、确认测试项,再将所有功能的测试分析点汇总起来形成该软件系统的整体测试分析内容。当前的这种软件测试分析方法简单易理解、易上手、门槛低,适合软件功能业务逻辑不太复杂的中小型软件系统,而一旦软件系统功能的业务逻辑变的复杂,或该功能涉及多个软件系统时,这种分析方法就会耗费大量人力和时间,且工作量巨大,最主要的是新老功能交替上线,内部逻辑就会越来越复杂,很难进行梳理分析,一旦分析遗漏,就会导致后期测试执行遗漏,从而上线后出现生产质量缺陷。

另外,目前较多的银行金融机构跟随互联网趋势,内部软件系统架构都开始采用分布式部署方式,众多业务功能被拆分为多个小的微服务功能模块,软件功能颗粒度更细了,系统灵活度更强了,开发工作更高效了,但随之而来增加了系统内部各微服务模块之间的交互逻辑、测试验证点也更多了,系统内外部交互逻辑更加复杂了,银行业务本身就有一定的专业性,不容易理解,这就使得微服务化后的银行软件系统的功能测试范围和影响程度更加不易分析。

发明内容

本发明提供了一种基于银行微服务的软件测试分析方法,以解决目前银行软件系统数量庞大、业务逻辑复杂情况下测试分析难、需求覆盖率低、影响范围难以评估的问题。

本发明基于银行微服务的软件测试分析方法,包括:

A.根据银行的产品、用户群体和银行系统的架构,将银行系统的测试分析分为四个对象维度:产品场景层、用户场景层、微服务层和接口层,其中,产品场景层用于描述产品和产品场景,用户场景层用户描述各用户群体和用户行为场景,微服务层包含了根据银行系统架构设计文档搭建的所有微服务模块,接口层包含了银行系统底层接口设计文档中的所有接口;

B.将产品场景层、用户场景层、微服务层和接口层的功能逻辑全部分解成最小单元,并根据所有最小单元对所有需要进行测试的测试点进行整理,将所述各层中的测试点按照各测试点之间的逻辑先后关系形成父/子节点后,分别建立产品场景层元素层级树、用户场景层元素层级树、微服务层元素层级树和接口层元素层级树;

C.根据银行系统的产品、用户和/或系统架构的实际测试需求,确定需要建立的测试分析模型的种类;

D.根据确定的测试分析模型的种类,将所述4个元素层级树下的各个节点进行交叉组合,确保对该测试分析模型种类要实现的所有业务和系统功能的全覆盖,用以形成符合该测试分析模型种类的测试分析模型。

本发明是根据银行开展的业务产品、用户群体、银行系统架构等特点,将整个银行系统的测试分析工作分为四个对象维度:产品场景、用户场景、微服务、底层接口。然后将每个对象的功能逻辑全部打散,分别对每个对象的测试点进行确定,并建立父/子节点元素层级树。再根据银行系统的具体业务需求,对上述4个对象的元素层级树进行交叉组合,可以根据多个维度来建立相应的模型,如银行经营的各种产品、银行各类用户客群、横向系统功能改造、底层技术改造等。通过本发明的分析方法建立的测试模型,后续在新的业务需求、系统功能需要测试时,可以根据之前建立的模型标签分类快速进行对接,完成测试,几乎不用再额外投入工作量;对于一些特殊改造的功能,利用所述的四个对象的元素层级树,也可以实现快速确定影响范围、测试范围;对于其他某些不好进行维度区分建立模型的测试任务,也可以根据元素层级树,进行灵活自由的测试分析点的组合,极大的提升了测试效率和测试覆盖率,从而提升软件系统的测试质量。

进一步的,步骤B中建立产品场景层元素层级树时,包括:

B11.根据银行业务中所有的产品种类和产品属性,确定所有的产品;

B12.由于不同产品的业务场景可能会存在相同,因此将所有产品中重复的产品场景去重,得到银行业务所有的产品场景;

B13.根据所有的产品场景,确定每个产品场景下涉及的系统功能测试点,最终使所有的系统功能测试点覆盖银行所有产品的所有场景,根据各系统功能测试点的业务逻辑关系建立父/子节点关系,形成产品场景层元素层级树。

进一步的,步骤B中建立用户场景层元素层级树时,包括:

B21.对银行业务面对的客户群体分类,例如将客户群体按照年龄、学历、职业、薪资、工作城市、商业圈等类型分类,确定所有的用户类型;

B22.由于不同类型的用户,用户行为会存在相同,因此将所有用户类型中重复的用户行为场景去重,得到银行业务所有的用户行为场景;

B23.根据所有的用户行为场景,确定每个用户行为场景下涉及的系统功能测试点,最终使所有的系统功能测试点覆盖银行所有客户群体的所有用户行为场景,根据各系统功能测试点的业务逻辑关系建立父/子节点关系,形成用户行为场景层元素层级树。

进一步的,步骤B中建立微服务层元素层级树时,根据每个微服务模块的功能逻辑,确定每个微服务模块的系统功能测试点和系统内外部微服务交互逻辑测试点,并最终覆盖银行系统所有微服务的所有功能测试点和系统内外部微服务交互逻辑测试点,根据各测试点的业务逻辑关系建立父/子节点关系,形成微服务层元素层级树。

进一步的,步骤B中建立接口层元素层级树时,确定银行系统的所有底层接口和内外部接口交互调用逻辑测试点,以及每个底层接口对应的入参和返回值,并最终覆盖银行系统所有接口的所有功能逻辑测试点,根据各功能逻辑测试点的逻辑关系建立父/子节点关系,形成接口层元素层级树。

进一步的,步骤D中所述的将所述4个元素层级树下的各个节点进行交叉组合,是根据确定的测试分析模型的种类,结合该测试分析模型需要实现的目标和所述的4个元素层级树,对需要用到的不同的元素层级树下的元素相互逐一进行正交组合,形成一个新的测试分析元素集;然后对该新的测试分析元素集进行元素核对,使该新的测试分析元素集能够全面覆盖所述测试分析模型要实现的所有业务和系统功能测试点。

本发明基于银行微服务的软件测试分析方法,能够在目前银行软件系统数量庞大、业务逻辑复杂情况下使测试分析更加容易,并且能够全面覆盖测试需求,对测试范围能够进行很好的评估。同时,还具有以下有益效果:

1、通过建立元素层级树,能够根据银行自身的产品、系统等特点,进行快速的增、删、改、查,以及能够对元素层级树根据需求进行无限可扩展。

2、能够根据银行的实际测试需要,通过对元素层级树的元素进行多维度灵活调整组装,建立多个不同的测试分析模型。

3、本发明可以广泛用于指导功能测试、自动化测试、单元测试、集成测试、性能测试等,以及可直接用作测试案例。

以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。

附图说明

图1为本发明基于银行微服务的软件测试分析方法的流程图。

具体实施方式

如图1所示本发明的基于银行微服务的软件测试分析方法,包括:

A.根据银行的产品、用户群体和银行系统的架构,将银行系统的测试分析分为四个对象维度:产品场景层、用户场景层、微服务层和接口层,其中,产品场景层用于描述产品和产品场景,用户场景层用户描述各用户群体和用户行为场景,微服务层包含了根据银行系统架构设计文档搭建的所有微服务模块,接口层包含了银行系统底层接口设计文档中的所有接口。除了以上四个对象维度,也可以根据每个金融机构的特征、产品、用户、科技系统建设、流程等的不同,进行相应的设置。

B.将产品场景层、用户场景层、微服务层和接口层的功能逻辑全部分解成最小单元,并根据所有最小单元对所有需要进行测试的测试点进行整理,将所述各层中的测试点按照各测试点之间的逻辑先后关系形成父/子节点后,分别建立产品场景层元素层级树、用户场景层元素层级树、微服务层元素层级树和接口层元素层级树。其中:

(1)建立产品场景层元素层级树时,包括:

B11.根据银行业务中所有的产品种类和产品属性,确定所有的产品;

B12.由于不同产品的业务场景可能会存在相同,因此将所有产品中重复的产品场景去重,得到银行业务所有的产品场景,例如银行业务的所有产品场景有:A1、A2、A3…等;

B13.根据所有的产品场景,确定每个产品场景下涉及的系统功能测试点,例如系统功能测试点包括有A1-1、A1-2、A1-3…、A2-1、A2-2、A2-3…、A3-1、A3-2、A3-3…等,最终使所有的系统功能测试点覆盖银行所有产品的所有场景,根据各系统功能测试点的业务逻辑关系建立父/子节点关系,形成产品场景层元素层级树。

例如:一个银行经营的产品有:产品1(产品场景有A2、A3、A4、A5)、产品2(产品场景有A1、A2、A3)、产品3(产品场景有A2、A3、A5),则该银行所有产品的所有场景就是A1、A2、A3、A4、A5,再分别对每个产品场景下涉及的功能逻辑测试点进行整理,例如其中一个银行产品有个产品场景是“提前还款”场景,则需要确定在“提前还款”后,系统需要验证哪些页面、数据库表、字段,日志输出、相关本金和利息等金额、还款计划数据、短信发送等是否都正确。

(2)建立用户场景层元素层级树时,包括:

B21.对银行业务面对的客户群体分类,例如将客户群体按照年龄、学历、职业、薪资、工作城市、商业圈等类型分类,确定所有的用户类型;

B22.由于不同类型的用户,用户行为会存在相同,因此将所有用户类型中重复的用户行为场景去重,得到银行业务所有的用户行为场景,例如所有的用户行为场景包括:B1、B2、B3…等;

B23.根据所有的用户行为场景,确定每个用户行为场景下涉及的系统功能测试点,例如包括B1-1、B1-2、B1-3…、B2-1、B2-2、B2-3…、B3-1、B3-2、B3-3…等系统功能测试点,最终使所有的系统功能测试点覆盖银行所有客户群体的所有用户行为场景,根据各系统功能测试点的业务逻辑关系建立父/子节点关系,形成用户行为场景层元素层级树。

例如:一个银行的客户群体有:客群1(用户行为场景有B2、B3、B4、B5)、客群2(用户行为场景有B1、B2、B3)、客群3(用户行为场景有B2、B3、B5),则该银行所有客户群体的所有用户行为场景就是B1、B2、B3、B4、B5,再分别对每个用户行为场景下涉及的功能逻辑测试点进行梳理,例如一个用户行为场景是“当天借款当天又去还款”,则需要确定用户进行此行为操作后,系统需要验证哪些页面、数据库表、字段,日志输出、相关本金和利息等金额、还款计划数据、短信发送等是否都正确。

(3)建立微服务层元素层级树时,根据每个微服务模块(如包括微服务C1、C2、C3…等微服务模块)的功能逻辑,确定每个微服务模块的系统功能测试点和系统内外部微服务交互逻辑测试点,例如包括C1-1、C1-2、C1-3…、C2-1、C2-2、C2-3…、C3-1、C3-2、C3-3…等系统功能测试点和系统内外部微服务交互逻辑测试点,并最终覆盖银行系统所有微服务的所有功能测试点和系统内外部微服务交互逻辑测试点,根据各测试点的业务逻辑关系建立父/子节点关系,形成微服务层元素层级树。

(4)建立接口层元素层级树时,确定银行系统的所有底层接口和内外部接口交互调用逻辑测试点,例如所有接口包括D1、D2、D3…等,以及每个底层接口对应的入参和返回值,并最终覆盖银行系统所有接口的所有功能逻辑测试点,例如D1-1、D1-2、D1-3…、D2-1、D2-2、D2-3…、D3-1、D3-2、D3-3…等,根据各功能逻辑测试点的逻辑关系建立父/子节点关系,形成接口层元素层级树。

C.根据银行系统的产品、用户和/或系统架构的实际测试需求,确定需要建立的测试分析模型的种类。实际测试需求可以包括多种维度,例如:

业务产品维度:XX产品测试分析模型、XX类业务测试分析模型、XX流程测试分析模型…等;

用户群体行为维度:XX年龄段用户行为测试分析模型、XX职业用户行为测试分析模型、XX区域用户行为测试分析模型…等;

系统功能维度:XX系统功能测试分析模型…等;

用户+产品维度:XX产品XX年龄段测试分析模型、XX职业XX产品测试分析模型…等。

D.根据确定的测试分析模型的种类,将所述4个元素层级树下的各个节点进行交叉组合,根据确定的测试分析模型的种类,结合该测试分析模型需要实现的目标和所述的4个元素层级树,对需要用到的不同的元素层级树下的元素相互逐一进行正交组合,形成一个新的测试分析元素集;然后对该新的测试分析元素集进行元素核对,使该新的测试分析元素集能够全面覆盖所述测试分析模型要实现的所有业务和系统功能测试点。通过确定测试分析模型的种类,形成符合该测试分析模型种类的测试分析模型。

例如:确定了要建立一个XX产品测试分析模型,根据对所述四个元素层级树的分析,得出该产品涉及产品场景A1和A2,用户场景B1和B2,微服务C1和C2,接口D1和D2。再确定出A1、A2、B1、B2、C1、C2、D1、D2在各自元素层级树下包含的测试分析元素:A1-1、A1-2、A1-3;A2-1、A2-2、A2-3;B1-1、B1-2、B1-3;B2-1、B2-2、B2-3;C1-1、C1-2、C1-3;C2-1、C2-2、C2-3;D1-1、D1-2、D1-3;D2-1、D2-2、D2-3。然后将不同的元素层级树下的元素逐一进行正交组合设计,形成一个新的测试分析元素集,最后对该元素集进行元素核对,以确保对该模型要实现的所有业务需求/系统功能测试点达到全面覆盖,最终形成XX产品测试分析模型。

本实施例根据银行开展的业务产品、用户群体、银行系统架构等特点,将整个银行系统的测试分析工作分为四个对象维度:产品场景、用户场景、微服务、底层接口。然后将每个对象的功能逻辑全部打散,分别对每个对象的测试点进行确定,并建立父/子节点元素层级树。再根据银行系统的具体业务需求,对上述4个对象的元素层级树进行交叉组合,可以根据多个维度来建立相应的模型,如银行经营的各种产品、银行各类用户客群、横向系统功能改造、底层技术改造等。通过本实施例的分析方法建立的测试模型,后续在新的业务需求、系统功能需要测试时,可以根据之前建立的模型标签分类快速进行对接,完成测试,几乎不用再额外投入工作量;对于一些特殊改造的功能,利用所述的四个对象的元素层级树,也可以实现快速确定影响范围、测试范围;对于其他某些不好进行维度区分建立模型的测试任务,也可以根据元素层级树,进行灵活自由的测试分析点的组合,极大的提升了测试效率和测试覆盖率,从而提升软件系统的测试质量。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号