《Web测试囧事》——2.3 修改产品代码时忽视了对遗留数据的处理

2.3 修改产品代码时忽视了对遗留数据的处理

在线购物平台通常允许商户展示很多商品信息,而商户一般会批量上传这些信息。小蔡所在的产品团队也为用户提供了这一功能,允许他们使用规定格式的XML文件批量上传商品信息(见图2-3)。

以批量上传图书信息为例,商户通过在XML里设置店铺的ID,商品ID、分类、名称、ISBN、作者、图书类别、价格、出版日期、简介和图书页数,就可以一次性完成多本图书信息的上传。

在功能上线后的一段时间内,业务方根据商户使用的反馈,发现需要对上传XML的字段进行如下修改。

产品团队很快根据业务方的反馈进行了代码的修改,修改后的XML格式如图2-4所示。

对于业务方反馈的第一点枚举值的问题,产品团队在代码中进行了修改;而对于第2点中商户不设置主图的处理,产品团队同样只能在代码中进行改动。

小蔡在XML修改前后都使用上传XML的方式进行了测试,没有发现问题。在完成相关功能测试后,她在执行探索性测试时,发现对之前的遗留数据,也就是更改XML和产品代码之前的商品页面进行浏览的时候,页面会显示错误信息,而新上传的商品却没有问题。

这次功能修改只包含业务方提出的3个反馈,所以小蔡和开发人员根据这个思路寻找问题所在。

开发人员很快对这个问题进行了修改和部署,小蔡根据这次的经验,全面地设计并完成了各种测试场景。

小蔡通过这个例子学到了一点:在功能上线使用的情况下,如果对功能涉及的数据字段有了修改,一定要测试对遗留数据的处理和兼容情况,最好在设计和编写代码时就考虑对遗留数据进行数据迁移(Data migration),并为之设计回归测试。


时间: 2024-12-26 22:24:24

《Web测试囧事》——2.3 修改产品代码时忽视了对遗留数据的处理的相关文章

《Web测试囧事》——导读

前 言 为什么要写这本书 1)人不能像走兽那样活着,应该追求知识和美德.--但丁 2)助人为乐,人生一美德. 我们4个作者加起来年龄过百,而且有着年超半百的工作经验,算起来也是测试领域的老鸟了. 根据上面的1)和2),我们得出一个很重要的结论: 经过这么多年在工作中不断总结经验,时不时与Bug斗智斗勇,最后提炼出来的经验,我们希望能分享给更多的人,更重要的是能抛砖引玉,引发对更优秀的工作方式和实践的思考. 为什么需要看这本书 怎样判断你是否需要这本书?以下场景,如果8条以内你都似曾相识,那么请看

《Web测试囧事》——1.4 利用JavaScript加载的漏洞提前购买抢购商品

1.4 利用JavaScript加载的漏洞提前购买抢购商品 自从小米手机推出以来,抢购风潮在各类网站上盛行起来,小蔡测试的网站自然也不能免俗,项目组开发的网站也包含了抢购功能. 对于抢购来说,只有到了特定的时间后,商品才会开放并允许抢购,并且抢购网页的代码里使用的时间会定期和服务器进行同步. 小蔡设计了丰富和全面的测试用例,在执行基础测试用例过程中没有发现抢购功能的Bug,不过在进行多地区和多语言的性能测试时,她发现了一个功能上的漏洞,发现漏洞的过程是这样的. 在执行性能测试时,需要选取不同国家

《Web测试囧事》——第1章 功能测试:技术篇 1.1 输入框中输入超过最大允许值造成页面跳转溢出

第1章 功能测试:技术篇 提到测试,大家首先会想到的就是功能性的测试,因为只有保证了产品的基本功能和流程,产品才具备给用户提供使用价值的能力,从而才有可能确定产品的核心竞争力.基于这一点,不仅测试人员和开发人员,还有产品经理.项目经理.业务方对功能完备性和正确性的重视程度也往往都是最高的.这也使得功能测试成为任何测试类型的基础. 在进行功能测试时,我们会使用诸如边界值分析.等价类划分.因果分析.组合测试(Pairwise Testing)等测试方法来设计和规划测试用例,但是这些方法大多都是从书本

《Web测试囧事》——1.11 IE 9不支持占位符导致搜索行为异常

1.11 IE 9不支持占位符导致搜索行为异常 对于浏览器兼容性测试,一直都是Web测试中重要的一环,小蔡在测试产品中自然也不能漏掉. 由于小蔡测试的产品是面向普通用户的,所以小蔡选择进行测试的浏览器,也是开发团队选择优先支持的浏览器,是基于市场占有率最高的几款浏览器:Chrome.Firefox.Safari和IE.这些浏览器的版本也很多,如果全部支持也是不可能的,所以开发团队选择支持最新版本的Chrome.Firefox和Safari,以及IE 9-IE 11,还有IE EDGE. Chro

《Web测试囧事》——2.6 时区不一致造成邮件发送异常

2.6 时区不一致造成邮件发送异常 小蔡一直对产品的后台系统测试比较感兴趣,但是自己并没有这方面的测试经验,所以一直不敢向老牛提出自己想去测试后台系统的想法.她虽然没有明说,但是老牛却看在眼里.刚巧最近产品新增了根据用户收藏的商品,定期向用户发送邮件的功能.老牛就指派小蔡去做新功能的测试,也借这个机会锻炼一下她. 小蔡首先根据自己的经验设计了正向测试用例. 1)在用户收藏商品之后,当达到指定条件,系统会向用户发送邮件. 2)她还设计了逆向测试用例,包括邮件系统本身出错时的一些场景,例如: 小蔡觉

《Web测试囧事》——1.6 多次操作本该禁用的页面组件造成服务器出错

1.6 多次操作本该禁用的页面组件造成服务器出错 对页面上的组件进行多次点击是测试人员经常使用的小技巧之一,通常小蔡在执行完基本测试用例之后,开始进行探索性测试时会使用这个技巧,并且利用这个测试技巧发现了不少问题. 这些问题主要集中在用户提交服务器请求后服务器进行处理的相关功能上,例如读取.保存.提交.删除等功能(见图1-12). 小蔡发现如果网络速度比较慢或者产品本身性能不够好,在用户点击了这些功能按钮后,而页面刷新完成之前这段时间内,该功能按钮仍然可能被用户继续点击.即使有些页面上的按钮处于

《Web测试囧事》——2.5 异常场景处理不全面导致功能缺陷

2.5 异常场景处理不全面导致功能缺陷 很多测试人员在面试时会被问到如何针对特定产品测试,需要考虑哪些方面时,思路都会从两方面发散:正常场景.非正常/异常场景开始回答.从思维模式来说,测试人员就不同于开发人员比较习惯的正向思维,而是更多地从异常场景.用户场景等出发,全面地考虑使用产品时会出现的各种可能性,并通过给这些场景分配优先级来指导测试的执行. 但是测试人员并不是无所不能的,有很多异常场景光了解功能性需求是不够的,还需要了解一些架构与部署等非功能性需求.所以在设计测试场景,尤其是异常的测试场

《Web测试囧事》——第3章 功能测试:测试实践篇 3.1 修改充值金额范围遗漏的产品Bug

第3章 功能测试:测试实践篇 前两章我们介绍了在功能测试中使用特定的开发和测试技术手段如何避免问题,那除此之外还有没有什么别的方式可以同样起到预防作用呢? 答案是肯定的,例如本章我们介绍的通过引入某些测试实践来避免和预防Bug.现在让我们一起来看看这些故事吧. 3.1 修改充值金额范围遗漏的产品Bug 产品中有一个允许用户自助为自己账户充值的功能(见图3-1).充值金额的范围被设定在5-50元之间,低于或者高于这个金额都会被系统自动变成最接近的允许值:如输入3,因为小于最小值5,则系统自动更新为

《Web测试囧事》——2.4 基础代码的改动影响到了其他相关产品,造成程序出错

2.4 基础代码的改动影响到了其他相关产品,造成程序出错 小蔡所在的项目组收到代理商a和代理商c的投诉:最近的一次版本上线后,这些代理商的官网持续崩溃无法访问.现已将新版本回退,等待解决问题后重新上线.另外一家代理商b并没有反馈说碰到这个问题. 收到投诉后,小蔡第一时间想到的就是尝试在生产环境中复现问题.然而经过多次尝试,她并没有能够复现出问题来, 测试环境中一切正常. 既然测试环境中不能重现出来,那我们就只有通过查看日志定位问题了.小蔡找运维同事拿到生产环境监控日志,发现日志内容的异常提示信息