美文网首页
项目上线出Bug!为什么你作为测试没测出来?

项目上线出Bug!为什么你作为测试没测出来?

作者: 刘晓佳rachel | 来源:发表于2023-03-12 17:43 被阅读0次

材料收集

你服务于一个数据库查询业务,某次客户现场反馈查询某个语句长时间未返回结果,耗时已经远远超过项目对外提供的性能报告承诺给用户最长查询时间。

问题和相关日志已经传递回来,开发人员进行原因分析和故障修复,测试人员进行故障复盘和测试改进。

这一切看起来都在正常的进行下去,但是作为测试人员的你是不是会不自主地冒出这么一句:为什么我没有测试出来呢?

那么,为什么会没有测试出来呢?

故障复盘

“没有测试出来”剖析最根本的原因无非可能有两点:

1、缺少对应的测试用例;

2、具有相应的测试用例,但测试环境与客户现场相差太大。

那么,你可能还会继续问自己:为什么会缺少对应的测试用例呢?

缺少对应的测试用例

至于测试用例的缺失,从客户需求——>需求方案设计——>开发方案设计——>开发实现——>需求测试——>需求交付。

整个流程来看:缺失相应使用场景的客户需求,或者需求方案设计有误,或者开发方案设计有误,或者开发实现偏差等等都可能导致测试人员在设计测试用例时,缺少相应用例的设计和测试执行,从而未能发现类似故障。

除此之外呢,有相应测试测试用例,还是因为测试环境与客户现场环境相差太大而未能发现类似故障。

测试环境与客户现场相差太大

为什么会存在测试环境与客户现场环境相差太大?

就数据库查询业务而言。测试环境的数据存储量有可能遥遥不及真实用户环境,也可能测试环境的测试数据与真实数据不一样(比如某个存储字段的长度设置;比如存储的字段内容解析后包含特殊字符、乱码等等)……这些都是测试环境与客户现场不一致的可能情况。

梳理完测试缺漏后,下一步理所当然的是进入用例补充和模拟客户环境稳定性测试。

可是,除了补充当前故障对应的测试用例之外,我们还能延展些什么呢?!

放大或复制用户行为

不管是开发人员或测试人员,我们都应该珍惜接触现场日志的机会(当然首要的是需要保密不外传),因为我们可以从日志中窥探到用户使用习惯或产品使用方式,从而将这些行为或习惯复制到我们的测试用例中,亦或者在测试中放大用户行为或习惯。

复制用户行为

什么是复制用户行为?如何复制用户行为?

复制用户行为在这里指的是,直接将获取到的用户使用产品方式在内部测试环境重现。比如:复现用户的某个数据库查询行为,select * from xx where ……

但是值得注意的是:

1)测试环境数据和真实用户环境可能存在较大的差异(比如:测试环境的数据库不存在某个字段abc,而真实用户行为查询却使用到了该字段abc),我们需要根据自己的测试环境进行适当的调整。

就数据库查询业务为例,这类调整包括但不限于:删除不存在的字段查询,修改对应的字段值为测试环境的值查询……

2)获取到的用户行为有限,无法支撑大量的查询比对(比如性能查询,统计数据库某类查询行为的耗时均值)。

这个问题应该是可以预见的,毕竟我们能够接触到的用户日志或采集到的用户行为是有限的。

尤其是针对第2)个问题,放大用户行为就成了我们的可选项。

放大用户行为

放大用户行为在这里指的是,将获取到的用户行为作为样本,复制多份或在用户行为中增删其他行为。

比如:将select * from index where id=’123’的用户行为复制100份,替换其中的id值为测试环境中不同的值;或以select * from index where id=’123’为基础样本,增加行为数据如select * from index where id=’123’ or id=’456’等。

复制或放大用户行为,对我们的测试有什么意义呢?!——可以让我们更接近用户的使用方式,产生更多的测试用例,扩大测试覆盖率。

再来一点思考

以上所说想必大多测试人员在工作中也是这样做的,但是可能缺少部分的思考和总结。现场反馈的问题和收集的资料对补充我们的测试用例、完善我们的测试工作具有很大的帮助,希望每一位测试人员都能好好利用能够接近“真实”的机会。

公众号投稿:https://mp.weixin.qq.com/s/CiZIgOMW-qO_zYczhei2Iw

相关文章

  • 产品经理这个背锅侠

    经常有人说“产品经理=著名背锅侠”,产品一出事,产品经理就被列为头等通缉犯,产品没测试好就上线?产品怎么又出BUG...

  • 产品经理这个背锅侠

    经常有人说“产品经理=著名背锅侠”,产品一出事,产品经理就被列为头等通缉犯,产品没测试好就上线?产品怎么又出BUG...

  • iOS开发:让Xcode给出比deployment target

    缘由 上一次生产环境我们出现重大bug,因ApplePay上线,其中有一个宏文件我同事忘记加版本控制,测试也没测试...

  • 测试用例写了,测试却没测,线上发现Bug是谁的锅?

    测试用例 Bug的锅该归谁? 一养码人在群里提问:测试用例写了,测试没测,线上发现Bug,是谁的锅? 涉及到Bug...

  • 7月13号

    测试ios创建地点流程 检验已修复bug 测试多个Android版本bug ,上线1.5

  • 2018-08-10

    测试思路总结 软件测试的目的是什么 把控软件的质量符合标准 标准是什么 上线无bug 怎么保证上线无bug 测试用...

  • window SVN客户端 创建分支/合并分支/切换分支

    为什么需要分支 假如你的项目已经完成开发、测试并已经上线了。上线后你再开发新的功能,这时测试突然发现上线的版本有个...

  • 2019-12-12

    今天是修改bug的一天。 昨天审核通过,今天就发现了三个bug。真是没测试很难受!被运营烦的要命,招个测试就那么难...

  • 微不足道之第三篇:关于Web测试

    今天谈谈关于Web项目bug修复后上线流程和线上监控的思考。 首先,当bug在测试环境修复并验证通过,让研发打包...

  • iOS-关于navBarItem设置为nil无法隐藏的问题

    最近偶尔发现写的一个bug,最重要的是测试五轮,云测两轮都没测出来。在iOS11系统之前设置 page.navi...

网友评论

      本文标题:项目上线出Bug!为什么你作为测试没测出来?

      本文链接:https://www.haomeiwen.com/subject/fzhqrdtx.html