为什么我明明已经自测通过了,交到测试组还是会测出bug来?

本文由Markdown语法编辑器编辑完成。

1. 背景

最近公司项目比较紧张,我负责的一个组件,要同时满足公司多条产品线的产品需求。
假如A产品线,本期需要新增功能A1, A2; B产品线,下一期要新增功能B1, B2, B3.
那么,我一般会基于组件的最新的dev分支,分别checkout出两个不同的分支,分别对应A, B两条产品线的开发需求,分别进行开发和提测。等两个产品线测试基本结束,再把两个产品线的分支,都merge回之前的dev分支。

最近一周,连续遇到几个bug, 我已经修复了,而且我很认真地进行了自测。本来以为,问题已经修复了。
但是,测试组测试,还是有问题,问题又被reopen, 内心非常沮丧。

如果说,我自己没有测试,直接提交给测试组,被打回来,那我是理亏的。
但是,明明自己已经测试过了,但仍然被测试组打回来,我都有点怀疑人生了。

但是,再仔细分析测试组测试出来的问题,又的确是问题。这就值得我认真反思了。这是什么原因造成的?

2. 分析

根据我印象中几次遇到这样的问题,一般的原因,有以下几条:
1> 根据bug描述的现象,用bug中附带的数据,验证修复后的版本是ok了。但测试组,会拿其他的数据,就是之前别的问题,反馈的问题数据再验证,结果出bug了。
2> 我修复完问题,用一两套数据验证,看起来没问题了。但测试组做性能测试,批量发图时,问题就暴露出来了。
3> 我修复了A产品线的问题,且A产品线验证通过。测试组测试B产品线时,问题复现,或引发别的问题。
4> 我修复完,用默认的环境变量测试,验证通过。测试组,修改了默认环境变量的值,出现新的问题。

问题类型原因避免
测试数据覆盖面窄开发人员,一般只用bug描述中的数据进行验证。忽略了特异性数据。特殊数据,加强对待。
测试数据量不够开发人员,一般只用1~2套数据进行验证。但有一些问题,如性能问题,需要积累到一定数据量才能显现。开发时,要考虑处理一套或多套的逻辑是否有差异,性能是否有差异。
功能或产品线多,顾此失彼开发人员只测试问题对应的功能和产品线,其他时间紧没来得及测试。如果时间允许,最好是能冒烟测试一下。
配置参数设置差异开发人员一般只测试一套默认参数,很难把很多情况都顾及到。重要的配置参数,特别是现场可能修改的,要多关注。

解决上面的问题,很多可以靠机器自动化的方式来实现。
比如用CI, 把一些基本的测试用例,提前写好,放到代码仓库中。每次提交测试前,都先跑一波之前写好的测试case, 以保证本次提测的代码,能够通过这些基本的测试case.

但话说回来,有一些复杂的问题,可能CI里面的测试case都过了,但是测试组测试,还是会遇到问题。这个无法避免。
这可能也是测试组存在的最大意义吧。
毕竟,每个人都有自己擅长的一面。
开发者和测试者,在面对一个需求和功能时,看到的点可能不同。就会导致,开发的人,始终还是会存在一些盲点,这时就需要测试人员帮忙发现这些盲点了。

当然了,造成这个问题的原因,还有很多。以后我会再根据自己遇到的情况,进行补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

inter_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值