软件测试方法及系统
文献发布时间:2023-06-19 09:55:50
技术领域
本发明属于软件测试技术领域,涉及一种测试系统,尤其涉及一种软件测试方法及系统。
背景技术
在软件项目中,为了保证软件中数据展示的正确性,需要在测试环境结合前端与数据库数据进行比对来确保展示数据的正确性,数据的正确性和一致性对整个大数据展示系统的工作起着至关重要的作用。
针对软件中展示的地图数据需要人工进行点击操作来查看地图省市区层级数据跳转的正确性。通常情况下,现有的软件测试需要大量的测试人员才能完成,而且地图中数据逻辑性强有层级关系,需要前端UI展示与后端数据库一一对应,使用人工测试方法效率比较低。且省市区数据量很大,人工存在漏测风险且无法保证测试的准确性。
有鉴于此,如今迫切需要设计一种新的软件测试方式,以便克服现有软件测试方式存在的上述至少部分缺陷。
发明内容
本发明提供一种软件测试方法及系统,可提高测试效率及测试精确度,确保数据展示的正确性及准确度。
为解决上述技术问题,根据本发明的一个方面,采用如下技术方案:
一种软件测试方法,所述软件测试方法包括:
步骤S1、在测试工具中添加HTTP请求全国的接口,用后置处理器中的正则表达式提取后台的返回值中的所有省,添加断言中的响应断言判断是否有第一标识为0的省,第一标识为0的省是数据库中的错误数据;再添加断言判断电梯总数是否为0,电梯总数为0的数据是表示该地区无使用设备;
步骤S2、在请求省数据的时候,使用逻辑控制器中的循环逻辑控制器,在逻辑控制器下添加省json文件接口,将全国接口返回值中提取的所有省的第一标识作为请求的json参数进行循环遍历;
添加http请求省接口数据,用全国返回数据中省的第一标识作为请求参数进行接口请求;用后置处理器中的正则表达式提取后台的返回值中的所有市后台数据断言判断找出第一标识为0的数据以及电梯总数为0数据;
步骤S3、在请求市数据的时候,使用逻辑控制器中的循环逻辑控制器,在逻辑控制器下添加市json文件接口,将省接口返回值中提取的所有市的第一标识作为请求的json参数进行循环遍历;
添加http请求市接口数据,用省接口返回数据中市的第一标识作为请求参数进行接口请求;用后置处理器中的正则表达式提取后台的返回值中的所有区后台数据断言判断找出第一标识为0的数据以及电梯总数为0数据;
步骤S4、在请求区数据的时候,使用逻辑控制器中的循环逻辑控制器,在逻辑控制器下添加区json文件接口,将市接口返回值中提取的所有区的第一标识作为请求的json参数进行循环遍历;
步骤S5、在获取区数据后,依次经过街道选择、小区选择、电梯个体选择,获得需要测试的电梯信息;
步骤S6、根据选取的电梯显示其对应的数据内容。
根据本发明的另一个方面,采用如下技术方案:一种软件测试方法,所述软件测试方法包括:
获取地图图形界面的文件数据;
通过接口调用请求获取后端数据库返回的数据;以及
将地图图形界面的文件数据与后端数据库中返回的数据进行比对,判断是否匹配,得到测试结果。
作为本发明的一种实施方式,通过模拟人工点击界面操作对后端接口数据进行请求,获取后端数据库返回的数据。
作为本发明的一种实施方式,通过接口调用请求获取后端数据库返回的数据步骤包括:
请求全国接口;从后台数据库中将全国接口的返回值中提取省的第一标识作为界面UI地图json文件的第一标识,通过json文件接口调用遍历所有省的json文件,从而用接口请求的方式实现人工操作UI地图上的点击动作;
请求省接口;将省的第一标识遍历后从返回值中得到市的第一标识,通过json文件接口调用遍历所有市的json文件;
请求市接口;将市的第一标识遍历后从返回值中得到区的第一标识,通过json文件接口调用遍历所有区县的json文件。
作为本发明的一种实施方式,所述测试方法进一步包括:接口测试步骤;添加后置提取器正则表达式来提取所有返回值,再添加循环逻辑控制器将提取所有的返回值进行逻辑遍历,即达到遍历数据库中每个省内包含的所有市,省内所有市包含的所有区,实现数据的逻辑遍历。
作为本发明的一种实施方式,比对步骤包括:通过后端数据库返回的数据来对应UI地图上json文件的数据,并在每个需要提取第一标识的接口中添加断言,断言包括第一标识不为0的断言,来检查数据库中错误数据;如接口请求报错即后端数据库返回的数据与前端地图图形界面展示的地图数据不匹配,生成测试报告,报告中详细的定位的bug的方向。
根据本发明的又一个方面,采用如下技术方案:一种软件测试系统,所述软件测试系统包括:
地图图形界面数据获取模块,用以获取地图图形界面的文件数据;
数据库数据获取模块,用以通过接口调用请求获取后端数据库返回的数据;以及
比对模块,用以将地图图形界面的文件数据与后端数据库中返回的数据进行比对,判断是否匹配,得到测试结果。
作为本发明的一种实施方式,所述数据库数据获取模块包括接口请求单元,用以实现如下过程:
请求全国接口;从后台数据库中将全国接口的返回值中提取省的第一标识作为界面UI地图json文件的第一标识,通过json文件接口调用遍历所有省的json文件,从而用接口请求的方式实现人工操作UI地图上的点击动作;
请求省接口;将省的第一标识遍历后从返回值中得到市的第一标识,通过json文件接口调用遍历所有市的json文件;
请求市接口;将市的第一标识遍历后从返回值中得到区的第一标识,通过json文件接口调用遍历所有区县的json文件。
作为本发明的一种实施方式,所述数据库数据获取模块包括接口测试单元,用以添加后置提取器正则表达式来提取所有返回值,再添加循环逻辑控制器将提取所有的返回值进行逻辑遍历,即达到遍历数据库中每个省内包含的所有市,省内所有市包含的所有区,实现数据的逻辑遍历。
作为本发明的一种实施方式,所述比对模块用以通过后端数据库返回的数据来对应UI地图上json文件的数据,并在每个需要提取第一标识的接口中添加断言,断言包括第一标识不为0的断言,来检查数据库中错误数据;如接口请求报错即后端数据库返回的数据与前端地图图形界面展示的地图数据不匹配,生成测试报告,报告中详细的定位的bug的方向。
本发明的有益效果在于:本发明提出的软件测试方法及系统,可提高测试效率及测试精确度,确保数据展示的正确性及准确度。
附图说明
图1为本发明一实施例中软件测试方法的流程图。
图2为本发明一实施例中软件测试方法的流程图。
图3为本发明一实施例中软件测试系统的组成示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
该部分的描述只针对几个典型的实施例,本发明并不仅局限于实施例描述的范围。相同或相近的现有技术手段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。
说明书中各个实施例中的步骤的表述只是为了方便说明,本申请的实现方式不受步骤实现的顺序限制。
本发明揭示了一种软件测试方法,图1为本发明一实施例中软件测试方法的流程图;请参阅图1,所述软件测试方法包括:
步骤1、获取地图图形界面的文件数据;
步骤2、通过接口调用请求获取后端数据库返回的数据;以及
步骤3、将地图图形界面的文件数据与后端数据库中返回的数据进行比对,判断是否匹配,得到测试结果。
本发明使用测试工具通过对单个省市区接口串联,结合循环(foreach)逻辑循环器就可以实现人工点击界面循环遍历全国省市区所有数据。
在一实施例中,所述文件数据可以是json文件数据,可以包含全国省市区的名字、电梯数量、第一标识code编码。省市区的code是唯一且不为0的,使用断言来判断数据库中的code不能为0;当code为0时,说明数据有问题是错误数据。
在本发明的一实施例中,步骤2中,通过模拟人工点击界面操作对后端接口数据进行请求,获取后端数据库返回的数据。在一实施例中,通过接口调用请求模拟前端模拟展示数据在地图图形界面的对应点击动作。
在本发明的一实施例中,通过接口调用请求获取后端数据库返回的数据步骤包括:
请求全国接口;从后台数据库中将全国接口的返回值中提取省的第一标识code作为界面UI地图json文件的第一标识code,通过json文件接口调用遍历所有省的json文件,从而用接口请求的方式实现人工操作UI地图上的点击动作;
请求省接口;将省code遍历后从返回值中得到市的code,通过json文件接口调用遍历所有市的json文件;
请求市接口;将市code遍历后从返回值中得到市的code,通过json文件接口调用遍历所有区县的json文件。
在本发明的一实施例中,所述测试方法进一步包括:接口测试步骤;添加后置提取器正则表达式来提取所有返回值,再添加循环(foreach)逻辑控制器将提取所有的返回值进行逻辑遍历,即达到遍历数据库中每个省内包含的所有市,省内所有市包含的所有区,实现数据的逻辑遍历。
在本发明的一实施例中,步骤3进一步包括:通过后端数据库返回的数据来对应UI地图上json文件的数据,并在每个需要提取code的接口中添加断言,断言包括code不为0的断言,来检查数据库中错误数据;如接口请求报错即后端数据库返回的数据与前端地图图形界面展示的地图数据不匹配,生成测试报告,报告中详细定位错误(bug)的方向。
图2为本发明一实施例中软件测试方法的流程图;请参阅图2,在本发明的一实施例中,所述软件测试方法包括:
步骤S1、在jmeter(测试工具)中添加HTTP请求全国的接口,用后置处理器中的正则表达式提取后台的返回值中的所有省,添加断言中的响应断言判断是否有code为0的省,code为0的省是数据库中的错误数据;再添加断言判断电梯总数count是否为0,电梯总数count为0的数据是表示该地区无使用设备;
步骤S2、在请求省数据的时候,使用逻辑控制器中的循环逻辑控制器,在逻辑控制器下添加省json文件接口,将全国接口返回值中提取的所有省code作为请求的json参数进行循环遍历;
添加http请求省接口数据,用全国返回数据中的省code作为请求参数进行接口请求;用后置处理器中的正则表达式提取后台的返回值中的所有市后台数据断言判断找出code为0的数据以及电梯总数count为0数据;
步骤S3、在请求市数据的时候,使用逻辑控制器中的循环逻辑控制器,在逻辑控制器下添加市json文件接口,将省接口返回值中提取的所有市code作为请求的json参数进行循环遍历;
添加http请求市接口数据,用省接口返回数据中的市code作为请求参数进行接口请求;用后置处理器中的正则表达式提取后台的返回值中的所有区后台数据断言判断找出code为0的数据以及电梯总数为0数据;
步骤S4、在请求区数据时,使用逻辑控制器中的循环逻辑控制器,在逻辑控制器下添加区json文件接口,将市接口返回值中提取的所有区code作为请求的json参数进行循环遍历。
步骤S5、在获取区数据后,依次经过街道选择、小区选择、电梯个体选择,获得需要测试的电梯信息。
步骤S6、根据选取的电梯显示其对应的数据内容。
在本发明的一实施例中,选择电梯的层级也可以是其他方式,不一定需要按照行政区划的方式。
本发明还揭示一种软件测试系统,图3为本发明一实施例中软件测试系统的组成示意图;请参阅图3,所述软件测试系统包括:地图图形界面数据获取模块1、数据库数据获取模块2以及比对模块3。
地图图形界面数据获取模块1用以获取地图图形界面的文件数据;数据库数据获取模块2用以通过接口调用请求,获取后端数据库返回的数据;比对模块3用以将地图图形界面的json文件数据与后端数据库中返回的数据进行比对,判断是否匹配,得到测试结果。
在一实施例中,数据库数据获取模块2通过模拟人工点击界面操作对后端接口数据进行请求,获取后端数据库返回的数据。
在本发明的一实施例中,所述数据库数据获取模块2包括接口请求单元,用以实现如下过程:
请求全国接口;从后台数据库中将全国接口的返回值中提取省code作为界面UI地图json文件code,通过json文件接口调用遍历所有省的json文件,从而用接口请求的方式实现人工操作UI地图上的点击动作;
请求省接口;将省code遍历后从返回值中得到市的code,通过json文件接口调用遍历所有市的json文件;
请求市接口;将市code遍历后从返回值中得到市的code,通过json文件接口调用遍历所有区县的json文件。
在本发明的一实施例中,所述数据库数据获取模块2包括接口测试单元,用以添加后置提取器正则表达式来提取所有返回值,再添加循环逻辑控制器将提取所有的返回值进行逻辑遍历,即达到遍历数据库中每个省内包含的所有市,省内所有市包含的所有区,实现数据的逻辑遍历。
在本发明的一实施例中,所述比对模块3用以通过后端数据库返回的数据来对应UI地图上json文件的数据,并在每个需要提取code的接口中添加断言,断言包括code不为0的断言,来检查数据库中错误数据;如接口请求报错即后端数据库返回的数据与前端地图图形界面展示的地图数据不匹配,生成测试报告,报告中详细的定位的bug的方向。
在一实施例中,所述软件测试系统可以包括电梯信息显示模块,用以显示被选定电梯的设定信息。选定电梯可以依次经过国家、省份、城市、区、街道(或乡镇)、居委会(或村)、小区,从而获取得到对应的电梯。
综上所述,本发明提出的软件测试方法及系统,可提高测试效率及测试精确度,确保数据展示的正确性及准确度。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施;例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中;例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现;例如,作为与处理器配合从而执行各个步骤或功能的电路。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。实施例中所涉及的效果或优点可因多种因素干扰而可能不能在实施例中体现,对于效果或优点的描述不用于对实施例进行限制。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
- 软件系统的异常测试方法、系统和软件测试系统
- 一种软件测试方法及软件测试自动化管理系统