两个小案例

2023-10-26

今天收获了两个小案例。其实对工作都很有启发,把案例和心得在这里记录下来,希望对别人也有帮助。

案例1:

测试人员在测试系统发现在系统A和系统B之间通过总线通讯,偶尔会出现timeout现象。反馈开发后,开发难以重现。根据简要分析后,认为是测试系统性能不行,拍胸脯保证在生产系统,用于系统通讯的总线不会出现这种问题。测试人员加强了性能测试强度,发现硬件提高后,的确性能测试场景中未能重现timeout。最终否决了缺陷。结果上到生产上后,timeout又出现了,而且对核心业务产生了一定影响(多亏有补救办法)。最后用生产数据分析,是有些报文过长的时候,的确会产生性能问题。

 

分析:

性能测试虽然模拟了峰值压力,但是没有使用真正的生产数据。测试数据中没有包含生产系统中比较少的那种情况产生的数据。在性能测试过程中,尽可能的选择与生产数据相近的数据或者直接使用生产系统复制下来的随机数据可以更有效的检出问题。

测试人员虽然测出了问题,且有一定几率重现,没有深究这个bug。其实如果没有太大的进度压力,应该推动开发同事找到根因,这在核心交易系统测试的时候尤为重要。大部分有一定规模的公司会有系统分级的定义,较高级别的系统,如果存在这样的“issue”是不满足测试出口条件的。

 

案例2:

一个新的功能上线后,发现存在收益漏洞,不得不暂时手工purge异常交易(还好有收益整合系统能及时检测出)。而这个收益漏洞产生的原因是:有用户使用了现行系统十几年前的一个边缘功能(早已无人使用)打破了现有业务的完整性。初步推断是从业的老手所为。

 

分析:

当一个系统复杂到一定地步(往往涉及多个子系统),不断修改、运营多年后,肯定会出现业务完整性被打破的情况。这种例子屡见不鲜,举两个我有清晰印象的小例子:还记得前几年联通玩的几百个套餐组合的营销么?因为控制不了复杂度,引发了好多bug,包括很多原有系统隐形bug,最后不得不草草收场。今年6月份我在一个中型电商网站上也亲历了这样一个bug,网站临时搞促销活动,做组合销售,买一本高折扣的书,搭配一本指定书籍后,折扣会加15个百分点。你选择指定书籍后跳转到到结算页面后删除被搭配的书,15个点的折扣还在。

如何解决这个问题呢?能想到的有这么几条方法:

1.对于历史遗留系统:定期找BA做业务完整性检查,梳理业务交叉可能带来的影响。这个其实挺难做的,对于大系统,豢养几个上下业务都精通的BA尤为重要。从外边找点儿外专帮助做业务渗透测试也是好办法,安全测试这么玩很有效,金融业也有这样的流动查漏队伍。看过史泰龙和施瓦辛格这两年拍的片子《金蝉脱壳》么?

2.大规模自动化回归测试也是一种不错的手段,当然回归测试的用例得专门有一部分是“场景测试案例”(我们一般叫做长流程案例或者业务端到端案例)。

3.采取某种业务建模的方法。如UML系列,BPMN,这两种东西都能够从一定程度上识别业务相关性,业务交叉点的信息,帮助测试人员设计出这种集成测试用例(有时候也叫兼容测试用例,关联测试用例)。

4.基于场景的测试分析建模方法,状态转换图法,基于模型的测试(状态转换图法是基于模型的测试的一种常见实现形式)都是很好的应对这种业务密集型产品滚动演进过程的好方法。

5.实时系统(飞控,机控),医疗设备,与钱相关的,超高访问量的,与库存相关的这样的系统应该把风险最大的区域做通透的测试,不然出事儿都不是小事儿。

 

转载于:https://www.cnblogs.com/skytraveler/p/3906071.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两个小案例 的相关文章

  • 测试用例设计方法——等价类

    等价类 思路 输入的集合是无穷的 不能全部都覆盖到 依据需求将输入 特殊情况下会考虑输出 划分为若干个等价类 从等价类中挑选一个测试用例 如果这个测试用例通过 则认为所代表的等价类通过 这样就可以用较少的测试用例达到尽可能多的功能覆盖 解决
  • Servlet+JSP+JavaBean开发模式(MVC)介绍

    好伤心 写登陆注册之前看见一篇很好的博文 没有收藏 然后找不到了 前几天在知乎上看见一个问题 什么时候感觉最无力 前两天一直想回答 尝试过google到的所有solve case 结果bug依然在 今天想回答 明明遇见过 就是找不到那篇文的
  • Ubuntu18.04环境下Gtest框架安装测试

    准备 在安装Gtest框架之前在linux上安装好cmke g 工具 sudo apt get install cmake sudo apt get install g 方法一 下载Gtest压缩包解压安装 最新版本的Gtest下载链接 h
  • 各种系统框架图简介(转载)

    原文出处 http space itpub net 6517 viewspace 609654 1 Spring 架构图 Spring 是一个开源 框架 是为了解决企业 应用程序开发复杂性而创建的 框架的主要优势之一就是其分层架构 分层架构
  • android分析monkey的anr

    1 根据anr信息和traces txt判断anr是发生在那个进程中 2 在文件夹logs4android x中搜索 ANR 或者在monkeylog中搜索 anr in 找到发生anr的时间 3 在文件夹logs4android x中搜索
  • 微软和Facebook推出Docs.com

    来源 德胜网 4月22日 据国外媒体报道 Facebook和微软在联手一项在线文件共享服务 看起来多一点像Google Docs 周三在Facebook的F8会议Docs com上线 该网站允许Facebook用户使用Facebook连接登
  • 【测试】三张图解读 CI/CD

    文章目录 前言 CI CD 的概述 CI持续集成 Continuous Integration 持续集成小结 CD 持续交付 Continuous Delivery 持续交付小结 CD 持续部署 Continuous Deployment
  • 优秀软件测试工程师必备的8个能力!-(附思维导图)

    结合自己以往的工作经验 自己梳理出来一些材料 绝对原创 绝对干货 优秀的软件测试工程师必备的 8个能力 作为一名软件工程师 需要的能力并不多 但是要成为一名优秀的软件测试工程师 需要的能力就比较多了 自己整理出来8个方面 每个方面都会分成很
  • cpu的出错概率?

    我今天想到了一个很不懂的问题 cpu执行指令会出错吗 出错的概率是多少 为什么服务器能够不间断的工作很长时间呢 难道cpu指令级的东西不会出错 操作系统怎么避免这些错误呢 2012 5 27 找到一篇文章 http wuyudong blo
  • 软件测试人员必备的60个测试工具清单,果断收藏了!

    据统计 中国软件外包市场的潜力和机会已远远超过软件王国印度 不过由于软件人才的严重不足致使我国软件发展遭遇 瓶颈 国家为了大力培养软件人才 不断采取积极有效的措施 我国对软件测试人才的需求数量还将持续增加 因此软件测试工程师也就成为了IT职
  • 【Google测试之道】第三章 测试工程师

  • 整理一下go的ci工具

    代码格式化 go fmt fileName go goimports 自动格式化import goimports w fileName go mod 自动更新 删除包 go mod tidy 检查注释是否符合导出 1 安装revive go
  • 黑盒测试用例设计--题目2

    1 根据下面给出的规格说明 进行测试用例的设计 一个程序读入3个整数 把这三个数值看作一个三角形的3条边的长度值 这个程序要打印出信息 说明这个三角形是普通的 是等腰的 还是等边的 测试用例 2 保险费率计算 某保险公司承担人寿保险 该公司
  • 漫谈软件测试工程师与mercury认证

    漫谈软件测试工程师与mercury认证 出自无忧网 作者 叶赫华 sinckyzhang hotmail com 自从本人从事软件测试培训以来 接触了太多的软件测试工程师 发觉从业者多数存在以下现象 刚刚毕业 踏入IT行业 不懂开发或开发经
  • 【app测试】adb常用指令及华为卸载预置软件

    adb基础指令 1 adb devices 显示当前运行的全部Android设备 2 adb s 设备编号 对某一设备执行命令 3 adb install APK路径 安装应用程序 r表示replace覆盖安装 连接了多台设备时 需要指定设
  • 自学软件测试需要多久?怎么自学软件测试?自学软件测试可以找到工作吗? 绝对干货!

    一 前言 最近经常有很多朋友问我想要入行软件测试 但是都不知道该怎么学 这里详细的给大家说下 对于0基础的朋友 应该怎么去学习软件测试 学习软件测试有2条路可以选 1 找个靠谱的培训机构去培训啦 你就什么都不用想了 跟着培训结构认真的学习就
  • IntelliJ IDEA中如何使用JUnit4

    背景 最近参与了一个Anroid医疗项目 其中项目底层有很多基础类及通讯类 而且很多涉及复杂的字节操作还有多线程同步及状态机处理 这样的项目做一下TDD还是必要的 尽量项目前期把风险降低一些 现在的问题是本人使用的是IntelliJ开发的A
  • PO模式+数据驱动(TPshop网站的登录模块进行单元测试以及区分正向逆向用例)

    一 区分正向逆向用例 思路 在测试数据中添加一一个标识正向用例或逆向用例的标记 如 True False 步骤 调用登录方法 此登录方法中 只有输入用户名 输入密码 输入验证码 点击登录按钮 判断用例标记 判断安全退出是否存在 点击安全退出
  • 如何做自动化测试

    这个话题比较大 相信大家也都有自己的想法 我在这里写一些我自己的看法 请大家指教 什么叫做自动化测试工程师 首先 会使用自动化测试工具的测试人员不能够称之为完全的自动化测试人员 这类测试人员被称为 工具小子 Script Kid 这个阶段还
  • Mockito3.x详解

    目录 Mockito 1 简单示例 2 打桩测试 3 参数匹配器 4 调用次数验证 5 通过打桩为无返回值函数抛出异常 6 验证调用顺序 7 验证从未发生过的交互

随机推荐

  • LAMP-web平台搭建(Linux+apache+mysql+php)

    一 介绍 apache 实现网页共享传输 MySQL 数据存储 PHP 实现页面解析 浏览器仅能解析简单的HTML语言 无法直接解析PHP语言 二 部署方式 yum 安装 优点 安装部署便捷 快速 缺点 软件版本固定 且版本较低 源码安装
  • OkHttpClient 发送请求示例

    import okhttp3 import java util Map 类名称 OkHttpClientUtil 类描述 OkHttp 客户端 public class OkHttpClientUtil public static Stri
  • linux内存利用率多少合适,如何理解linux服务器中的内存使用率和平均负载

    我使用的是具有128GB内存和24个内核的 Linux服务器 我使用top来查看它的使用量 它的输出粘贴在帖子的末尾 这是两个问题 1 我看到每个正在运行的进程占用很小的内存百分比 MEM不超过0 2 大多数只有0 0 但总内存几乎与第四行
  • 第四章 课后习题

    一 填空题 1 如类果类A继承了B 那么类A被称为 派生 类 而类B被称为 基 类 2 C 的两种继承为 单继承 和 多继承 3 在默认情况下的继承方式为 私有继承方式 4 从基类中公有派生一个类时 基类的公有成员就成为派生类的 公有 成员
  • 【教程】Edraw Max使用教程:Edraw Max快速入门指南

    Edraw Max是一款简单易用的快速制图软件 帮助你轻松创建流程图 网络拓扑图 组织结构图 商业图表 工程图 思维导图 软件设计图和平面布局图等 大多数用户一般不会花太多时间详细阅读用户手册 因此我们编辑了这个快速入门指南 为帮助你尽快开
  • 前端 jQuery 如何将时间转换为yyyy-MM-dd格式的

    可以使用 JavaScript 内置的 Date 对象和其提供的方法来实现将时间转换为指定格式的字符串 具体可以使用以下代码 假设现在的时间是 2023年3月25日 const date new Date 创建一个 Date 对象 cons
  • INSTALL_FAILED_DUPLICATE_PERMISSION 安装失败的问题

    今天在开发的时候遇到一个问题app安装的时候android studio报 INSTALL FAILED DUPLICATE PERMISSION这个东西 然后把以前自己开发的一个项目卸载了 这个项目成功运行起来了 最后发现是我在做第二个项
  • 解决vscode输出中文乱码问题

    原因 输入编码和Windows系统输出编码方式不同 查看vscode编码方式 可以看到vscode中的默认编码方式是UTF 8 接下来通过cmd下的chcp命令查看系统的默认编码方式 936代表GBK 可以看到编码方式不同 解决方法 1 临
  • 基于微信小程序的垃圾废品回收类软件

    随着我国经济迅速发展 人们对手机的需求越来越大 各种手机软件也都在被广泛应用 但是对于手机进行数据信息管理 对于手机的各种软件也是备受用户的喜爱 废品回收类小程序被用户普遍使用 为方便用户能够可以随时进行废品回收类小程序的数据信息管理 特开
  • Pycharm 中文乱码解决,统一设置 UTF-8,再也不会乱码了

    背景 当我们在使用pycharm编写代码的时候 为了避免乱码问题 我们统一用utf 8编码 由于Python源代码也是一个文本文件 所以当你的源代码包含中文的时候 在保存源代码的时候就务必指定保存为UTF 8编码 但是有很的多的小伙伴还不知
  • VMware Workstation 16 Pro 安装及设置

    前言 VMware Workstation 是一个运行在window或Linux系统的软件 使开发人员能够在同一台 PC 上同时运行多个基于 x86 的 Windows Linux 和其他操作系统 本篇文章主要介绍VMware最新版本 VM
  • 键盘录入月份的值,输出对应的季节

    键盘录入月份的值 输出对应的季节 if switch 实现 输入 3 4 5 输出 春季 输入 6 7 8 输出 夏季 输入 9 10 11 秋季 输出 12 1 2 冬季 使用if选择结构语句 import java util Scann
  • Windows批处理获取指定格式的年月日和时间

    Windows批处理获取指定格式的系统年月日和时间 bat命令行输入获取系统当前日期的指定 date T 会打印出当前日期 2 但如果我们只想要日期中的year month day 可以自己定义设置显示日期 如下所示 date x y x的
  • 【概念】FISCO-BCOS证书进行Dapp开发需要注意什么?讲解config.ini,group.id.genesis,group.id.ini

    前言 FISCO BCOS是联盟链 一说到联盟链就少不了证书的存在 无论是节点证书还是加密证书都有着重要的作用 目前证书配置最多的是hyperledger fabric 这一节我们就简单的讲一下爱FISCO BCOS中的证书 证书 首先我们
  • 提升Python程序运行效率的方法总结

    使用Python中的timeit函数测试程序运行效率 def timeit stmt pass setup pass timer
  • python连接Mysql数据库,java读取python脚本实现动态传参以及增删改查等操作的个人学习记录心得

    目录 前言 一 项目的概述 二 Mysql数据库 1 导入数据 2 数据库增删改查 三 java读取python脚本 并实现动态传参 1 初期探索 2 具体实例 a 数据库的删除操作 b 数据库的添加操作 四 其他细节的问题 总结 前言 这
  • Docker安装MySQL

    签名 但行好事 莫问前程 文章目录 前言 一 查看镜像 二 拉取镜像 指定版本MySQL5 7 三 运行容器 数据挂载 四 测试连接 总结 前言 记录Docker安装MySQL的过程 容器数据卷 我们知道Docker通过镜像创建了容器 当容
  • 机器工厂——贪心

    题目描述 小T开办了一家机器工厂 在N N lt 10000 个星期内 原材料成本和劳动力价格不断起伏 第i周生产一台机器需要花费Ci 1 lt Ci lt 5000 元 若没把机器卖出去 每保养一台机器 每周需要花费S 1 lt S lt
  • Android Arouter 框架子类Autowired 报错的问题解决

    对于子类继承父类 父类再继承BaseActivity BaseActivity中使用inject 方法的情况下 需要在父类中写入 Autowired open lateinit var hardware HardWare 在子类中写入 Au
  • 两个小案例

    今天收获了两个小案例 其实对工作都很有启发 把案例和心得在这里记录下来 希望对别人也有帮助 案例1 测试人员在测试系统发现在系统A和系统B之间通过总线通讯 偶尔会出现timeout现象 反馈开发后 开发难以重现 根据简要分析后 认为是测试系