Soft_Job 板


LINE

※ 引述《ko27tye (好滋好滋)》之铭言: : 我想补一个情境 : 当到新公司或转到新单位时 : 发现没有在做unit test : 此时身经百战写过上千次unit test的你 : 会选择凭一己之力 : 引入测试框架及补完所有模组的单元测试吗? : 当然这也代表那些高耦合的模组你要想办法拆分 : 其中改坏了算你的锅,改好没人在乎 : 而且高机率你得自己维护测试code : 还是选择打不赢就加入? : 我很好奇 : 大家可以分享一下吗 : 我自己是选择不改啦 底下这是比较「野性」」的作法,算是实务专案的经验: 其实我觉得你到一个完全没有测试的专案,要分两个策略: 1. 补重要主线的 integration test 反正哪边常被报修就补哪边。 如果一开始补不上去就先做下一点,理论上常被报修的地方会一直出现在下一点, 累积多了就可以变成1了。 2. 假设自己是维护历史功能,提昇自己维护部分的可测试性。 举实际案例好了,假设我今天再做一个算金流手续费的专案, 发现过去算手续费假设有11个地方写了11次好了,所谓的高耦合不外乎如此。 我会先写个 util 把输入跟输出「去状态化」,然後针对这个 util 写, 然後这个 util 的单位以「去状态化」成本可控,可在手边开发时间允许的范围进行。 白话文:我横竖都得手动测试,那就把手动测试的部分, 尽可能的透过 test code 来进行。 如果不想接着维护的话也很单纯,任务结束後把 test code comment 掉或移除就行。 题外话,11个地方,我会选择先取代一个地方, 然後等其他10个地方有需求变更时,一个个整并,补强测试条件。 很多人会说,那为什麽不一次改11个,理由是你的开发时间跟成本允不允许。 更重要的是你的QA资源够不够,因为写正常的Test最累的是准备测试情境, 这真的是会花掉比写test更多的时间。 如果列不出完整场景,贸然修改既有的code只是在裸奔。 有需求的部分是被迫裸奔,但没需求的部分不用主动当暴露狂, 等待验证过再慢慢统一。 大原则就是:你横竖都是要测试的,只是手测还是写程式测,除了跟 gui 有关的东西, 多数的情况下写程式测试都还是比较省时间的。 更棒的地方是,在这种策略下,你往往可以用比同事少30% 的时间完成任务, 而且因为你的测试成本比较低,所以品质也会比较好,出问题的时候也更容易对焦。 然後我通常是会跟同事说我写了几个 test case, 他们愿意看就看,不愿意看我就放着。不会勉强他们加入。 如果你做不到可以用比不写测试更短的时间来完成任务, 那你学的测试根本性的就有问题,不写也罢。XD 3. 极端情况: 如果都没被报bug,需求也都很小? 那你操心他干嘛 XD -- I have a dream, it's silly but beautiful. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.94.23 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1714620727.A.F6B.html ※ 编辑: TonyQ (1.163.94.23 台湾), 05/02/2024 11:34:23 ※ 编辑: TonyQ (1.163.94.23 台湾), 05/02/2024 11:36:03 ※ 编辑: TonyQ (1.163.94.23 台湾), 05/02/2024 11:36:27
1F:推 Litfal: 但这个去状态化常常是个大工程,要解耦合重构半天欸QQ 05/02 12:15
通常是只抽出关键计算,重要的不是完整的流程,而是会出错的流程。 真的不幸无法去状态,stub or mock 一样可以帮助你简化状态。 ※ 编辑: TonyQ (42.79.169.118 台湾), 05/02/2024 12:26:12
2F:→ TonyQ: 我没碰过要解藕大半天才能写的测试,都是范围问题。越小的 05/02 12:27
3F:→ TonyQ: 范围成本越低。 05/02 12:27
4F:推 WrongHole: 05/02 12:34
5F:推 KeyFSN: +1 写的好 05/02 12:56
6F:推 yangs0618: 滚动式重构 有需要加功能或是修bug的地方再改成新版本 05/02 13:06
7F:→ yangs0618: 一起提测 05/02 13:06
8F:推 ck237: 同感 写测试开发还比较慢,测试应该有误 05/02 19:50
9F:→ viper9709: 推这篇正解 05/02 21:05
10F:推 k7ji91ab5m: 要准备很多才能测试真的让人很不想测试 嘿 05/02 21:06
11F:→ k7ji91ab5m: 另一方面来说花时间研究这个很能增进写好code功力 05/02 21:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP