CN110188036A - 一种软件测试方法及装置 - Google Patents
一种软件测试方法及装置 Download PDFInfo
- Publication number
- CN110188036A CN110188036A CN201910390285.7A CN201910390285A CN110188036A CN 110188036 A CN110188036 A CN 110188036A CN 201910390285 A CN201910390285 A CN 201910390285A CN 110188036 A CN110188036 A CN 110188036A
- Authority
- CN
- China
- Prior art keywords
- test
- response message
- interface
- request
- field
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012360 testing method Methods 0.000 claims abstract description 480
- 230000004044 response Effects 0.000 claims abstract description 115
- 238000012545 processing Methods 0.000 claims description 29
- 230000007547 defect Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013522 software testing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000009227 behaviour therapy Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001575 pathological effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
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)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及金融科技技术领域,尤其涉及一种软件测试方法及装置,用以简化测试过程,提高测试效率。本发明实施例包括:获取用户上传的第一测试数据;根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据;根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;获取所述测试版本基于所述测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;比较所述第一响应报文与所述第二响应报文,确定测试结果。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种软件测试方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,软件测试技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
自动化测试一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或系统资源,提高测试效率,便引入了自动化测试的概念。
但是,现有技术中,为测试各种测试案例,每次测试还需要手工触发报文运行接口,并人工校验结果的正确性,效率低下耗时长,不符合自动化测试理念;另外,由于测试场景和接口众多,导致测试案例的数据成对数关系增长,某个小的改动点,都需要人工改动每个案例的期望结果,导致繁琐重复的工作。
发明内容
本申请提供一种软件测试方法及装置,用以简化测试过程,节省测试难度,提高测试效率。
本发明实施例提供的一种软件测试方法,包括:
获取用户上传的第一测试数据;
根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据;
根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;
获取所述测试版本基于所述测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;
比较所述第一响应报文与所述第二响应报文,确定测试结果。
一种可能的实现方式,所述第一测试数据包括用户标识;
所述根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据,包括:
根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
一种可能的实现方式,所述根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求,包括:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应;N为正整数。
一种可能的实现方式,所述获取所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文,包括:
从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;
若未查询到,则发送所述测试请求至所述基线版本;
接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
一种可能的实现方式,所述比较所述第一响应报文与所述第二响应报文,确定测试结果,包括:
根据所述测试接口,确定需要比较的测试字段;
针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;
若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过。
一种可能的实现方式,所述方法还包括:
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
一种可能的实现方式,所述方法还包括:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;
比较所述第三响应报文与所述第二响应报文,确定测试结果;
若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
本发明实施例一种软件测试装置,包括:
收发单元,用于获取用户上传的第一测试数据;获取测试版本基于测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;
处理单元,用于根据所述第一测试数据及所述测试版本的测试接口,确定所述测试接口需要的第二测试数据;根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;比较第一响应报文与第二响应报文,确定测试结果。
一种可能的实现方式,所述第一测试数据包括用户标识;
所述处理单元,用于:
根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
一种可能的实现方式,所述处理单元,用于:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应;N为正整数。
一种可能的实现方式,所述处理单元,还用于:
从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;若未查询到,则发送所述测试请求至所述基线版本;接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
一种可能的实现方式,所述处理单元,用于:
根据所述测试接口,确定需要比较的测试字段;针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过。
一种可能的实现方式,所述处理单元,还用于:
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
一种可能的实现方式,所述处理单元,还用于:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;比较所述第三响应报文与所述第二响应报文,确定测试结果;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
本发明实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上所述的方法。
本发明实施例中,获取用户上传的第一测试数据;根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据;根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;获取所述测试版本基于所述测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;比较所述第一响应报文与所述第二响应报文,确定测试结果。因此,本发明实施例简化了软件测试的过程,缩短了软件测试的耗时,最大程度上提高测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种软件测试方法的流程示意图;
图2为本发明实施例中一种软件测试方法的流程示意图;
图3为本发明实施例中一种软件测试方法的流程示意图;
图4a为本发明具体实施例提供的一种软件测试方法的架构示意图;
图4b为本发明具体实施例提供的一种软件测试方法的流程示意图;
图5为本发明实施例提供的一种软件测试装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面先对几个概念进行简单介绍:
自动化测试:一般指软件测试的自动化,在预设条件下运行系统和应用程序,评估运行结果,预先条件应包括正常条件和异常条件的一种测试方法。
程序编程接口:是预先定义的函数,用于提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。软件接口:计算机领域中,是指软件不同部分之间的交互接口,通常指API——应用程序编程接口。
接口测试:是测试系统组件间接口的一种测试类型。接口测试主要用于检测外部系统与系统之间以及内部各子系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
回归测试:是软件生命周期的一个重要组成部分,是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。
测试场景/测试用例:为某个特殊目的而编制的一组测试输入、执行条件及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
现有技术中,通过现有测试工具运行测试案例,编写每个返回字段的预期值,调用方法进行一致性校验。包括:
步骤一:登录测试平台;
其中,测试平台可以是根据需求内部开发的,用于编写测试步骤进行自动化案例测试的平台。
步骤二:输入各接口所需的测试数据;
步骤三:输入测试案例,及测试案例的执行步骤;
步骤四:输入接口返回的响应报文中各字段的预期值;
步骤五:建立测试流程,并运行测试流程;
步骤六:根据各接口返回的响应报文,一次校验,并分析结果;
步骤七:根据分析结果,生成测试错误表单。
若需要重新测试时的流程,可以包括:
步骤一:登录测试平台;
步骤二:输入各接口所需的测试数据;
步骤三:输入测试案例,及测试案例的执行步骤;
步骤四:修改接口返回的响应报文中字段的预期值;
步骤五:建立测试流程,并运行测试流程;
步骤六:根据各接口返回的响应数据,依次校验,并分析结果;
步骤七:根据分析结果,生成测试错误表单。
上述实施例中,需要人工编写每个返回字段的预期值,再进行一致性对比;验证结果困难;由于场景和接口众多,导致案例数据成对数关系增长,某个小的改动点,都需要人工改动每个案例的验证点,繁琐重复的工作,维护成本很高。
另一种可能的实现方式,可以通过人工构造请求报文以运行接口,并通过核对返回的响应报文确定测试结果。
具体的,可以包括:
步骤一:人工构造各接口的请求报文;
步骤二:将请求报文输入至各接口,运行所述请求报文;
步骤三:获取各接口返回的所述请求报文的响应报文;
步骤四:人工校验各字段的正确性,并编写测试报告。
针对回归测试的流程,需要执行以下步骤:
步骤一:重新构造各接口的请求报文;
步骤二:将请求报文输入至各接口,运行所述请求报文;
步骤三:获取各接口返回的所述请求报文的响应报文;
步骤四:人工校验各字段的正确性,并编写测试报告。
由上述实施例可以看出,由于需要测试的场景多,需要人工构造的报文复杂,导致测试的工作效率低,耗时长。具体的,在每次回归测试都需要手工重新构造请求报文,以运行对应的接口,并人工校验结果的正确性,效率低下耗时长,不符合自动化测试理念;验证结果困难:需要人工肉眼校验结果的正确性。由于非金融接口巨多,返回报文超大,返回字段过多,验证困难,结果过于依赖人为因素,不可信程度过高,维护成本很高。结果需要人为对每个返回字段进行逐个对比,另外,现有技术无可视化界面显示综合对比结果,分析困难,结果不够清晰,无可视化界面和统计报表,导致目前的测试效率较低。
在一种应用场景中,借据生命周期指的是金融贷款从借款开始到还清借据的整个过程是借据的生命周期,其中涉及到借款建立、计提、结息、结清等操作。银行业白天实时对账户进行联机操作。银行业晚上进行的批量账务处理,如结息、计提、更新账龄、产生会计流水等一系列操作,处理当天业务的待处理交易。为了能够在不涉及金融交易查询交易的接口(非金融接口)的回归测试中快速使用借据在不同生命周期的数据,提高测试效率,加快上线速度。本发明实施例提供一种测试方法,如图1所示,包括:
步骤101:获取用户上传的第一测试数据;
其中,第一测试数据可以为用户的基本信息,例如,用户的身份证号,用户登录的账户,用户标识等。
由于测试场景多,测试数据量庞大,测试接口众多且报文复杂,本系统的管理模块可以将数据、测试场景、测试接口进行统一的维护和管理。针对第一测试数据,可以通过数据管理模块实现第一测试数据的管理,具体的,用于对用户上传的第一测试数据的内容进行管理,以测试环境、测试条件、测试产品等类型进行区分,方便测试人员快速找到对应的数据。同时可将数据与接口相关联,有效提高测试效率。
另外,场景管理模块,也可以根据测试需要,根据测试环境、测试条件、测试产品等类型进行区分,并与第一测试数据、测试接口相关联,有效提高测试效率。
接口管理模块,可以提供录入第一测试数据的界面,在具体实施过程中,可以针对测试接口赋予版本号,区分不同版本的测试接口。
进一步的,为减少测试过程中传输的数据量,加快测试效率,可根据定制化需求排除特定的返回字段,在接口返回的响应报文传输至比对模块时不返回该排除字段,实现个性化需求。
步骤102:根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据;
一种可能的实现方式,所述第一测试数据包括用户标识;在具体实施过程中,可以根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
举例来说,若需要测试的场景中需要生成的测试请求为借据明细的查询请求;根据测试接口对应的输入格式,确定查询请求需要输入用户标识,及借据标识;根据第一测试数据确定用户的用户标识,例如确定用户1的用户标识为产品1对应的账户1,则可以通过产品1对应的数据库1,查询账户1名下的所有借据的借据标识,例如,确定出账户1名下的所有借据包括借据1,则此时,第二测试数据为借据1的借据标识。
步骤103:根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;
结合上述举例,可以根据第一测试数据确定账户1,及第二测试数据为借据1的借据标识,生成对应测试接口的测试请求;所述测试请求用于查询账户1对应的借据1的明细。例如,借据1在生命周期所处的节点,如借款建立、计提、结息、结清等节点;当前利率,待还金额;已还金额;借款金额等信息。
一种可能的实现方式,所述根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求,包括:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应。
结合上述举例,若账户1确定出的借据为多个,例如,确定出借据1和借据2,则根据账户1和借据1生成测试请求1;根据账户1和借据2生成测试请求2。
在一种具体的实施例中,可以根据测试环境、测试产品、测试代码版本,获取第一测试数据,及确定测试场景;其中,测试代码版本可以为针对测试接口的代码版本,也可以是针对产品引用的代码版本,在此不做限定。根据测试场景关联对应的测试接口或测试接口的集合,生成对应的测试请求,输入至测试接口。
步骤104:获取所述测试版本基于所述测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;
需要说明的是,软件基线是指项目储存库中每个工件版本在特定时期的一个“快照”,它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。基线版本可以指稳定状态的、已经通过测试、不会随意修改的版本。基线作为自动化对比的对比版本是至关重要的,原则是每个测试接口只保留一个唯一的基线。
一种可能的实现方式,包括:从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;
若未查询到,则发送所述测试请求至所述基线版本;
接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
如图2所示,具体的实施例过程可以包括如下步骤:
步骤201:根据测试接口对应的线上版本,运行出所述测试请求对应的响应报文;
步骤202:查询所述测试接口是否存储有基线版本;若是,则执行步骤203;若否,则执行步骤204;
步骤203:查询所述基线版本中是否存储有所述测试请求的响应报文;若是,则执行步骤205;若否,则执行步骤204;
步骤204:将所述响应报文作为该测试接口的基线版本的数据。
步骤205:跳过,不处理当前基线版本。
一种可能的实现方式,若确定无法获取第一响应报文,则确定为测试失败,可返回至发送所述测试请求的步骤进行重试。当然,本发明实施例还可以提供删除运行记录的功能,以节省测试空间。
步骤105:比较所述第一响应报文与所述第二响应报文,确定测试结果。
如图3所示,一种可能的实现方式,所述比较所述第一响应报文与所述第二响应报文,确定测试结果,包括:
步骤301:根据所述测试接口,确定需要比较的测试字段;
步骤302:针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;
步骤303:判断每个测试字段的比较结果均符合预设标准,若是,则执行步骤304;否则,执行步骤305;
步骤304:确定测试结果为通过。
步骤305:生成统计报表。
其中,统计报表中可以包括测试成功的字段,也可以包括测试不成功的字段,在此不做限定。
具体的,若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
一种可能的实现方式,通过统计报表中的错误字段确定对应修改测试接口对应的错误字段的设备,可以为多个也可以是一个,对应关系可以预先设置,也可以通过上传测试接口对应的代码的设备进行确定。例如,若确定输出的错误字段的代码为代码1,且该代码1是通过设备1上传的,则可以将该错误字段的测试结果生成的缺陷单发送至设备1,以通知设备1进行对应代码的修改。再比如,若确定输出的错误字段的代码为代码1,代码2,且代码1是通过设备1上传的,代码2是通过设备2上传的,则可以将该错误字段的测试结果生成的缺陷单发送至设备1和设备2,以通知设备1和设备2进行对应代码的修改。具体的,可以分别生成缺陷单,也可以生成一个缺陷单,在此不做限定。
其中,一种可能的实现方式,预设标准可以为将特定字段排除后,确定的比较差异的测试字段。
举例来说,可以将响应报文中的当前不关心的字段设置为特定字段,例如,当前需测试的是借据查询请求的测试接口,返回的报文中会携带有借据的相关信息,还有生成该响应报文的时间、ip地址等字段,可以将对应的字段设置为特定字段,将其排除;将借据的相关信息的字段保留;在进行比较时,仅获取借据的相关信息的测试字段,以减少测试过程中数据的传输,节省不必要的比较所占用的处理时间,提高测试效率。
举例来说,若确定当前测试的测试接口的利率对应的字段发生变更,则可以将与利率相关的字段都设定为特定字段,只测试与利率无关的字段。或者,还可以针对利率变更,更新当前的基线版本;根据更新后的基线版本的第二响应报文,对利率对应的字段作为测试字段进行测试。
一种可能的实现方式,用户可选择对某两次运行结果进行对比,根据预期排除的有差异的特点定字段,剩余字段由系统进行智能化对比,并自动化确定测试结果,保证测试质量,提高工作效率。
在测试人员获取到缺陷单后,一种可能的实现方式,测试接口可以通过检测是否有修改确定是否需要触发测试流程。具体的,所述方法包括:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;
比较所述第三响应报文与所述第二响应报文,确定测试结果;
若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
另一种可能的实现方式,测试接口还可以通过设置第一时间,若第一时间到达后,则直接触发测试流程。具体的,可以包括:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;
比较所述第三响应报文与所述第二响应报文,确定测试结果;
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
具体的,若确定仍在相同的测试字段出现不符合预设标准的问题,则可以在对应的缺陷单上添加当前的测试结果;若确定出现新的测试字段出现不符合预设标准的问题,可以生成新的缺陷单,并通知对应的设备,以修改所述测试接口。
进一步的,还可以通过统计指标,确定出异常的测试接口、异常的测试系统、异常的测试字段,并结合大数据和统计学原理,生成分析报表。举例来说,可以针对异常的测试接口进行统计分析,也可以针对异常的测试字段进行统计分析,将从出现缺陷单直至修改至测试通过的所有测试结果进行统计,以实现对比工作的闭环,提高测试和研发的效率。
本发明实施例中,测试人员只需输入第一测试数据,及调用测试场景及对应的测试接口,即可实现自动化生成请求报文,并将请求报文发送至对应的测试接口,保存返回的响应报文;自动化分析结果,以保证测试质量,提高工作效率。
如图4a所示,本发明实施例涉及的测试系统,可以由管理模块、对比模块和可视化分析模块组成,其中,管理模块主要对第一测试数据、测试场景和第二测试数据进行统一的维护管理;对比模块主要是向测试接口发送对应场景的测试请求,得到响应报文,并对某两次测试获得的响应报文进行对比,具体的对比方式可以根据用户确定的基线版本确定,也可以根据其他方式确定,例如根据测试人员的需求,将不同测试环境下运行的相同测试请求进行对比,将不同测试时间下运行的相同测试请求进行对比,在此不做限定。
如图4b所示,为可视化闭环分析模块的主要架构。可视化闭环分析模块主要分析对比结果,通过统计报表的形式展示给用户,并可闭环性追踪问题。可视化闭环分析模块包括:可视化分析、异常监控、自动缺陷管理和闭环结果分析功能。具体的,可以包括:
可视化分析:报表可以以测试产品和测试接口为维度,通过指标统计变量分类展示,并将有差异性的结果进行特殊标记,方便定位问题。
异常监控:可根据差异化结果,定位到关联系统及关联人,及时发送告警邮件通知到相关人员,以处理对应的测试结果。
自动缺陷管理:根据差异化结果,提炼出问题点,提缺陷单给到对应系统的开发人员,解决后通知测试人员回归,验证通过自动关闭。
闭环结果分析:通过统计指标,分析出异常接口、异常系统、异常字段等情况,并结合大数据和统计学原理,生成分析报表,实现对比工作的闭环。
基于相同的发明构思,如图5所示,本发明实施例提供一种软件测试装置,包括:
收发单元501,用于获取用户上传的第一测试数据;获取测试版本基于测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;
处理单元502,用于根据所述第一测试数据及所述测试版本的测试接口,确定所述测试接口需要的第二测试数据;根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;比较第一响应报文与第二响应报文,确定测试结果。
一种可能的实现方式,所述第一测试数据包括用户标识;
处理单元502,用于:根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
一种可能的实现方式,处理单元502,用于:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应。
一种可能的实现方式,处理单元502,用于:
从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;若未查询到,则发送所述测试请求至所述基线版本;接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
一种可能的实现方式,处理单元502,用于:
根据所述测试接口,确定需要比较的测试字段;针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过。
一种可能的实现方式,处理单元502,还用于:
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
一种可能的实现方式,处理单元502,还用于:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;比较所述第三响应报文与所述第二响应报文,确定测试结果;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
基于上述实施例,参阅图6所示,本发明实施例中,一种电子设备的结构示意图。本领域技术人员可以理解,图6中示出的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及信息推荐模型的生成程序。其中,操作系统是管理和控制模型参数获取系统硬件和软件资源的程序,支持信息推荐模型的生成程序以及其它软件或程序的运行。
用户接口1003主要用于连接第一服务器、第二服务器和第三服务器等,与各个服务器进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的信息推荐模型的生成程序,并执行以下操作:
处理器1001,用于根据所述第一测试数据及所述测试版本的测试接口,确定所述测试接口需要的第二测试数据;根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;比较第一响应报文与第二响应报文,确定测试结果。
一种可能的实现方式,所述第一测试数据包括用户标识;
处理器1001,用于:根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
一种可能的实现方式,处理器1001,用于:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应。
一种可能的实现方式,处理器1001,用于:
从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;若未查询到,则发送所述测试请求至所述基线版本;接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
一种可能的实现方式,处理器1001,用于:
根据所述测试接口,确定需要比较的测试字段;针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过。
一种可能的实现方式,处理器1001,还用于:
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
一种可能的实现方式,处理器1001,还用于:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;比较所述第三响应报文与所述第二响应报文,确定测试结果;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的测试方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (16)
1.一种软件测试方法,其特征在于,包括:
获取用户上传的第一测试数据;
根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据;
根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;
获取所述测试版本基于所述测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;
比较所述第一响应报文与所述第二响应报文,确定测试结果。
2.如权利要求1所述的方法,其特征在于,所述第一测试数据包括用户标识;
所述根据所述第一测试数据及测试版本的测试接口,确定所述测试接口需要的第二测试数据,包括:
根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求,包括:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应;N为正整数。
4.如权利要求1所述的方法,其特征在于,所述获取所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文,包括:
从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;
若未查询到,则发送所述测试请求至所述基线版本;
接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
5.如权利要求1所述的方法,其特征在于,所述比较所述第一响应报文与所述第二响应报文,确定测试结果,包括:
根据所述测试接口,确定需要比较的测试字段;
针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;
若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;
比较所述第三响应报文与所述第二响应报文,确定测试结果;
若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
8.一种软件测试装置,其特征在于,包括:
收发单元,用于获取用户上传的第一测试数据;获取测试版本基于测试请求返回的第一响应报文及所述测试接口对应的基线版本基于所述测试请求返回的第二响应报文;
处理单元,用于根据所述第一测试数据及所述测试版本的测试接口,确定所述测试接口需要的第二测试数据;根据所述第一测试数据及所述第二测试数据,生成所述测试接口的测试请求;比较第一响应报文与第二响应报文,确定测试结果。
9.如权利要求8所述的装置,其特征在于,所述第一测试数据包括用户标识;
所述处理单元,具体用于:根据所述测试接口对应的输入格式,在数据库中查找各用户标识对应的满足所述输入格式所需的第二测试数据。
10.如权利要求9所述的装置,其特征在于,所述处理单元,具体用于:
针对任一用户标识,若确定所述用户标识对应的第二测试数据为N个,则生成N个测试请求;所述N个测试请求与所述N个第二测试数据一一对应;N为正整数。
11.如权利要求8所述的装置,其特征在于,所述处理单元,具体用于:
从所述基线版本预存的响应报文中查询所述测试请求对应的第二响应报文;若未查询到,则发送所述测试请求至所述基线版本;接收所述基线版本运行所述测试请求后返回的所述第二响应报文。
12.如权利要求8所述的装置,其特征在于,所述处理单元,具体用于:
根据所述测试接口,确定需要比较的测试字段;针对每个测试字段,将所述第一响应报文中所述测试字段与所述第二响应报文中的所述测试字段进行比较;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过。
13.如权利要求12所述的装置,其特征在于,所述处理单元,具体用于:
若确定存在测试字段的比较结果不符合预设标准,则将不符合预设标准的测试字段生成缺陷单,并通知对应的设备,以修改所述测试接口。
14.如权利要求12所述的装置,其特征在于,所述处理单元,具体用于:
将所述测试请求发送至修改后的测试版本的测试接口,获取第三响应报文;比较所述第三响应报文与所述第二响应报文,确定测试结果;若每个测试字段的比较结果均符合预设标准,则确定测试结果为通过,并标记所述缺陷单为结束,并通知对应的设备。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项方法的步骤。
16.一种电子设备,其特征在于,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910390285.7A CN110188036A (zh) | 2019-05-10 | 2019-05-10 | 一种软件测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910390285.7A CN110188036A (zh) | 2019-05-10 | 2019-05-10 | 一种软件测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110188036A true CN110188036A (zh) | 2019-08-30 |
Family
ID=67714442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910390285.7A Pending CN110188036A (zh) | 2019-05-10 | 2019-05-10 | 一种软件测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188036A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633214A (zh) * | 2019-09-19 | 2019-12-31 | 中国银行股份有限公司 | 一种内部测试报文的配置方法及装置 |
CN111045952A (zh) * | 2019-12-16 | 2020-04-21 | 广州品唯软件有限公司 | 软件测试方法、流量回放装置、终端设备及可读存储介质 |
CN111478969A (zh) * | 2020-04-09 | 2020-07-31 | 吉林亿联银行股份有限公司 | 接口校验方法及装置 |
CN111782452A (zh) * | 2020-07-03 | 2020-10-16 | 携程商旅信息服务(上海)有限公司 | 接口对比测试的方法、系统、设备和介质 |
CN112148614A (zh) * | 2020-09-29 | 2020-12-29 | 中国银行股份有限公司 | 回归测试方法及装置 |
CN113535538A (zh) * | 2020-04-21 | 2021-10-22 | 网联清算有限公司 | 应用全链路自动化测试方法、装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260318A (zh) * | 2015-11-25 | 2016-01-20 | 飞天诚信科技股份有限公司 | 一种基于网页的自动化测试方法及装置 |
CN106155891A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
CN107729243A (zh) * | 2017-10-12 | 2018-02-23 | 上海携程金融信息服务有限公司 | 应用编程接口自动化测试方法、系统、设备及存储介质 |
CN107908541A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN108255730A (zh) * | 2018-01-23 | 2018-07-06 | 平安普惠企业管理有限公司 | 软件接口测试方法、测试设备、存储介质及装置 |
CN108549606A (zh) * | 2018-04-16 | 2018-09-18 | 成都医云科技有限公司 | 接口测试方法及装置 |
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN109474488A (zh) * | 2018-10-31 | 2019-03-15 | 中国银行股份有限公司 | 接口测试方法、装置及计算机设备 |
CN109710533A (zh) * | 2018-12-29 | 2019-05-03 | 亚信科技(中国)有限公司 | 一种接口测试方法、装置及服务器 |
-
2019
- 2019-05-10 CN CN201910390285.7A patent/CN110188036A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155891A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
CN105260318A (zh) * | 2015-11-25 | 2016-01-20 | 飞天诚信科技股份有限公司 | 一种基于网页的自动化测试方法及装置 |
CN107908541A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN107729243A (zh) * | 2017-10-12 | 2018-02-23 | 上海携程金融信息服务有限公司 | 应用编程接口自动化测试方法、系统、设备及存储介质 |
CN108255730A (zh) * | 2018-01-23 | 2018-07-06 | 平安普惠企业管理有限公司 | 软件接口测试方法、测试设备、存储介质及装置 |
CN108549606A (zh) * | 2018-04-16 | 2018-09-18 | 成都医云科技有限公司 | 接口测试方法及装置 |
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN109474488A (zh) * | 2018-10-31 | 2019-03-15 | 中国银行股份有限公司 | 接口测试方法、装置及计算机设备 |
CN109710533A (zh) * | 2018-12-29 | 2019-05-03 | 亚信科技(中国)有限公司 | 一种接口测试方法、装置及服务器 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633214A (zh) * | 2019-09-19 | 2019-12-31 | 中国银行股份有限公司 | 一种内部测试报文的配置方法及装置 |
CN110633214B (zh) * | 2019-09-19 | 2023-12-08 | 中国银行股份有限公司 | 一种内部测试报文的配置方法及装置 |
CN111045952A (zh) * | 2019-12-16 | 2020-04-21 | 广州品唯软件有限公司 | 软件测试方法、流量回放装置、终端设备及可读存储介质 |
CN111045952B (zh) * | 2019-12-16 | 2023-03-28 | 广州品唯软件有限公司 | 软件测试方法、流量回放装置、终端设备及可读存储介质 |
CN111478969A (zh) * | 2020-04-09 | 2020-07-31 | 吉林亿联银行股份有限公司 | 接口校验方法及装置 |
CN113535538A (zh) * | 2020-04-21 | 2021-10-22 | 网联清算有限公司 | 应用全链路自动化测试方法、装置、电子设备和存储介质 |
CN113535538B (zh) * | 2020-04-21 | 2023-06-16 | 网联清算有限公司 | 应用全链路自动化测试方法、装置、电子设备和存储介质 |
CN111782452A (zh) * | 2020-07-03 | 2020-10-16 | 携程商旅信息服务(上海)有限公司 | 接口对比测试的方法、系统、设备和介质 |
CN112148614A (zh) * | 2020-09-29 | 2020-12-29 | 中国银行股份有限公司 | 回归测试方法及装置 |
CN112148614B (zh) * | 2020-09-29 | 2024-04-16 | 中国银行股份有限公司 | 回归测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188036A (zh) | 一种软件测试方法及装置 | |
US10310968B2 (en) | Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns | |
US7895565B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
US20120016701A1 (en) | Intelligent timesheet assistance | |
CN109766263A (zh) | 自动化测试分析处理方法、装置、计算机设备及存储介质 | |
US8732838B2 (en) | Evaluating the effectiveness of a threat model | |
US20080046299A1 (en) | Methods and tools for creating and evaluating system blueprints | |
CN106095673A (zh) | 基于web接口的自动化测试方法及系统 | |
US11941559B2 (en) | System and method for project governance and risk prediction using execution health index | |
CN109272215A (zh) | 项目开发质量监控方法、装置、计算机设备及存储介质 | |
CN110162458A (zh) | 测试数据构造方法、装置及存储介质 | |
CN109656615A (zh) | 一种基于代码方法重要程度进行权限预警的方法 | |
CN115689415A (zh) | 一种基于数字孪生的物流监视与仿真系统 | |
US20050278301A1 (en) | System and method for determining an optimized process configuration | |
Ailenei | Process mining tools: A comparative analysis | |
US20240086165A1 (en) | Systems and methods for building and deploying machine learning applications | |
CN115248782B (zh) | 一种自动化测试方法、装置及计算机设备 | |
CN111240981A (zh) | 一种接口测试方法、系统及平台 | |
CN116932360A (zh) | 一种页面测试方法、装置、计算机设备和存储介质 | |
CN113986753A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN113779776B (zh) | 电网调度应用的测试剖面建模方法、系统、设备及介质 | |
de Gooijer | Performance modeling of ASP. Net web service applications: an industrial case study | |
KR102337925B1 (ko) | 기업 역량 개선 모델 생성 방법, 이를 이용한 기업 진단 방법 및 장치 | |
CN110569199B (zh) | 账单自动测试方法及装置 | |
Kavada et al. | Schedule quality assessment for nd models using industry foundation classes |
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 |