Soft_Job 板


LINE

※ 引述《VFCanisLupus (CanisLupus)》之铭言: : 请教一下版上前辈测试方面的问题 : 我们公司的产品是有着微服务架构的後端服务,最近想导入测试但是在开会时对於测试的方 : 式与方向跟夥伴们有些意见分歧,想听听版上前辈的意见。 : 1. 单元测试: 我的想法是单元测试是针对每个method做测试目的是希望每个method都能符 : 合预期不会改a错b. 单元测试也不应该与外部相依,比如说资料库应该都用mock DAO 的方 : 式来测试。 : 不过夥伴认为我们应该也要连sql都一起测试,不然我怎麽知道sql是否正确?(意见不同1) : ,写测试程式很容易因为测试案例不好而导致测试测的不完全,写这测试会很没意义(意见 : 不同2) 1. 个人偏好做法:DAO 层的任务是跟 DB 沟通,这里的 unit test 我会测 SQL。 商务层应该只关心商务逻辑,直接 mock DAO 层。这是来自单一责任原则的启发。 2. 你可以找一下你们使用的语言有没有用来跑单元测试的 embeedded db/mongo/redis。 如果没有的话可以考虑跑单元测试时用 docker 跑 db 起来测试。 3. 发现自己测试没写好,进而反省改善就是种意义。当然,这仅止於懂的反省自身的 工程师。 : 2. 整合测试: 老板认为有单元测试只不过方便日後重构而已,还不如来写整合测试(打HT : TP request 测试) (意见不同3) unit test 除了验证程式行为还有其他好处: 1. 未来改逻辑或加 feature 你会比较有勇气。你可以想像你每次想修改一段逻辑, 都要等整合测试跑个十几分钟才能得到反馈,是我都没勇气改了。 2. 好测试的 code 通常程式架构会比较好改:为了让程式好测/可测,你会让程式 耦合性降低,让功能责任单一,甚至你会更明确知道 DI 的重要性。 3. 有测试的 code 等於一份该 component 的使用教学,像我就会从前人的测试 code 学业务逻辑。 4. 整合测试涵盖范围太广,一个测试失败可能是网路/系统/设定/程式码任何一个地方 出问题;反观单元测试执行速度快,又可以快速定位问题。好单元,不测吗? 以上个人不负责任经验谈。 : 我的想法是 : 意见1: 可以延到整合测试测,因为单元测试目的是在於验证程式码有无如预期进行,且应 : 该要可以快速测试验证。 : 意见2: 可以用测试覆盖率为参考依据 : 意见3:因为整合测试无法有效提昇覆盖率,且有环境等因素考量,也跟业务逻辑牵扯 (塞 : 资料顺序等等),反而门槛更高。 : 不知道版上前辈有什麽其他想法吗? : 或者其实我观念有错误? : 谢谢 : -- :



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.203.105 (台湾)
: ※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1563110242.A.161.html : 推 jack0204: 单元测试也能测SQL阿,有的框架支援记忆体储存ORM 07/14 21:42 : 是指记忆体型的db吗? 但我们用的是mybatis这种object mapping 的框架,用的是MySQL : 怕有些MySQL 特有的语法会不支援, 再来我们还有其他微服务用到mongodb and redis : 推 art1: 测得不完全也比完全不测好 07/14 21:43 : 是没错 : → jack0204: 不然就是建一个stage环境配migrate执行完整测试 07/14 21:43 : → jack0204: 如果测试案例不好那就把他写到好阿,不然写爽的腻? 07/14 21:44 : 是阿 不过现况是公司有一半的成员是junior 可能要费点心思了 : → jack0204: 整合测试是因为测一整次很花时间,单元测试就快多了 07/14 21:45 : 推 jack0204: 单元(纯逻辑)/功能(假DB)/整合测试看你们想做到哪一步 07/14 21:51 : → pigcat1315: 没SDET部门就坐单元测试就好 不然测试的庞大你写不完 07/14 21:55 : 我也这样认为,但老板认为 整合测试是要给工程师写的,不过在资源有限的公司里确实也 : 是这样就是了 : 推 sojoasd: 小的浅短的建议:专案还在开发阶段时,写测试DB比较好, 07/14 22:04 : → sojoasd: 因爲这时期schema可能常常变动,当然就是比较麻烦。另外 07/14 22:04 : → sojoasd: 串接微服务可能改成其他排程task定时执行测试会比较好 07/14 22:04 : → sharku: 单元测试也可以测SQL 看你後端用什麽框架而定 07/14 22:08 : 单元测试也可以测试sql吗 小弟去研究看看 : ※ 编辑: VFCanisLupus (27.242.203.105 台湾), 07/14/2019 22:47:00 : ※ 编辑: VFCanisLupus (27.242.203.105 台湾), 07/14/2019 22:50:39 : 推 supernow: 我们这边单元测试不直接打db,是直接mock掉只验sql语法 07/14 22:52 : → supernow: ,跟你的想法一样,另外在整合测试里才实际连db 07/14 22:52 : ※ 编辑: VFCanisLupus (27.242.203.105 台湾), 07/14/2019 22:53:39 : ※ 编辑: VFCanisLupus (27.242.203.105 台湾), 07/14/2019 22:55:13 : 推 supernow: 至於测试案例写不好这只能靠code review多电几次才能改 07/14 22:55 : → supernow: 善 07/14 22:55 : 了解 感谢回覆 : ※ 编辑: VFCanisLupus (27.242.203.105 台湾), 07/14/2019 22:57:20 : ※ 编辑: VFCanisLupus (27.242.203.105 台湾), 07/14/2019 22:58:05 : 推 sharku: 单元测试的DB只在执行时产生 测试完後删除 不连到实体DB 07/14 23:15 : → pass78: h2 07/14 23:20 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.215.240.201 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1563121021.A.0F5.html
1F:推 t64141: 想法跟你很相近推 07/15 00:56
2F:推 anandydy529: 中肯 07/15 01:24
3F:推 sharku: 推 07/15 11:18
4F:推 slytb: 推 07/15 16:34
5F:推 landlord: 说得好 07/16 01: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灯, 水草

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

TOP