CN117407318A - 一种基于物流系统质量监测的方法 - Google Patents

一种基于物流系统质量监测的方法 Download PDF

Info

Publication number
CN117407318A
CN117407318A CN202311614592.1A CN202311614592A CN117407318A CN 117407318 A CN117407318 A CN 117407318A CN 202311614592 A CN202311614592 A CN 202311614592A CN 117407318 A CN117407318 A CN 117407318A
Authority
CN
China
Prior art keywords
test
quality
logistics system
metadata
monitoring
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.)
Pending
Application number
CN202311614592.1A
Other languages
English (en)
Inventor
於成飞
郭玉安
张春伟
朱恺
刘汉龙
宋昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Truck Home Nanjing Technology Co ltd
Original Assignee
Truck Home Nanjing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Truck Home Nanjing Technology Co ltd filed Critical Truck Home Nanjing Technology Co ltd
Priority to CN202311614592.1A priority Critical patent/CN117407318A/zh
Publication of CN117407318A publication Critical patent/CN117407318A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)

Abstract

本发明涉及一种基于物流系统质量监测的方法,一种基于物流系统质量监测的方法,包括,建立元数据集,执行自动化变异算法,完善元数据集;执行接口自动化测试,使用元数据集中的参数作为自动化执行的数据入口;查看代码覆盖率执行情况,判断是否达到下一阶段的准入标准;若达到准入标准则查看自动化测试用例结果;本发明实现了对代码覆盖率数据的持久化,结合在测试准入阶段引入质量打分机制,可以有效控制产品阶段质量;自动化发散测试采用算法的方式发散生成测试数据集,增加了测试场景,同时也节省了测试人力的投入;在研发问题定位过程中,根据特定字符生成的链路试图可以精确的在日志中查询业务链路。

Description

一种基于物流系统质量监测的方法
技术领域
本发明属于物流系统质量监测技术领域,具体为一种基于物流系统质量监测的方法。
背景技术
现有代码覆盖率统计工具只支持收集服务端自定义时间段代码全量/增量覆盖率,提供html格式的可视化覆盖率报表,协助覆盖情况精准分析。在实际过程中,单独的覆盖率结果无法体现产品的质量,仅能作为反向推进功能用例场景覆盖的工具。
现有自动化测试能力:在预设条件下运行系统或者应用程序,评估运行结果,预先条件中包括正常条件和异常条件;自动化测试分为API(接口)和UI(用户界面)自动化测试。传统的自动化用例都是需要测试人员预置测试数据和断言的方式来进行运行特定场景的测试方式,这样容易会遗漏一些测试人员未设计到的场景。
链路日志全链路日志:集群部署环境中需要在不同的服务中查询一个逻辑或业务的走向,需要一个能唯一区分的值,于是打印日志时使用MDC(元数据控制器)在日志上添加一个全链路日志,使用全链路日志跨系统传递。实际使用场景中无法必须根据特定研发展示的字段或者方法来确定全链路日志的值,无法做到快速精确查询。
测试建模:目前测试建模主要以梳理业务模型为主,无法实现与自动化测试进行关联。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于现有技术中存在以下技术问题:现有没有通用的质量监测平台,更不存在基于物流监测系统的质量管控平台,只有通过一些零散的质量保障工具进行质量控制,如自动化测试,代码覆盖率,链路日志跟踪以及测试模型建立,没有办法说明产品的质量。
为解决上述技术问题,本发明提供如下技术方案:一种基于物流系统质量监测的方法,包括,
建立元数据集,
执行自动化变异算法,完善元数据集;
执行接口自动化测试,使用元数据集中的参数作为自动化执行的数据入口;
查看代码覆盖率执行情况,判断是否达到下一阶段的准入标准;
若达到准入标准则查看自动化测试用例结果。
作为一种基于物流系统质量监测的方法的优选技术方案,所述完善元数据集包括:
定义基础元数据,
将元数据中业务强相关字段加上标签,
根据特定的业务和数据格式要求,编写变异数据的算法;
将生成结果集存储到元数据集中。
作为一种基于物流系统质量监测的方法的优选技术方案,所述编写变异数据的算法包括:
结合字段中特殊的业务场景和数据格式限制编写。
作为一种基于物流系统质量监测的方法的优选技术方案,所述代码覆盖率执行情况包括:
为全量代码覆盖率制定打分机制:
结果分数=(核心模块的代码覆盖率*0.8+其他模块的代码覆盖率*0.2)*100。
作为一种基于物流系统质量监测的方法的优选技术方案,查看自动化测试用例结果包括:
若测试结果没有缺陷,且覆盖率达到下一阶段准入标准,操作完成;
若存在异常则分析异常原因并修复后重新执行自动化测试。
作为一种基于物流系统质量监测的方法的优选技术方案,所述分析异常原因包括:
获取失败用例中的标签关键字,
生成全链路日志,利用全链路日志查看节点走向,定位异常节点;
进入该服务器利用全链路日志进行日志分析和问题定位。
作为一种基于物流系统质量监测的方法的优选技术方案,所述变异算法包括:
随机变异,随机改变测试用例的输入参数;
或有规则的变异,根据业务逻辑和需求,有目的地改变测试用例的参数;
或边界值分析,针对输入参数的边界值进行变异;
或组合变异,对多个参数的组合进行变异。
作为一种基于物流系统质量监测的方法的优选技术方案,依据最小化实现原则,将相关自动化用例归类到相应的模型节点中;
回归测试时,根据研发修改问题影响业务范围,执行指定模型节点用例,精准回归。
作为一种基于物流系统质量监测的方法的优选技术方案,准入标准为:冒烟测试准入分数为40分,第一轮测试准入分数为50分,第二轮测试准入分数为60分,集成测试准入分数为70分;
本发明的有益效果:本发明实现了对代码覆盖率数据的持久化,结合在测试准入阶段引入质量打分机制,可以有效控制产品阶段质量;自动化发散测试采用算法的方式发散生成测试数据集,增加了测试场景,同时也节省了测试人力的投入;在研发问题定位过程中,根据特定字符生成的链路试图可以精确的在日志中查询业务链路。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明中的整体流程框架示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
再其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
实施例1
参照图1,本实施例提供了一种基于物流系统质量监测的方法,包括,
建立元数据集,元数据主要用来存储变异算法生成的测试数据,作为自动化测试传参数据集,其中和物流行业相关的特定字段会加上标签,用来生成全链路日志(traceid)。
执行自动化变异算法,完善元数据集;
执行接口自动化测试,使用元数据集中的参数作为自动化执行的数据入口;
查看代码覆盖率执行情况,判断是否达到下一阶段的准入标准;
若达到准入标准则查看自动化测试用例结果。
应说明的是,本发明针对现有技术中存在的下属问题进行改进方案解决:
1、当前业内普遍使用superjacoco和其衍生工具进行代码覆盖率的统计,但是单纯的代码覆盖率无法反馈产品的质量,为了让覆盖率能够达到质量要求,对于集群部署的环境需要测试人员制定一套规则和打分机制,针对每轮测试都需要制定一个准入的分值条件;在实际使用过程中,被测环境是分布式部署模式会导致统计的覆盖率不全;superjacoco工具在使用的过程中如果出现被测服务器重启的情况,会清空之前统计的覆盖率。
2、物流行业系统相对复杂,且基础用户量大,而传统的自动化测试只是测试人员预置数据验证功能,这样自动化在执行过程中只能作为一个回归验证的工具,局限了自动化给软件产品质量提升带来的作用。
3、全链路日志问题:物流软件行业具有软件特殊性,在集群环境下如果需要根据某个特定字符(车牌号,车架号,身份证号码登)定位问题,传统的全链路日志只具备通用性,不能根据全链路日志进行自定义标记,在排查问题的时候不利于研发测试人员快速定位问题。
4、测试建模:基于业务场景的测试建模只能实现协助测试人员梳理业务场景;物流行业系统的系统复杂度高,回归验收阶段,如果可以将测试模型中的场景结合自动化运行,将会有效提升测试回归效率。
具体改进方案为:
1.基于superjacoco的使用,为了让superjacoco作为一个质量准入标准,给全量代码覆盖率制定一套具体的打分机制。具体分数=(核心模块的代码覆盖率*0.8+其他模块的代码覆盖率*0.2)*100,冒烟测试准入分数为40分,第一轮测试准入分数为50分,第二轮测试准入分数为60分,集成测试准入分数为70分;针对分布式部署环境覆盖率数据统计需要修改修改工具代码,增加合成不同服务统计结果的入口,整合报告;另外覆盖率结果数据持久化需要将每一次执行的结果复制到特定目录中,最终生成报告的时候将持久化的数据与当前统计结果数据整合,得出最后的覆盖率结果。
2.自动化发散测试问题解决方法:自动化发散测试主要是数据传参具有自主变异的能力,通过特定的算法可以将变异数据存储到元数据集中,自动化运行之后从元数据集中获取传参数据,这样能自动丰满自动化测试的场景,减少了人工预置场景的工作,发散数据不可控性可以生成一些人工无法设计到的场景。自动化测试结束完成,将自动化执行结果中执行错误的测试用例过滤出,测试人员将其中符合场景补充需要的测试用例补充到基础自动化测试用例库中。
3.全链路日志问题解决方法:物流行业有业务场景特殊性,在微服务架构中需要根据某些行业特定标签(车牌号,车架号,人员身份证等)生成全链路日志,排查问题的时候可以利用全链路日志结合APM平台可以实现对单用户或数据进行监控和追踪。
4.测试建模关联自动化测试用例问题:在使用Graphviz建模的时候,根据业务最小化实现的原则,将相关自动化用例归类到相应的模型节点中,回归测试时,可以根据研发修改问题影响业务范围,执行指定模型节点用例,实现精准回归。
系统执行流程步骤如下:
定义基础元数据,并将其中业务强相关字段加上标签,再根据特定的业务和数据格式要求,编写变异数据的算法,并且将生成结果集存储到元数据集中;在编写变异数据算法的时候,需要结合该字段特殊的业务场景和数据格式限制,如果不对算法进行限制,会生成大量无意义测试数据,增加了用例执行时间且对丰富场景没有任何意义;测试人员回归验收测试时,可以根据研发代码修改范围,执行指定模块关联的测试用例,实现进准回归测试。
自动化测试执行后当代码覆盖率结果满足下一步流程的准入条件之后停止自动化测试执行。
测试结果分析可以根据自动化测试结果来正向分析,正向分析根据自动化测试结果中的失败的测试用例来进行分析,具体操作为将失败用例中的标签关键字获取出来,再本地生成全链路日志,利用该全链路日志到APM平台上查看节点走向,定位到异常节点之后进入该服务器利用全链路日志进行日志分析和问题定位。
在测试结果分析完成之后根据测试结果进行判断当前版本是否具备进入下一步测试环节的条件。如果测试结果分析没有要修复的问题,则流程可以进入下一步的环节;如果解释结果分析有必须要修复的问题,则修复完成之后需要将上面步骤重新执行,直到代码覆盖率和测试结果都满足要求才可以进入下一步测试环节。
具体流程图见图1。
所述变异算法包括:
随机变异,随机改变测试用例的输入参数;
或有规则的变异,根据业务逻辑和需求,有目的地改变测试用例的参数;
或边界值分析,针对输入参数的边界值进行变异;
或组合变异,对多个参数的组合进行变异。
具体的,本发明提到的变异算法主要分为四类,一般会根据用例实际的情况来进行使用并生成测试元数据集:
(1)随机变异:随机改变测试用例的输入参数,包括输入数据、边界条件、无效数据等,以模拟各种不同的情况。
定义一个原始的测试用例original_test_case,然后定义了一个mutate_test_case函数,用于对输入参数进行随机变异,并调用原始测试用例来执行变异后的参数。
(2)有规则的变异:根据业务逻辑和需求,有目的地改变测试用例的参数,例如针对特定的业务流程、特定的用户角色等进行参数变异;
定义一个原始的测试用例test_result,然后定义了一个test_result_mutate函数,用于根据业务逻辑和需求对输入参数进行有规则的变异,并调用原始测试用例来执行变异后的参数。在test_result_mutate函数中,我们根据具体的业务逻辑,对输入参数进行了有规则的变异,例如当参数小于0时将参数变异为0,否则将参数乘以2。
(3)边界值分析:针对输入参数的边界值进行变异,以测试系统在边界条件下的稳定性和正确性。
定义一个原始的测试用例test_case,然后定义了一个boundary_value_mutate函数,用于对输入参数进行边界值分析的变异,并调用原始测试用例来执行变异后的参数。在boundary_value_mutate函数中,我们针对输入参数的边界值进行了变异,例如当参数为0时,将参数变异为1;当参数为100时,将参数变异为99。
(4)组合变异:对多个参数的组合进行变异,以测试系统在不同参数组合下的表现:
定义一个原始的测试用例test_case,它接受两个参数。然后定义了一个combination_mutate函数,用于对输入参数进行组合变异,并调用原始测试用例来执行变异后的参数。在combination_mutate函数中,我们对输入的两个参数进行了不同的变异操作,例如对第一个参数进行了乘以2的变异,对第二个参数进行了加10的变异。
所述自动化测试还包括测试建模:
依据最小化实现原则,将相关自动化用例归类到相应的模型节点中;
回归测试时,根据研发修改问题影响业务范围,执行指定模型节点用例,精准回归。
具体的,本发明还要求:
变异算法需要结合字段特定的业务场景要求和字符限制,由于新增的元数据可能会在元数据集中已经存在,因此为了保证数据key的唯一性,需要保证key不重复。
需要研发保证提交的代码中不包含垃圾代码或废弃代码,垃圾代码在统计覆盖率中没有任何意义,而且会拉低代码覆盖率的分数。
需要保证本地生成全链路日志的算法和业务系统中生成全链路日志的算法一样,在遇到问题需要排查的时候,可以利用本地的算法+关键字标签生成的全链路日志对问题进行跟踪排查。
本次流程涉及到的代码覆盖率统计为全量代码覆盖率统计,增量统计部分用作于日常测试用例补充。
本发明中二开代码覆盖率统计工具,实现了对代码覆盖率数据的持久化,结合在测试准入阶段引入质量打分机制,可以有效控制产品阶段质量。
自动化发散测试采用算法的方式发散生成测试数据集,增加了测试场景,同时也节省了测试人力的投入。
在研发问题定位过程中,根据特定字符生成的全链路日志可以精确的在日志中查询业务链路。
基于最小场景测试建模,研发修改代码评估完最小影响范围,可以让测试在回归验证的时候基于最小范围内的测试模型进行自动化验证,节省了回归验收的人力和时间。自动化测试元数据集的获取可以不采用算法生成的方式,可以通过流量录制抓取的方式来生成元数据集。
本发明的优点在于:引入代码覆盖率打分机制来制定产品质量标准,作为产品准入准出的条件的方法;使用变异脚本生成元数据集,作为自动化测试入口数据的方法;使用物流行业特有关键词生成全链路日志的方法;将自动化用例关联到测试模型,达到实现精准回归的方法。
应理解的是,在任何实际实施方式的开发过程中,如在任何工程或设计项目中,可做出大量的具体实施方式决定。这样的开发努力可能是复杂的且耗时的,但对于那些得益于此公开内容的普通技术人员来说,不需要过多实验,所述开发努力将是一个设计、制造和生产的常规工作。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

1.一种基于物流系统质量监测的方法,其特征在于:包括,
建立元数据集,
执行自动化变异算法,完善元数据集;
执行接口自动化测试,使用元数据集中的参数作为自动化执行的数据入口;
查看代码覆盖率执行情况,判断是否达到下一阶段的准入标准;
若达到准入标准则查看自动化测试用例结果。
2.根据权利要求1所述的基于物流系统质量监测的方法,其特征在于:
所述完善元数据集包括:
定义基础元数据,
将元数据中业务强相关字段加上标签,
根据特定的业务和数据格式要求,编写变异数据的算法;
将生成结果集存储到元数据集中。
3.根据权利要求1或2所述的基于物流系统质量监测的方法,其特征在于:所述编写变异数据的算法包括:
结合字段中特殊的业务场景和数据格式限制编写。
4.根据权利要求3所述的基于物流系统质量监测的方法,其特征在于:
所述代码覆盖率执行情况包括:
为全量代码覆盖率制定打分机制:
结果分数=(核心模块的代码覆盖率*0.8+其他模块的代码覆盖率*0.2)*100。
5.根据权利要求4所述的基于物流系统质量监测的方法,其特征在于:
查看自动化测试用例结果包括:
若测试结果没有缺陷,且覆盖率达到下一阶段准入标准,操作完成;
若存在异常则分析异常原因并修复后重新执行自动化测试。
6.根据权利要求5所述的基于物流系统质量监测的方法,其特征在于:
所述分析异常原因包括:
获取失败用例中的标签关键字,
生成全链路日志,利用全链路日志查看节点走向,定位异常节点;
进入该服务器利用全链路日志进行日志分析和问题定位。
7.根据权利要求4~6任一所述的基于物流系统质量监测的方法,其特征在于:所述变异算法包括:
随机变异,随机改变测试用例的输入参数;
或有规则的变异,根据业务逻辑和需求,有目的地改变测试用例的参数;
或边界值分析,针对输入参数的边界值进行变异;
或组合变异,对多个参数的组合进行变异。
8.根据权利要求7所述的基于物流系统质量监测的方法,其特征在于:
所述自动化测试还包括测试建模:
依据最小化实现原则,将相关自动化用例归类到相应的模型节点中;
回归测试时,根据研发修改问题影响业务范围,执行指定模型节点用例,精准回归。
9.根据权利要求8所述的基于物流系统质量监测的方法,其特征在于:
准入标准为:冒烟测试准入分数为40分,第一轮测试准入分数为50分,第二轮测试准入分数为60分,集成测试准入分数为70分。
CN202311614592.1A 2023-11-29 2023-11-29 一种基于物流系统质量监测的方法 Pending CN117407318A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311614592.1A CN117407318A (zh) 2023-11-29 2023-11-29 一种基于物流系统质量监测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311614592.1A CN117407318A (zh) 2023-11-29 2023-11-29 一种基于物流系统质量监测的方法

Publications (1)

Publication Number Publication Date
CN117407318A true CN117407318A (zh) 2024-01-16

Family

ID=89498162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311614592.1A Pending CN117407318A (zh) 2023-11-29 2023-11-29 一种基于物流系统质量监测的方法

Country Status (1)

Country Link
CN (1) CN117407318A (zh)

Similar Documents

Publication Publication Date Title
CN111209131B (zh) 一种基于机器学习确定异构系统的故障的方法和系统
CN110287052B (zh) 一种异常任务的根因任务确定方法及装置
US7234131B1 (en) Peer review evaluation tool
CN109784758B (zh) 基于bim模型的工程质量监管预警系统和方法
van Genuchten et al. Using group support systems for software inspections
CN114757468B (zh) 一种面向流程挖掘中流程执行异常的根源分析方法
CN111752833B (zh) 一种软件质量体系准出方法、装置、服务器及存储介质
CN115114064B (zh) 一种微服务故障分析方法、系统、设备及存储介质
CN114880312B (zh) 一种可柔性设置的应用系统业务数据稽核方法
CN113780723A (zh) 一种多媒体内容评估质检的方法、系统与设备
CN117669484A (zh) 一种芯片仿真日志检查方法、装置及可读介质
CN112527655A (zh) 软件版本质量异常检测方法、装置、电子设备及存储介质
CN117407318A (zh) 一种基于物流系统质量监测的方法
JP3195031B2 (ja) テスト仕様生成方法及び半導体装置検査装置及び半導体装置検査方法
CN112612882B (zh) 检阅报告生成方法、装置、设备和存储介质
CN112035364B (zh) 功能测试结果评估方法及装置
CN114662981A (zh) 基于大数据应用的污染源企业监管方法
CN114116470A (zh) 一种自动化的静态模型检查方法及装置
CN113609698A (zh) 一种基于工艺故障数据库的工艺可靠性分析方法及系统
CN116150737B (zh) 一种软件开发过程中一站式安全测试和管理的方法及系统
CN113360306B (zh) 一种机载信息系统的故障实时检测方法
CN116302762B (zh) 一种基于红蓝对抗的故障定位应用的评测方法与系统
CN113434408B (zh) 一种基于测试预言的单元测试用例排序方法
CN117520145A (zh) 一种低代码组装式接口自动化混合场景测试方法
CN117971546A (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