大数据测试用例分析

基于大数据分析,对业务系统产生的日志进行智能分析,能够识别日志中的接口、参数、业务流,并依据分析的结果生成测试用例。

问题与背景

业务复杂

业务系统的复杂性,对测试人员的业务能力提出严格要求,加重测试成本。

覆盖面低

系统功能的繁多与变化,导致难以全面覆盖。比如,某个版本某个接口参数新增了一个枚举值,测试人员并不知道

用例低效

测试用例的没计,高度依赖测试人员的能力,并且与真实用户的操作脱离。

需求与目标

一、数据源

某个系统的海量交易日志,主要是请求与响应日志报文

二、方法

通过对生产环境交易日志运用大数据分析,对主要业务进行识别

三、目标

根据日志而不是需求,来生成高覆盖率的测试案例

生成面向交易的案例

生成面向流程的案例

日志回放

大数据功能测试解决方案

一、参数分析:类型智能识别

对日志报文的参数的 【参数类型】进行自动识别,根据每个参数的值决定字段是:枚举型、数值型、字符串型。

二、单接口测试用例

根据测试用例等价类原则,产生单接口测试用例并支持导出操作。

三、流程化测试用例

以客户号、手机号、资金账户等标识用户角色为主线,以时间戳先后顺序进行对日志分析处理,生成流程化测试用例。

四、日志回放

使用生产日志进行回放。按用户标识进行归类,再排序后进行回放。

TBCD 系统的结构

本项目主要基于TBCD系统实现

TBCD系统:是“日志用例转换软件”的简称。本软件产品是我公司基于大数据分析,对业务系统产生的日志进行智能分析,能够识别日志中的接口、参数、业务流,并依据分析的结果生成测试用例。

测试案例生成流程

一、日志清洗

根据客户标识和业务规则关联请求报文与应答报文

日志清洗也是其它功能操作的前提

二、单接口

测试用例

单接口测试用例只分析日志调用的接口及数据,不进行业务场景和流程的分析。

单接口测试用例阶段会进行数据类型分析和输入值的等价类分析,让测试者掌握测试的覆盖情况。

三、流程化

测试用例

结合多种算法:循环分析、频度分析、数据流分析在庞大的日志数据中查找业务场景,生成流程类测试用例。

四、日志回放

重现用户的操作。

一、日志清洗

操作步骤:

使用方提供的日志

把存放目录日志的目录配置到BTCD中

输入标题,选择好日志类型,提交清洗

二、单接口测试用例中的等价类分析

下图是根据测试等价类原则产生的有效组合图表展示。

图标中的柱状图代表一个有效组合,Y轴取值代表组合出现的频度。

三、单接口测试用例的展示

下图是描述一个单接口测试用例的图形。

蓝色:入参, 红色:出参, 从内到外依次为:数据字段,类型,枚举值。

四、单接口测试用例的导出

可以将单接口导出为Excel格式执行。

左边是分析出的接口用例文件,右边是一个打开的接口文件。

五、流程化测试用例

分析出的流程化测试用例显示为列表。

支持流程测试用例的导出。(原子流是一个用户操作,普通流是不同用户的同一个操作;)

六、流程测试用例知识图谱

流程用例按功能号的使用路径,以图谱方式展现

图谱展现内容包括频次、功能号及顺序

图谱形式清晰易懂

产品价值

一、快速构建接口自动化的测试体系

二、重现生产问题,实现快速排查

三、完全实现模拟用户操作行为的自动化测试

四、无需脚本,无需设计用例,缩短测试周期

五、生产真实数据下的测试,完全模拟生产业务流程

六、测试过程,测试数据,测试结果集中管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/114185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源网安受邀参加数字安全高峰论坛,为数字经济发展保驾护航

​10月19日,“提升数字安全技术,护航数字经济发展”高峰论坛在常州创意产业园圆满完成。本次论坛由常州国家高新区管委会、常州市工业和信息化局、常州市大数据管理中心主办,聚焦“数据安全”主题,邀请了超百位专家及企业代表共同…

FROZEN TRANSFORMERS IN LANGUAGE MODELS ARE EFFECTIVE VISUAL ENCODER LAYERS

本文是LLM系列文章,针对《FROZEN TRANSFORMERS IN LANGUAGE MODELS ARE EFFECTIVE VISUAL ENCODER LAYERS》的翻译。 语言模型中的冻结Transformer是有效的视觉编码器层 摘要1 引言2 相关工作3 方法:用于视觉编码的冷冻LLMTransformer4 LLMTransformer在…

5种常用的冲突解决方法

1、撤退/回避:从实际或潜在冲突中退出,将问题推迟到准备充分的时候,或将问题推给其他人员解决; 2、缓和/包容:强调一致而非差异,为维持和谐与关系而退让一步,考虑其他方面的需求; …

华为云HECS服务器下docker可视化(portainer)

一、docker安装 华为云HECS安装docker-CSDN博客 二、portainer安装 portainer地址:Portainer: Docker and Kubernetes Management Platform 当前portainer分CE(开源版) 和 BE(商业版),用CE即可 1 创建…

Vue3开始

1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(海贼王) 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年…

c++23中的新功能之十七显示this的应用

一、显示this 在前面的文章中分析了显示this(Deducing This),具体的内容请移步《c23新功能之二语法中的Deducing This》,本篇对显示this对实际应用中的一些完善和更新形式进行分析说明,抛砖引玉。 二、CRTP的应用 在前面的学习中,学过CRTP…

ARM映像文件组成

引言 ARM编译器将各种源文件(汇编文件、C语言程序文件、C语言程序文件)编译生成ELF格式的目标文件(后缀为.o文件,以下将目标文件简称为.o文件),.o文件经过连接器,和C/C运行时库一起编译生成ELF格…

如何解决香港服务器使用的常见问题

​  站长们在选择香港服务器租用时会考虑到它的各种性能以及稳定性,这是必须的。但是使用过程中还有些问题也不容忽视,比如:带宽资源是否短缺,是否存在安全漏洞,连接是否正常等这些问题也要考虑到。 香港服务器使用中…

php判断是否是email格式

要判断一个字符串是否是有效的电子邮件地址,你可以使用正则表达式和PHP内置函数来完成。以下是一个示例代码: $email "exampleexample.com"; // 你要检查的电子邮件地址// 使用正则表达式检查电子邮件格式 if (filter_var($email, FILTER_VA…

数据库备份与恢复(实战mysqldump+bin-log)

一、为什么要进行数据库备份? 常见数据库备份的应用场景如下: 数据丢失应用场景: 人为操作失误造成某些数据被误操作 软件 BUG 造成部分数据或全部数据丢失 硬件故障造成数据库部分数据或全部数据丢失 安全漏洞被入侵数据恶意破坏 非数据丢…

UV统计 - HyperLogLog

UV统计 - HyperLogLog 首先我们搞懂两个概念: UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录1次。PV:全称Page View&#xff…

Leetcode—2331.计算布尔二叉树的值【简单】

2023每日刷题(六) Leetcode—2331.计算布尔二叉树的值 递归实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool evaluateTree(struct TreeNod…

【算法与数据结构】--算法应用--算法在实际问题中的应用

一、算法在搜索引擎中的应用 搜索引擎是计算机科学中算法应用的典型领域之一。搜索引擎的主要任务是帮助用户在海量数据中快速找到相关信息。以下是算法在搜索引擎中的主要应用: 爬虫算法:爬虫是搜索引擎的基础,用于自动抓取互联网上的网页…

2.1.C++项目:网络版五子棋对战之前置知识

文章目录 一、Websocketpp(一)Websocket介绍(二)报文格式(三)Websocketpp介绍(四)Websocketpp使用1.websocketpp常用接口介绍2. http/websocket服务器 (五)Js…

SLAM ORB-SLAM2(5)例程了解

SLAM ORB-SLAM2(5)例程了解 1. TUM 数据集1.1. 三种相机1.2. 目录结构2. 单目demo2.1. 参数校验2.2. 配置数据集图像路径2.3. 创建单目SLAM2.3. 处理图像数据2.4. 结束3. RGB-D demo3.1. 参数校验3.2. 配置数据集图像路径3.3. 创建 RGB-D SLAM3.3. 处理图像数据3.4. 结束4. 总…

动画制作软件 Animate 2024 mac中文版介绍说明(an2024) v24.0

Animate 2024 mac是一款动画制作软件,它能帮助用户轻松制作出各种精美的动画作品。 Animate 2024拥有强大而直观的设计工作流程,能够让用户自由地构建动画场景、绘制精美的图形,并轻松添加动态效果。无论是传统手绘风格还是骨骼动画&#xff…

rust的排序

Vec 中的 Methods from Deref<Target [T]> 示例 fn main() {let mut strings vec!["banana", "", "ban", "", "apple", "alpha", "cherry", "date"];strings.sort_by(|a, b| {if a…

CUDA学习笔记(七)Kernel性能调节

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/&#xff0c;仅用于学习。 Exposing Parallelism 这部分主要介绍并行分析&#xff0c;涉及掌握nvprof的几个metric参数&#xff0c;具体的这些调节为什么会影响性能会在后续博文解释。 代码准备 下面是我们的kernel…

类和对象介绍

一、类 1.类的声明 class Box{//类名private://私有成员double width,length,height;//长&#xff0c;宽&#xff0c;高 public://公有成员void init(double l,double w,double h){//初始化 lengthl;widthw;heighth;}double S(){//求表面积 return (height*lengthheight*width…

【Lua语法】字符串

Lua语言中的字符串是不可变值。不能像在C语言中那样直接改变某个字符串中的某个字符&#xff0c;但是可以通过创建一个新字符串的方式来达到修改的目的 print(add2(1 , 2 ,15,3))a "no one"b string.gsub(a , "no" , "on1111")print(a) print…