一种业务系统的测试方法及装置
技术领域
本申请涉及业务系统的测试领域,具体涉及一种业务系统的测试方法及装置。
背景技术
业务系统是用户使用的系统。用户输入各种条件,进行各种操作,都会调用算法,经过算法运算将结果在业务系统的用户界面显示出来。
业务系统的算法非常复杂,并且通常涉及多个维度,常量和中间变量繁多,算法的中间步骤的运算数据多为几何维度,经过计算后的输出结果可能多达近600个。并且,中间步骤输出的中间结果数据量非常大,且相互之间存在很大的关联关系。中间步骤的一个很小的错误,都会导致最终结果的错误。
目前的业务系统测试方法,当最终结果出现错误时,无法快速定位出哪个中间步骤出现错误。
发明内容
一方面,本发明实施例提供一种业务系统的测试方法,所述方法包括:
获取输入数据和输入条件;
构建与所述输入数据和输入条件对应的算法相关的测试模板;
基于所述测试模板对所述输入数据和输入条件进行计算以获取第一最终结果和若干第一中间结果;
判断所述第一最终结果与第二最终结果是否一致,其中所述第二最终结果是所述业务系统基于所述输入数据和输入条件生成的结果;
如果否,获取所述业务系统的后台日志,所述后台日志包括与所述若干第一中间结果相对应的若干第二中间结果;
判断所述若干第一中间结果与相对应的所述若干第二中间结果是否对应一致;
如果否,定位到错误中间步骤,其中所述错误中间步骤的第一中间结果与相对应的第二中间结果不一致。
可选地,所述方法还包括:
记录并输入所有所述错误中间步骤的第一中间结果。
可选地,所述判断所述第一最终结果与第二最终结果是否一致前,所述方法还包括:
配置所述第一最终结果的数据格式与所述第二最终结果的数据格式一致。
可选地,所述判断所述第一最终结果与第二最终结果是否一致前,所述方法还包括:
获取基础数据和配置数据;
获取维度数据;
根据所述维度数据对所述基础数据和配置数据进行算法运算;
将算法运算获得的所述第二最终结果和所述若干第二中间结果保存至所述业务系统的后台日志。
可选地,所述方法还包括:
如果所述第一最终结果与第二最终结果一致,则返回获取输入数据和输入条件的步骤。
可选地,所述方法还包括:
返回获取输入数据和输入条件的步骤。
可选地,所述方法还包括:
将所述错误中间步骤对应的第一中间结果进行标示。
另一方面,本发明实施例还提供一种业务系统的测试装置,所述装置包括:
第一获取单元,用于获取输入数据和输入条件;
构建单元,用于构建与所述输入数据和输入条件对应的算法相关的测试模板;
第一计算单元,用于基于所述测试模板对所述输入数据和输入条件进行计算以获取第一最终结果和若干第一中间结果;
第一判断单元,用于判断所述第一最终结果与第二最终结果是否一致,其中所述第二最终结果是所述业务系统基于所述输入数据和输入条件生成的结果;
第二获取单元,用于在所述第一最终结果与第二最终结果不一致时获取所述业务系统的后台日志,所述后台日志包括与所述若干第一中间结果相对应的若干第二中间结果;
第二判断单元,用于判断所述若干第一中间结果与相对应的所述若干第二中间结果是否对应一致;
定位单元,用于在所述若干第一中间结果与相对应的所述若干第二中间结果不一致时,定位到错误中间步骤,其中所述错误中间步骤的第一中间结果与相对应的第二中间结果不一致。
可选地,所述装置还包括:
记录及输出单元,用于记录并输出所有所述错误中间步骤的第一中间结果。
可选地,所述装置还包括:
配置单元,用于配置所述第一最终结果的数据格式与所述第二最终结果的数据格式一致。
可选地,所述装置还包括:
第三获取单元,用于获取基础数据和配置数据;
第四获取单元,用于获取维度数据;
运算单元,用于根据所述维度数据对所述基础数据和配置数据进行算法运算;
保存单元,用于将算法运算获得的所述第二最终结果和所述若干第二中间结果保存至所述业务系统的后台日志。
可选地,所述装置还包括:
如果所述第一最终结果与第二最终结果一致,则返回获取输入数据和输入条件的步骤。
可选地,所述装置还包括:
返回单元,用于返回获取输入数据和输入条件的步骤。
可选地,所述装置还包括:
标示单元,用于将所述错误中间步骤对应的第一中间结果进行标示。
本发明实施例提供的业务系统的测试方法及测试装置,能够基于算法构建测试模板,在测试模板的基础上对输入数据和输入条件进行相应算法运算,从而得出测试模板下的第一最终结果以及各中间步骤产生的第一中间结果。将第一最终结果与系统自动计算的第二最终结果相比对,在第一最终结果和第二最终结果不一致时,对比各第一中间结果与相应的第二中间结果,从而快速定位出错误中间步骤。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明实施例中业务系统的基本工作流程的流程示意图;
图2是本发明实施例提供的一种业务系统的测试方法的流程示意图;
图3是本发明实施例提供的一种业务系统的测试装置的结构示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
用户可以在业务系统输入各种条件,调用算法,经过计算将结果在业务系统的用户界面上显示出来。
图1示出了本发明实施例中业务系统的基本工作流程。如图1所示,业务系统的基本工作流程可以包括如下步骤:
步骤S101:获取基础数据和配置数据;
基础数据可以是业务人员提供的不同维度的excel文件,每个excel文件下有大量的基础数据,例如:客户的敏感度、历史价格、预估季度价等。例如:
表一:
界面 |
敏感度 |
数值 |
客户A |
中级 |
1 |
客户B |
高级 |
3 |
或者,
表二:
然后,再根据表一或者表二进行后续算法运算。
配置数据可以是算法中的常量,如:业务线系数、行业系数、权限系数、城市级别系数、频道定向、频次控制、多屏调控等,例如:
业务系统可以提供基础数据导入功能,通过业务系统的数据导入功能可以将基础数据上传,以用于后续的算法运算;另外,业务系统也可以提供配置数据的入口,通过该入口可以上传配置数据,以配置业务系统常量数据,便于后续算法运算。
步骤S102:获取维度数据;
各维度数据可以构成查询条件。维度数据可以包括:平台分布、城市级别、数量级、时间、地域、业务线、行业、客户、预算等等。用户可以通过业务系统的用户界面输入这些维度数据。数量级是指某个指标下对应的数量。如:
城市级别:
KEY级20%,A级30%,B级50%;
平台分布:PC 25%,PAD 30%Phone 45%
月份:6月20天,8月30天
系统界面会有很多的输入条件,在页面输入/选择不同条件,会组合成不同的维度,如:PC,KEY,8,然后以该维度在导入的基础数据中获取相应的值,参与算法的计算。
业务系统获取到维度数据后,还可以对这些维度数据对应的数值进行有效性验证;如,某月的天数不能大于31天,2月闰年输入不能超过29天,非闰年不能超过28天等。
步骤S103:根据维度数据对基础数据和配置数据进行算法运算;
步骤S104:将算法运算获得的所述第二最终结果和所述若干第二中间结果保存至所述业务系统的后台日志。
另外,业务系统还可以将通过算法运算获得的第二最终结果和若干个第二中间结果按用户输入的维度分别显示在页面上。
这里的第二中间结果是指算法运算过程中,每个中间步骤产生的中间结果,整个运算过程包含若干个中间步骤,相应的,会有若干个中间结果。若干个第二中间结果和第二最终结果通过日志的形式输入在后台,可以方便跟踪和定位。
图2是本发明实施例提供的业务系统的测试方法的流程示意图。如果2所示,该方法可以包括:
步骤S201:获取输入数据和输入条件;
输入数据可以包括基础数据和配置数据,输入条件可以是维度数据。
可以通过分析业务系统正在执行或者刚刚结束的算法的执行过程,获取输入数据和输入条件。
维度数据可以包括时间维度数据、地域维度数据、终端类型及业务线等。
另外,还可以统计在算法执行过程中用到的系统常量,在业务系统进行测试前初始化到内存中;
分析算法,若中间步骤的产生的中间结果为多个算法的中间变量,则分类保存以便后续使用。
步骤S202:构建与所述输入数据和输入条件对应的算法相关的测试模板;
根据由用户界面输入的输入数据和输入条件的约束,设计测试模板。
分析最终用户界面,统计输入变量;
根据业务系统所登录用户的角色及用户是否为指定的某类用户等,筛选初始化的系统常量。
分析算法,将一些约束条件补充道系统常量中,便于计算时使用。
设计便于操作的excel为数据模板,设计每个sheet页存放的数据类型。
步骤S203:基于所述测试模板对所述输入数据和输入条件进行计算以获取第一最终结果和若干第一中间结果;
采用上述步骤构建的测试模板,对步骤S201输入的输入数据和输入条件进行算法运算,可以得到第一最终结果,以及各个中间步骤产生的若干个第一中间结果。其中,第一最终结果与第二最终结果相对应,若干第一中间结果与若干第二中间结果相对应。
准备数据库连接信息,查询中间步骤数据SQL。
获取测试环境数据库的连接信息,如IP、实例名、用户名/密码等;
分析数据库表存放数据的情况,提前准备中间步骤数据查询的SQL;
封装连接数据库连接方式、查询SQL的方法,便于测试时调度。
步骤S204:判断所述第一最终结果与第二最终结果是否一致,其中所述第二最终结果是所述业务系统基于所述输入数据和输入条件生成的结果;
另外,在判断第一最终结果和第二最终结果是否一致之前,还可以首先统一第一最终结果和第二最终结果的格式,例如可以将第一最终结果的格式配置成与第二最终结果的格式一致,或者将第二最终结果的格式配置成与第一最终结果的格式一致。
如果是,则业务系统的算法运算过程正确,测试成功。
如果否,执行步骤S205。
步骤S205:获取所述业务系统的后台日志,所述后台日志包括与所述若干第一中间结果相对应的若干第二中间结果;
步骤S206:判断所述若干第一中间结果与相对应的所述若干第二中间结果是否对应一致,如果否,执行步骤S207;
步骤S207:定位到错误中间步骤,其中所述错误中间步骤的第一中间结果与相对应的第二中间结果不一致。
本发明实施例提供的业务系统的测试方法,能够基于算法构建测试模板,在测试模板的基础上对输入数据和输入条件进行相应算法运算,从而得出测试模板下的第一最终结果以及各中间步骤产生的第一中间结果。将第一最终结果与系统自动计算的第二最终结果相比对,在第一最终结果和第二最终结果不一致时,对比各第一中间结果与相应的第二中间结果,从而快速定位出错误中间步骤。
需要说明的是,一些实施例中,上述业务系统的测试方法还可以包括:记录并输出所有所述错误中间步骤的第一中间结果,此外还可以标示(如高亮显示)这些错误中间步骤对应的第一中间结果。
另外,上述业务系统的测试方法还可以包括:如果所述第一最终结果与第二最终结果一致,则返回获取输入数据和输入条件的步骤。即,进行一个循环的过程。
此外,上述业务系统的测试方法还可以包括:返回获取输入数据和输入条件的步骤,以循环测试业务系统,找出错误中间步骤。
另外,本发明实施例还提供一种业务系统的测试装置,所述装置包括:
第一获取单元,用于获取输入数据和输入条件;
构建单元,用于构建与所述输入数据和输入条件对应的算法相关的测试模板;
第一计算单元,用于基于所述测试模板对所述输入数据和输入条件进行计算以获取第一最终结果和若干第一中间结果;
第一判断单元,用于判断所述第一最终结果与第二最终结果是否一致,其中所述第二最终结果是所述业务系统基于所述输入数据和输入条件生成的结果;
第二获取单元,用于在所述第一最终结果与第二最终结果不一致时获取所述业务系统的后台日志,所述后台日志包括与所述若干第一中间结果相对应的若干第二中间结果;
第二判断单元,用于判断所述若干第一中间结果与相对应的所述若干第二中间结果是否对应一致;
定位单元,用于在所述若干第一中间结果与相对应的所述若干第二中间结果不一致时,定位到错误中间步骤,其中所述错误中间步骤的第一中间结果与相对应的第二中间结果不一致。
可选地,所述装置还包括:
记录及输出单元,用于记录并输出所有所述错误中间步骤的第一中间结果。
可选地,所述装置还包括:
配置单元,用于配置所述第一最终结果的数据格式与所述第二最终结果的数据格式一致。
可选地,所述装置还包括:
第三获取单元,用于获取基础数据和配置数据;
第四获取单元,用于获取维度数据;
运算单元,用于根据所述维度数据对所述基础数据和配置数据进行算法运算;
保存单元,用于将算法运算获得的所述第二最终结果和所述若干第二中间结果保存至所述业务系统的后台日志。
可选地,所述装置还包括:
如果所述第一最终结果与第二最终结果一致,则返回获取输入数据和输入条件的步骤。
可选地,所述装置还包括:
返回单元,用于返回获取输入数据和输入条件的步骤。
可选地,所述装置还包括:
标示单元,用于将所述错误中间步骤对应的第一中间结果进行标示。
本发明实施例提供的业务系统的测试装置,能够基于算法构建测试模板,在测试模板的基础上对输入数据和输入条件进行相应算法运算,从而得出测试模板下的第一最终结果以及各中间步骤产生的第一中间结果。将第一最终结果与系统自动计算的第二最终结果相比对,在第一最终结果和第二最终结果不一致时,对比各第一中间结果与相应的第二中间结果,从而快速定位出错误中间步骤。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。