基于大数据分析,对业务系统产生的日志进行智能分析,能够识别日志中的接口、参数、业务流,并依据分析的结果生成测试用例。
问题与背景
业务复杂
业务系统的复杂性,对测试人员的业务能力提出严格要求,加重测试成本。
覆盖面低
系统功能的繁多与变化,导致难以全面覆盖。比如,某个版本某个接口参数新增了一个枚举值,测试人员并不知道
用例低效
测试用例的没计,高度依赖测试人员的能力,并且与真实用户的操作脱离。
需求与目标
一、数据源
某个系统的海量交易日志,主要是请求与响应日志报文
二、方法
通过对生产环境交易日志运用大数据分析,对主要业务进行识别
三、目标
根据日志而不是需求,来生成高覆盖率的测试案例
生成面向交易的案例
生成面向流程的案例
日志回放
大数据功能测试解决方案
一、参数分析:类型智能识别
对日志报文的参数的 【参数类型】进行自动识别,根据每个参数的值决定字段是:枚举型、数值型、字符串型。
二、单接口测试用例
根据测试用例等价类原则,产生单接口测试用例并支持导出操作。
三、流程化测试用例
以客户号、手机号、资金账户等标识用户角色为主线,以时间戳先后顺序进行对日志分析处理,生成流程化测试用例。
四、日志回放
使用生产日志进行回放。按用户标识进行归类,再排序后进行回放。
TBCD 系统的结构
本项目主要基于TBCD系统实现
TBCD系统:是“日志用例转换软件”的简称。本软件产品是我公司基于大数据分析,对业务系统产生的日志进行智能分析,能够识别日志中的接口、参数、业务流,并依据分析的结果生成测试用例。
测试案例生成流程
一、日志清洗
根据客户标识和业务规则关联请求报文与应答报文
日志清洗也是其它功能操作的前提
二、单接口
测试用例
单接口测试用例只分析日志调用的接口及数据,不进行业务场景和流程的分析。
单接口测试用例阶段会进行数据类型分析和输入值的等价类分析,让测试者掌握测试的覆盖情况。
三、流程化
测试用例
结合多种算法:循环分析、频度分析、数据流分析在庞大的日志数据中查找业务场景,生成流程类测试用例。
四、日志回放
重现用户的操作。
一、日志清洗
操作步骤:
使用方提供的日志
把存放目录日志的目录配置到BTCD中
输入标题,选择好日志类型,提交清洗
二、单接口测试用例中的等价类分析
下图是根据测试等价类原则产生的有效组合图表展示。
图标中的柱状图代表一个有效组合,Y轴取值代表组合出现的频度。
三、单接口测试用例的展示
下图是描述一个单接口测试用例的图形。
蓝色:入参, 红色:出参, 从内到外依次为:数据字段,类型,枚举值。
四、单接口测试用例的导出
可以将单接口导出为Excel格式执行。
左边是分析出的接口用例文件,右边是一个打开的接口文件。
五、流程化测试用例
分析出的流程化测试用例显示为列表。
支持流程测试用例的导出。(原子流是一个用户操作,普通流是不同用户的同一个操作;)
六、流程测试用例知识图谱
流程用例按功能号的使用路径,以图谱方式展现
图谱展现内容包括频次、功能号及顺序
图谱形式清晰易懂
产品价值
一、快速构建接口自动化的测试体系
二、重现生产问题,实现快速排查
三、完全实现模拟用户操作行为的自动化测试
四、无需脚本,无需设计用例,缩短测试周期
五、生产真实数据下的测试,完全模拟生产业务流程
六、测试过程,测试数据,测试结果集中管理