两个小案例

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

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

两个小案例,布布扣,bubuko.com

时间: 2025-01-31 15:49:30

两个小案例的相关文章

session的两个小案例

学完了session,写两个小案例加深一下对session的巩固. 1. 用户登陆案例 登陆html页面提交后,将参数带给处理登陆的servlet,该servlet将获得登陆的用户名和密码,并将这些信息存入session中,另一个servlet在处理的时候,会先从session中拿到用户的信息,判断是否登陆,再执行相应的动作.主要模拟一下我们常见的场景:登陆后,网页上会显示:欢饮您,xxx. 首先我们看一下欢迎页面index.jsp(这里只是简单的模拟下,后面学了jsp的标签后可以弄的更加人性化

几个数据库的小案例(一):将文本文件中的信息导入数据库的表中

从文本文件添加到数据库用户表的记录(有两个文件:frmMain.cs  SqlHelper.cs  ) //FrmMain.cs//作者:Meusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Fo

几个数据库的小案例(二):极其简单的省市联动

总用有两个文件(frmMain.cs SqlHelper.cs) //frmMain.cs//作者:Meusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 省市联动

这两款小程序,你春节一定用得上!wewx.cn[微信小程序商店]

当小程序正式发布的火爆期逐渐过去,我们是时候该思考一下,什么样的小程序才能保持长久的生命力?或者说,什么行业才适合做小程序? 在微信官方给出的案例中,旅游.出行将是未来小程序的重要领域.那么,这个行业的大公司有什么动作呢? 今天,我们就跟大家一起来看看,去哪儿推出的两款小程序,以及他们对小程序的定位和目标. 去哪儿做了什么小程序? 截至目前为止,去哪儿一共推出了两款小程序,「去哪个酒店」和「去哪儿出行」,分别满足用户「订酒店」和「订票」的需求. 「去哪儿酒店」和「去哪儿出行」已进驻wewx.cn

宝宝情商教育 小案例

一. 父母健康的教养方式与示范作用 家庭是孩子人生的第一个环境,亲子关系是孩子建立的第一个人际关系.孩子对待自己的情绪和环境的态度很大程度上是在家庭中形成的.父母的教养方式,家庭内部的氛围对孩子情商的发展起着至为关键的作用. 比如我们上面讲到影响情商的要素中的敏感程度.人对痛苦的敏感程度不同,跟早期的童年生活环境和父母的教养态度有直接关系.早年困苦的孩子相对于家境富 裕的孩子更容易忍受物质的困乏和身体的劳累,农村的孩子往往比城市的孩子更努力.但是父母的教养方式和教育要求对孩子也起到极大程度的左右

css小案例:导航栏特效

css小案例:导航栏特效,实现如下图所示效果: 首先可以将html代码写出: 1 <nav class="cl-effect-1"> 2 <a href="#">Umbrella</a> 3 <a href="#">Ineffable</a> 4 <a href="#">Lilt</a> 5 <a href="#"&g

sqoop操作之ETL小案例

Extraction-Transformation-Loading的缩写,中文名称为数据提取.转换和加载.将数据从ORACLE中抽取数据,经过hive进行分析转换,最后存放到ORACLE中去. 本案例是纯demo级别,练手使用 一.需求将emp和dept表的数据分析最后存放到result表. emp和dept表均为oracle自带的表,表结构如下: emp表 EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIRE

android闹钟小案例之功能阐述

最近花了一个星期左右的时间做了一个小闹钟,现在回过头来进行总结下.刚开始接触这个案例,总体觉着没有太大的难度,都是一些基础知识的堆砌,可现实总比理想残酷啊,这几天下来,每天都会有意料之外的bug出现.在debug的过程中,深深体会到了百度一下和谷歌谷歌的用处,基本常见的问题都可以在这里得到提示甚至答案.这篇文章先来介绍下这个案例所实现的功能,接下来再用几遍文章记录所用到的知识点. 功能简介: 1.闹钟基本功能:和平时的闹钟一样,用户在界面选择闹钟响起的时间,到达所设定时间后执行相应的指定操作.

android闹钟小案例之知识点总结

上一篇文章对近期做的小闹钟做了功能阐述,现在来总结下整个开发过程中所用到的一些知识点: 1.TimePicker的监听 TimePicker控件是整个应用的核心,其它的操作都得基于对该控件的正确操控.对该控件的操作重要就是为其设置监听器,在监听事件中获取用户设置的时间. private Calendar calendar=Calendar.getInstance();//创建calendar对象 private class OnTimeChangedListenerImpl implements