101
rodrick 2021-01-11 12:55:22 +08:00
问个问题,不懂测试方面,假设测试测了 100w 条没问题,然后生产环境 1000w 条炸了,这个算不算测试用例覆盖不全?
|
102
UsherOu 2021-01-11 12:59:32 +08:00 3
b 的锅,b 写的时候不看方法吗?瞎调吗?
|
103
gaolingyi 2021-01-11 13:02:42 +08:00
是测试的机子能扛得住还是说压根没有测试啊
|
104
guo4224 2021-01-11 13:04:02 +08:00
你这什么歪道理?自己写的 bug 让别人背锅?
|
106
charlie21 2021-01-11 13:09:35 +08:00 4
如果程序员尽心尽力实现的功能上线出了问题,责任是谁的? /t/737781
看看你们自己说的: “ @ligiggy 20 days ago ❤️ 63 找个几把责任人, 出了问题,大家都有责任,赶紧把问题解决,下次开研讨会总结经验 @boris93 20 days ago via Android ❤️ 2 这不是一个人的责任,而是一个整体的责任 @sampeng 20 days ago ❤️ 1 这难道不是对于一个团队最值得庆祝的时刻吗?宝贵的经验是在一次一次问题中增加的。不会平白无故多出经验来 @feiandxs 19 days ago ❤️ 7 我的责任,行了吧。 我就很看不惯这种,遇事后不是第一时间想着解决问题,而是找责任人。不是一起复盘总结宝贵的经验,各部门一起坐下来好好看看今后有什么可以改善的地方,当前的问题有哪些合理的解决办法,而是来找『谁的问题』。 真要找人的问题,应该是每个人都冲上去说是我的问题。 如果是找别人的问题,这个找问题的人就是最大的问题。 @fengpan567 19 days ago ❤️ 3 一看就是想着压缩工期上线,结果线上出 bug 了,又想让开发背锅 @thetbw 19 days ago via Android 应该换个角度,程序员写的程序赚了大钱,功劳主要算谁的,钱应该怎么分 - 现在真出问题了,txt 变 exe,画风迥然不同 出问题互相推诿 出问题互相踢皮球,这一幕令人熟悉:当 txt 变 exe 时画风就会迥然不同,说得越好,做得越烂 |
108
Smilencer 2021-01-11 13:20:33 +08:00
老板的锅+1
|
109
ryanlid 2021-01-11 13:20:46 +08:00
业务 自己背
|
111
no1xsyzy 2021-01-11 13:31:31 +08:00 1
@charlie21 稍微拉了下目前有这些人两个主题内同时回复了:
{'Leonard', 'lifetimeporn', 'keepeye', 'charlie21', 'ruokw', 'MoccaCafe', 'Leigg', 'Jooooooooo', 'ryanlid', 'l00t', 'liian2019', 'reus'} 基本上回复的主旨都保持一致,除了一些明显对这种题目表示厌烦而胡乱说的 “数据库的锅” |
112
alfa 2021-01-11 13:35:21 +08:00
如果 A 写得不对,我想知道 A 怎么写才对?
|
113
rohgeo 2021-01-11 13:43:28 +08:00 2
那赚了钱,员工能分一部分吗?
|
114
CrazyMoon 2021-01-11 13:45:12 +08:00
今天业务找过来说让员工负责一部分损失?团结起来,让他爬
|
115
purensong 2021-01-11 13:46:43 +08:00
我觉得不管怎样程序员都不该背锅,要背锅在合同里写清楚,这种不是恶意造成的,为啥要背锅。赚钱了也不会分一分给你
|
116
kvkboy 2021-01-11 13:48:54 +08:00
前几天我刚好也碰上这个事,不过是测试场景碰到的问题而且也没那么多数据。
按照场景我是 A,B 调用我的条件查询,他以为有值但实际没值,啥都没传没有条件,结果默认查全表导致他报错 B 问我啥都没传为什么不返回一个空结果,我跟他说,条件查询你不传条件我要帮你兜底,关我什么事? 我就想问问,A 错了啥? |
117
levizheng 2021-01-11 13:56:31 +08:00 1
关 A 啥事?不传条件可不就全表扫描
|
118
rohgeo 2021-01-11 13:58:26 +08:00
扣工资没问题,例如迟到也会扣工资。但是让员工负责一部分损失就太黑了
|
119
airfling 2021-01-11 13:58:45 +08:00
测试的锅
|
120
leonardyang 2021-01-11 13:59:29 +08:00
我就想知道你们一千万级别的数据难道不要求加索引的么,以后方法上至少加个索引列条件不能为空的判断吧,不然其他调用者咋保证查询效率?
|
121
bwangel 2021-01-11 14:02:39 +08:00
楼主你是不是要贷款上班了。。。
|
122
Ahy 2021-01-11 14:02:52 +08:00 1
如果是 A 的锅的话 写 rm 命令作者的锅可就大了
那生产刀子的人也有罪 |
123
sansanhehe 2021-01-11 14:04:56 +08:00
测试用例没覆盖到吗?
|
124
wolfan 2021-01-11 14:05:04 +08:00 via Android
B 有责任,但不承担损失。
|
125
zjuster 2021-01-11 14:09:08 +08:00
不要歪楼,员工赔钱是另外一个话题。
A 写方法,不可能考虑到各种业务的场景,所以他写这个的时候,是没有问题的。 B 是负责业务的,不考虑业务的场景,直接调用 A,所以 B 是有责任的。 如何避免这种问题: 说实话,就算有测试,对这种问题也很难保证测试出来的,建议是强制开发规范,增加一条所有项目都要查慢 sql 的问题。 |
126
NillSpake 2021-01-11 14:12:02 +08:00
A 只提供服务,B 去调用,不看服务参数,瞎弄怪谁?
A 无责,B 次责,测试主责 就好像 A 提供卖水果的功能,B 传参苹果,梨子,突然不传递参数了我把水果摊给你了,也没有毛病呀 |
127
LeeSeoung 2021-01-11 14:13:32 +08:00
能上线了都是测试的锅(手动狗头
|
128
vone 2021-01-11 14:16:59 +08:00
这说明同事 B 的工作能力有问题,但是 HR 没有及时反馈至技术部门,并且更换符合岗位要求的员工。
所以这肯定是 HR 的锅。 |
129
Erroad 2021-01-11 14:21:26 +08:00 1
本来还想看下到底是 A 还是 B 的锅,一看还得员工赔,不用说了,老板的锅
|
130
fengpan567 2021-01-11 14:24:05 +08:00
员工赔偿?扣扣绩效得了,真的要员工赔,这样的公司也别待了
|
131
murmur 2021-01-11 14:25:21 +08:00
B 知不知道数据量有多少,这是关键,如果 B 在设计时明确知道千万级表就是 B 的锅,否则公司背
|
132
SyncWorld 2021-01-11 14:27:10 +08:00
让员工赔偿损失的老板,锅都是老板的
|
133
a719031256 2021-01-11 14:30:34 +08:00
A 应该无责任,B 有一点责任,主要责任还是测试以及负责人
我之前公司测试那是各种奇葩数据都往项目中弄,还在网上买肉鸡来测,数据库撑爆了 |
134
wh1012023498 2021-01-11 14:37:13 +08:00
我只能判断出来一点,在贵司要学会如何甩锅。
|
135
rocbomb 2021-01-11 14:38:36 +08:00
背锅也只是扣绩效
敢扣工资? |
136
npe 2021-01-11 14:39:25 +08:00
60%领导的锅
30%测试的锅 10%开发者的锅 |
137
zxyangyu 2021-01-11 14:39:46 +08:00
如果你调用标准库中方法出问题了
会追究写方法的人没有照顾到你数据量大导致宕机问题吗? |
138
useben 2021-01-11 14:42:29 +08:00
接口是谁, 谁的锅. 说调接口还要去看方法的都是没参与过大型项目的...
|
139
shaohan0228 2021-01-11 14:43:40 +08:00 1
直接责任人:B
间接责任人:A 需求方 主要责任人:领导(负责开发的,负责测试的,负责流程管理的,负责项目的,公司主管技术的,公司主管培训的,公司主管安全的,分管领导,分公司领导,集团公司分管领导)根据事故范围,逐级往上追就好了 处理意见: B 扣除一定奖金,要求个人书写针对此次事故的总结教训(公司气不过就开除) A 不进行金钱处罚,要求日后在功能开发中添加相关限制(由分管技术负责监督) 分管技术,扣罚一定个人奖金,针对此次事故,编写相关的技术措施,要求在日后开发中落实 分管测试,扣罚一定个人奖金,针对此次事故,编写相关的技术措施和测试用例,要求能够在日后测试中,能够有效筛查 需求方:扣罚一定个人奖金,书写检讨书,要求日后按照流程进行需求提交,严禁擅自更改开发流程 分管项目,扣罚个人项目奖金,要求作出检讨,对项目管理不到位,项目流程执行不到位,要求加强落实项目流程的执行。 罚款金额 B < 需求< 分管 |
140
Asuka0947 2021-01-11 14:47:47 +08:00
可以共患难,不能同享福,万一你用的开源出问题了,是不是还要找作者赔钱?
|
141
gamexg 2021-01-11 14:48:31 +08:00 via Android
看起来 a 没什么责任。
作为非业务的底层库实现,列表查询一般都是这样实现的,某个条件不提供,那么就忽略这个条件。 或者说,如果认为 a 有责任,那么 a 怎么做才不担责?作为底层库,列表查询某个条件为空时直接报错?这比目前的实现还糟糕。 b 负有责任,作为业务实现,需要评估业务实现是否有性能问题。而且作为业务方,也负责参数检查责任。 测试也是有责任,当前线上数据体量下测试,空参数测试是很正常的要求,这个 bug 比多线程下的 bug 好测试的多。 领导承担权利的同时也承担责任,领导的责任也是跑不了的,更别说领导把测试调走了。 不过损失方面,法律规定员工最多承担 20%工资的责任。 |
142
play78 2021-01-11 14:56:09 +08:00
这种慢查询,影响还比较小。
建议楼主看看,delete 的时候,参数有没有过滤好。 不然整表删除,那就不是责任问题了,删库要跑路了。 |
143
rabbbit 2021-01-11 15:03:50 +08:00
通过如下楼主发的帖子能大致猜到这是哪家公司(假设楼主在 2019 年没有跳槽的话),大家绕着走吧.
https://www.v2ex.com/t/546491?p=1 https://www.v2ex.com/t/633045 https://www.v2ex.com/t/730952 |
144
yzbythesea 2021-01-11 15:04:00 +08:00 3
楼主是工贼还是蠢?怎么总结来总结去,还在测试,A,B 里面绕?这么奇怪的问责,不先想想今年跑路?
|
145
mandymak 2021-01-11 15:05:36 +08:00
@yasumoto 锅应该是同事 B 背,同事 A 写了,但是否调用的决定权是在同事 B 。我吃饭呛着难道我要去责怪种稻的还是做饭的?
|
146
seesky 2021-01-11 15:07:35 +08:00
看来以后没个几百万还是不要出来工作了, 分分钟钟要承担损失.
|
147
lesterchen 2021-01-11 15:08:56 +08:00
都说测试主责,我都不知道不怎么想的。现在公司测:开一般在 1:4-5 左右,如果按你们这样算,测:开要 4-5:1,还差不多
|
148
natashahollyz 2021-01-11 15:21:15 +08:00 via iPhone
A 做了把刀,B 拿去干了坏事,谁的错?
|
149
allenhu 2021-01-11 15:24:18 +08:00 2
A 写的接口,健壮性不够,就算这次 B 没调,也有可能下次被 C 调了; A 的行为导致系统整体熵增加了, 肯定是 A 的锅
|
150
ychost 2021-01-11 15:25:13 +08:00
老板背
|
152
cccssss 2021-01-11 15:40:53 +08:00 1
DBA 全责,没有自动杀掉慢 sql
|
153
darknoll 2021-01-11 15:51:43 +08:00
毫无疑问是 B 的问题,全锅
|
154
coldear 2021-01-11 15:54:22 +08:00 1
找锅这种想法不利于公司发展,我在美国亚麻经历过类似的事情,
整个事件大家的精力和讨论都集中在两点: 1. 怎样减小损失 2. 怎样不让类似的事情再发生 各个相关部门都参与,包括 api 提供者,调用者,QA 等等,每一方都提出和执行一系列具体措施( action item ) |
155
JKeita 2021-01-11 15:56:53 +08:00
A 肯定没责任,他这代码本来就合逻辑,就跟卖刀的,买刀的去杀人,难道还怪卖刀的?
|
156
thtznet 2021-01-11 16:08:26 +08:00 1
某化工厂因为没有落实生产安全措施,在生产过程中发生了重大安全事故,导致国家重大财务损失和人员伤亡,影响极其恶劣。你觉得作从国家层面的考虑,第一责任人是谁?废话,肯定是老板啊。你看从法律层面都能明白的事,扯到写代码就不明白了?
|
157
duanxianze 2021-01-11 16:08:46 +08:00
老板自己背
|
158
ImShiYue 2021-01-11 16:08:51 +08:00
首先,A 的责任在于没有索引的字段没有添加<if test xxx==null or xxx==''>避免全表去查,B 的责任在于没有值的时候没去处理。但是更大的责任在于测试,没索引的全表查询没有测出来。
|
159
frank1357 2021-01-11 16:09:55 +08:00
那些说测试背锅的,我觉得你们说的好, 以后也不用叫测试了, 直接叫背锅侠得了;竟然直接导致 BUG 的开发人没责任
|
160
mknightoy 2021-01-11 16:10:05 +08:00
A 是提供方,如果没有做好相关教程则 A 主责、B 次责
B 在 A 提供了教程的情况下犯错负所有责任 领导管人不管事所以不负责 [doge] |
161
zr8657 2021-01-11 16:13:07 +08:00
出了锅扣钱?那赚了钱分成了吗?
|
163
DeWhite 2021-01-11 16:18:32 +08:00
案例一:所在部门主管股权被暂时剥离。
案例二:测试股权被暂时剥离。 |
164
Aurt 2021-01-11 16:21:04 +08:00
傻逼公司,还在这问谁的锅?跑路就完了
|
165
Maxxxxyu 2021-01-11 16:23:33 +08:00
查询没有超时限制吗???
|
167
jason19659 2021-01-11 16:28:35 +08:00
小改动要求工期就不测试了吗? 压日期上线出了事还要员工担责?
|
168
hun2008hun 2021-01-11 16:31:29 +08:00
把监控干掉,天下太平
|
169
Ritr 2021-01-11 16:37:24 +08:00
什么时候轮到普通员工承担业务损失了?我看你是缺少社会主义核心价值观!
|
170
Lefi 2021-01-11 16:42:01 +08:00
A 学生给 B 学生教了方法,
B 学生拿过来没解出题目。 负责批改的老师也没看出来? 这是 A 学生的锅? |
171
yuelang85 2021-01-11 16:49:06 +08:00
跟 A 没关系。测试没有参与,没关系。
同意上线的领导负有主要责任,因为没有走正常上线流程。 B 负有责任。 |
172
yuelang85 2021-01-11 16:51:54 +08:00
跟 A 没关系是因为:假设我写一个算小 int 加法的方法,你拿去整个循环算大数乘法,卡死了能怪我?
|
173
fenglangjuxu 2021-01-11 16:58:07 +08:00
b 的
|
174
stupil 2021-01-11 16:58:20 +08:00
全表 1000 万的数据 机器直接卡死了
这机器性能不行啊, 啥数据查询 1000w 条数据就卡死了。 明显服务器配置和数据库性能问题。 |
175
xuewuchen 2021-01-11 17:00:52 +08:00
我打了把菜刀放那,你拿刀去杀人了。。会是我的问题吗?
|
176
6orz 2021-01-11 17:02:36 +08:00
明明是写的人问题,怎么怪调用的和测试的。
|
177
justsosososo 2021-01-11 17:13:40 +08:00
这问题还问 B 的问题
|
178
zhangshine 2021-01-11 17:15:29 +08:00
当然是项目负责人背锅。要不然负责人干啥用的。
|
179
justsosososo 2021-01-11 17:16:38 +08:00 1
白嫖人家写好的方法出事了还舔着个大逼脸让人家背锅.... 这是人干的事?
|
180
yhxx 2021-01-11 17:17:39 +08:00
我遇到过一个类似的
A 负责某业务并提供解决方案供其他人使用 B 在 A 不知情的情况下自己实现了另一套解决方案 B 这套线上炸了 A 背了锅 |
181
boris93 2021-01-11 17:17:40 +08:00 via Android 2
最烦这种出问题先想着分锅的。
测试没参与,也就是说,一段代码,未经有效的测试,就上生产了?谁给测试排的期?为什么可以让这段代码跳过测试直接上生产? 上线流程是谁制定的?有没有强制代码必须经过测试才能部署生产?有规定的话,为什么没有落实?没有规定的话,为什么放任未经测试的代码到生产?这里是谁制定流程以及保障落实的? 开发人员为什么没有落实谁编写谁负责?为什么连自己先测一遍正常以及不正常的路径的意识都没有? 这不是一个人或两个人的问题,这是整体流程满是漏洞,这次正好所有漏洞都畅通无阻,于是就出事故了。 |
182
whasyt 2021-01-11 17:22:39 +08:00
赔钱也不会赔多少吧,而且也是应该是直系领导象征性罚款,落到个人的头上嘛,那就不好说了
|
184
bluff 2021-01-11 17:25:08 +08:00
首先,公司的锅。其次,A 的方法特供 B 的业务 ? A : B;
|
185
asAnotherJack 2021-01-11 17:28:43 +08:00
要员工承担损失?说出公司名吧,让大家避避坑
|
186
dioxide 2021-01-11 17:30:21 +08:00
可以类比: 数据有效期检查应该由 函数的实现方负责 还是 函数的调用方负责;
我觉得应该由实现方负责, 当然也看约定的情况了 |
187
ltt 2021-01-11 17:33:02 +08:00
当然是老板的锅
|
188
ydpro 2021-01-11 17:34:21 +08:00
聪明人已经在想明年提桶跑路,现在在找工作了
|
189
whx20202 2021-01-11 17:35:49 +08:00
mybatis generator 生成的模板就是这样,A 凭啥背锅?
B 同事用过 mybatis 吗? |
190
alexgor 2021-01-11 17:37:17 +08:00
就一句:程序写好了赚钱了有没分员工?
|
191
chippai 2021-01-11 17:39:09 +08:00
1. 锅是整个团队的了。
2. A 的方法是对外的 http 或 rpc 接口吗,不是的话就不该有责任。 3. 员工不可能承担任何损失。 |
192
chenshun00 2021-01-11 17:39:23 +08:00
在实习的时候也整过一次,那个时候数据库是 500W 条数据,但是不是一个很看中的业务,由于硬件有问题 && 我没有做做参数检验,导致了全表更新 (500w 更新),注意这个更新操作非常的频繁,直接把整个库拖挂了,然后领导电话直接过来,你是不是做什么了,RDS 直接 GG,后续做参数校验,然后就去做菜了.
回到这个问题 A 肯定考虑不周,最起码没有去想过哪些参数可传或可不传,但是他自己用肯定没有问题,因为他写的,他知道怎么去避坑,或者说在他的场景下永远不可能出现全表的情况,sql 的超时也没有设置,千万级别的表加个 timeout 不过分吧 B 业务就是这么做的. 他本身是不知道 A 的实现的,也没有做参数限制,不知道有没有和 A 沟通,反正我调用别人的服务就是问一下,肯定不知道内部实现. 后续想知道你们是怎么处理的 :))) |
193
tinytoadd 2021-01-11 17:39:37 +08:00 via Android
损失员工承担,赚钱员工按合伙人分成吗
|
194
shiroikuma 2021-01-11 17:41:55 +08:00
瑟瑟发抖
|
195
vanityfairn 2021-01-11 17:44:16 +08:00
也不一定是 qa 背阿,不是啥问题就往测试上扔的。别想着分锅阿,好好看看这个上线流程,测试介入了的话,没测试到就是测试的问题(但是比如 1000 万的量这种极端情况,测试也没办法的,我们这儿就是一起背),其次,承担损失就扯淡
|
196
wjfz 2021-01-11 17:47:40 +08:00
雪崩时,没有一片雪花是无辜的。
|
197
gengzi 2021-01-11 17:50:00 +08:00
有意思
|
198
wugq 2021-01-11 18:05:36 +08:00
我想问问这种情况该怎么写 SQL,默认情况也加个有索引的条件上去吗?
|
199
keventseng 2021-01-11 18:05:54 +08:00
这个大家都有责任,但是……锅必须技术负责人背,毕竟上线前没检查代码。
|
200
alexzuo 2021-01-11 18:09:02 +08:00
什么叫“让员工负责一部分损失”?
这个似乎不符合劳动法。 |