V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cstj0505
V2EX  ›  程序员

发现开始写测试用例以后根本停不下来

  •  1
     
  •   cstj0505 · 2018-09-27 16:53:31 +08:00 · 4255 次点击
    这是一个创建于 2255 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一开始想按照 TDD,写一点测试用例,写一点代码。然后发现如果设计不是很详细的话,太难执行。

    但是详细设计的话对产品人员的要求也太高,开发之前很难做到有文档伪代码,即使有在实际开发过程中也不一样。

    这个时候就会按照产品文档实现一部分功能,同时包含少量的测试用例。

    接下来就是感觉爽的地方,在整个系统或者模块没有跑起来之前,先用测试用例模拟一下自己设计的类的执行过程,除了找 bug 以外,更重要的就是验证自己的开发思路是否和最终目标一致,还有代码结构是否合理,所以这时候对代码进行重构也相当有动力。

    这种感觉简直太爽。

    12 条回复    2018-09-28 14:58:08 +08:00
    fyxtc
        1
    fyxtc  
       2018-09-27 17:45:16 +08:00
    理念是好的,也很值得实践,然鹅国内极少有公司实行这种方式。。。
    limuyan44
        2
    limuyan44  
       2018-09-27 17:46:41 +08:00 via Android   ❤️ 2
    你咋知道测试用例写对了,得给测试用例写一个用例
    lurenw
        3
    lurenw  
       2018-09-27 17:49:31 +08:00
    你这个和平常的 写完功能代码,写测试代码有什么区别?
    cstj0505
        4
    cstj0505  
    OP
       2018-09-27 18:52:58 +08:00
    @lurenw 想了想区别貌似不大,除了在写代码同时写的单元测试,还会花时间写一些局部的集成的单元测试,这时候会在测试代码里面模拟系统功能,会考虑方法或者类这些设计的合理性
    WilliamYang
        5
    WilliamYang  
       2018-09-27 21:11:24 +08:00
    我最近也在看 TDD, 也有同样感受, 不了解的人, 你跟他说也不会明白是怎么区别的
    xuanbg
        6
    xuanbg  
       2018-09-27 22:57:34 +08:00
    本来就应该边开发边测试,有些设计问题,你一写测试用例就会暴露,可以有效避免写无效代码,或者在错误的方向上解决问题。
    xxgirl2
        7
    xxgirl2  
       2018-09-27 23:12:33 +08:00
    设计或实现算法时肯定要写测试,真的事半功倍。看到大红叉在那挂着就能知道下一步怎么走,简化了调试操作。
    cstj0505
        8
    cstj0505  
    OP
       2018-09-28 09:24:33 +08:00
    @xuanbg 是的,关键测试代码一写,功能和代码结构是不是和自己预期一样,方便随时重构
    iConsLii
        9
    iConsLii  
       2018-09-28 09:50:25 +08:00
    但是,在都是 CRUD 的情况下,怎么做测试用例?感觉没啥好的方法
    TommyLemon
        10
    TommyLemon  
       2018-09-28 10:43:41 +08:00
    @iConsLii
    APIJSONAuto 提供了自动化接口回归测试,测试接口一行代码都不用写。

    特点功能:
    自动生成文档,清晰可读永远最新
    自动生成请求代码,支持 Android 和 iOS
    自动生成 JavaBean 文件,一键下载
    自动管理与测试接口用例,一键共享
    自动校验与格式化 JSON,支持高亮和收展

    视频演示:
    i。youku。com/apijson
    在线体验:
    apijson。cn

    创作不易,GitHub 右上角点 Star 支持下吧,谢谢 ^_^
    github。com/TommyLemon/APIJSONAuto
    wdlth
        11
    wdlth  
       2018-09-28 10:46:03 +08:00 via Android
    @iConsLii 可以建测试用的初始库
    BiggerLonger
        12
    BiggerLonger  
       2018-09-28 14:58:08 +08:00
    @iConsLii 用 docker 起一個數據庫容器, 初始化測試用例初始化數據庫, 結束時刪除數據庫
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2777 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:50 · PVG 22:50 · LAX 06:50 · JFK 09:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.