工作中的难忘缺陷案例与解决历程
工作中的难忘缺陷案例与解决历程在软件测试工作中,常常会遭遇各类棘手的缺陷问题,以下是我在工作经历中一些印象极为深刻的案例。
一、手机号申请产品订单重复显示之谜
在测试一款产品时,发现使用同一个手机号申请产品后,于后台查看借款订单信息时,同一时间竟然出现了两条订单信息。此问题的出现具有随机性,在我的测试手机上概率颇高,而在 Android 开发手机上复现概率相对较低,这给开发定位问题带来了极大的困难。我推测或许是由于短时间内多次触发了 APP 的提交按钮,致使该问题产生。最终,后端开发采取了限制措施,即短时间内多次点击提交按钮时,后台仅显示第一条提交信息。后续经过观察,该问题未再出现。
二、专题详情页颜色值引发的显示困境
在专题详情页的测试过程中,当后台配置的 RGB 值为(99,99,90)时,在 Android 和 IOS APP 上查看专题详情,专题摘要无法显示(实际上数据是存在的,只是此 RGB 值与周围字体颜色相近)。经过分析,我认为这并非单纯的 bug,而是设计层面的问题。虽然现阶段能够对(99,99,90)这个颜色值进行输入限制,但对于其周围邻近色却难以做到有效限制。并且,若当前这行文字改为其他颜色,而背景恰好与之相同,也无法进行限制。此外,当前仅针对图中所在行进行了限制,其上一行标题文字也应予以限制。该问题与需求设计的全面性相关,经与产品经理沟通,决定将其放在下一个需求阶段解决。同时,与运营人员协商,在现阶段暂时维护专题详情页的 RGB 值,避免其与 APP 的字体颜色相似,从而防止该问题在线上出现。
三、IOS APP 信用卡产品数量显示不全的排查之旅
在后台管理系统添加 10 个以上信用卡并全部上架后,于 IOS APP 上查看信用卡信息时,发现产品数显示不完整。起初,我以为是后端未向前端传递数据,于是拿来 Android 测试手机进行对比(Android 和 IOS 共用一个后端),结果发现 Android 手机上数据完整。随后,借助 Xshell 查看打印日志,并使用 Fiddler 抓取信息,最终发现是页面跳转错误,直接从第一页跳转至第三页,遗漏了第二页信息。开发人员据此修改代码,成功解决了该问题。
四、信用卡产品链接添加致电脑浏览器卡顿的难题
在进行信用卡产品添加产品链接操作时,电脑浏览器出现卡顿现象。与开发沟通后得知,此问题是由于系统框架所致,若要解决该问题,需要重新构建系统框架。鉴于此,该问题被延期处理。
五、推广标签图片多次浏览破损的探究与修复
在添加产品上传推广标签图片时,出现了一个奇怪的问题:上传成功后进行两次及两次以上浏览时,图片会破损。我推测可能是照片过大,导致多次浏览时加载速度过慢,照片无法完整显示。后期通过 F12 操作查看 Network 下的请求响应,发现提示乱码报错。开发人员针对此问题修改了代码,经再次验证,问题得到正确解决。
六、上传图片引发 APP 闪退的内存危机
在上传图片功能测试中,APP 出现闪退现象(内存溢出)。经分析,可能是因为上传图片数量过大,当时需求设定可上传 50 张图片,但实际上在内存中加载十几张图片时 APP 就会闪退。与开发沟通后了解到,是多线程导致内存溢出,且 APP 引用了大量的第三方 jar 包,JVM 内存设置较小。与产品经理沟通后,由于引用第三方 Jar 包的限制,该问题无法从根本上解决。考虑到实际应用场景,客户很少会上传几十张图片,于是建议减少图片上传的数量,以此解决了该问题。
七、微信公众号银行卡绑定消息推送的失误
在微信公众号绑定银行卡的测试中,发现公众号消息推送存在信息不正确的情况。例如,工资卡为兴业银行,关注兴业银行公众号并绑定银行卡后,在每次支出和收入时,微信都会推送交易提醒,告知用户支出/收入金额以及卡内余额。有一次消费 50 元时,推送提示正确,但几秒过后因消费失败钱被退回银行卡内,此时推送消息提示收入 50 元,然而消息中的卡内余额却未将 50 元加回去。经手机银行确认,银行卡余额是正确的,由此确定仅是微信推送消息存在缺陷。
八、任务接收功能的多人同时接收漏洞
在系统的任务接收功能测试中,发现存在可同时被多人接受并处理的问题。正常情况下,A 发布任务后,处理任务岗位的所有人都能看到该任务,但当 B 接受该任务后,其他人应不能再看到此任务。然而实际情况却是,A 发布任务后,B 和 C 只要页面显示了该任务,就能够同时接收并处理该任务。针对此问题,解决方法是在用户接收任务并更新数据库中该任务状态时,先判断当前数据的接收人是否为空,若为空则允许接收,若不为空则不允许接收。
九、车险交易系统保险起保日期接口传参错误的偏差
在公司的车险交易系统对接保险公司接口的测试中,发现了一个严重的问题。当在页面选择商业险、交强险是否即时起保并设定起保日期,且商业险和交强险的起保日期不一致时,对比保险公司承保系统的报价结果会出现不一致的情况,但在页面上却看不出任何问题。经过仔细确认请求报文,才发现原来是商业险和交强险的即时起保和起保日期传反了,即商业险的起保日期传成了交强险的起保日期,交强险的起保日期传成了商业险的起保日期。由此总结出,在测试时,所有接口都需要确认页面选择和请求报文是否一致,适当的接口测试和接口数据检查是极为必要的。
十、Chrome 手机版上传影像功能失效的兼容性挑战
在使用系统的上传影像功能时,发现了一个兼容性问题。在电脑端 chrome 上能够正常上传影像,但在 chrome 手机版上上传却失效。由于系统是 HTML5,平时经常使用 chrome 或 chrome 的手机模拟器进行测试。在手机微信上打开该功能并点击上传按钮时,页面毫无反应。这表明兼容性测试的重要性,在进行兼容性测试时,务必覆盖用户常用的环境,尤其是手机上的自带浏览器。
来学习
页:
[1]