敏捷开发中,如何让程序猿养成自测(自己先测试)习惯? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Anlim
V2EX    程序员

敏捷开发中,如何让程序猿养成自测(自己先测试)习惯?

  •  
  •   Anlim 2017-03-22 12:19:44 +08:00 5277 次点击
    这是一个创建于 3132 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在小团队中比较依赖敏捷开发,功能测试大部分都是由开发工程师自己来测试……

    but 很多开发工程师(程序猿)都是固执或偏执狂:),都很相信自己的代码质量!!

    想让他们自己测试自己所做的功能,基本都是随便点击两下就说 OK 。然后上线的时候出现问题,我相信很多人都有过这样都经历……

    Q1 :请问开发工程师(程序猿)如何养成自己测试自己的代码习惯?

    Q2 :请问敏捷开发中如何把控测试环节?

    27 条回复    2017-03-23 11:08:44 +08:00
    ghos
        1
    ghos  
       2017-03-22 12:27:53 +08:00
    敏捷开发不推一波 TDD 吗
    Antidictator
        2
    Antidictator  
       2017-03-22 12:29:15 +08:00
    交换测试
    tracyone
        3
    tracyone  
       2017-03-22 12:29:40 +08:00 via iPhone   3
    成立测试部门,只占女的,测试这种东西需要耐心和细心,所以找女的,然后又可以解决程序员的单身问题,让团队更加稳定。下一题。
    jamesxu
        4
    jamesxu  
       2017-03-22 12:34:19 +08:00 via iPhone
    @tracyone 好办法,男女搭配干活不累
    entimm
        5
    entimm  
       2017-03-22 12:34:30 +08:00
    楼上+1
    KIDJourney
        6
    KIDJourney  
       2017-03-22 12:37:06 +08:00
    任何规则不做成自动化都是鬼扯。

    CI 加规则,没有单元测试不给过。

    上线前填 Check List ,不测上线出问题负责,影响绩效。
    Ulu
       
    Ulu  
       2017-03-22 13:08:29 +08:00
    hitmanx
        8
    hitmanx  
       2017-03-22 13:11:20 +08:00
    得有自动化测试,提交前自动做 sanity(unit-test),提交后再做 function-test
    akring
        9
    akring  
       2017-03-22 13:14:18 +08:00
    TDD+自动化 CI 是正解
    haofly
        10
    haofly  
       2017-03-22 15:12:31 +08:00
    很简单呀,给程序员更多的时间
    jinhan13789991
        11
    jinhan13789991  
       2017-03-22 15:27:50 +08:00
    敏捷开发不就是快速压缩工时嘛,又想速度快,又想质量好~ 花钱请大牛啊
    KasonPasser
        12
    KasonPasser  
       2017-03-22 15:30:05 +08:00
    多于多少的 Bug 数就要记绩效。
    atlas
        13
    atlas  
       2017-03-22 15:33:18 +08:00
    @KIDJourney 这个赞同,可以设置 Coverage 阈值。
    yeyuexia
        14
    yeyuexia  
       2017-03-22 15:38:28 +08:00
    没有测试代码和 CI 保证持续集成的敏捷不叫敏捷- - bb
    HLT
        15
    HLT  
       2017-03-22 15:42:00 +08:00
    TDD

    其实从这个话题中 我想说 挺喜欢 pair
    AmosLi
        16
    AmosLi  
       2017-03-22 16:07:57 +08:00
    使用专门的测试人员, 并且引入测试结果 奖励 /惩罚机制. 一旦有了奖罚制度, 自然就会对代码质量认真对待. 从而避免一些不应该产生的 bug.
    之前有个一个同事, 每次都是''早早''完成任务,但是问题一大堆(他自己知道). 因为没有关于质量的奖励 /惩罚机制 测试人员对于他确实已经无奈了. 不能让认真干活的人不落好. 才能提高质量.
    zhangshine
        17
    zhangshine  
       2017-03-22 17:04:13 +08:00
    时间要管够
    JRight
        18
    JRight  
       2017-03-22 18:08:55 +08:00
    需求不能一天变一下,不能随时加需求
    subdued
        19
    subdued  
       2017-03-22 18:12:09 +08:00
    那我搭楼问一下学测试怎么学呢
    dallaslu
        20
    dallaslu  
       2017-03-22 18:12:18 +08:00   1
    多发一份测试岗位的工资。
    leopku
        21
    leopku  
       2017-03-22 19:01:31 +08:00
    CI
    Code Review 都是不错的辅助手段

    不过前提是工期够,需求基本稳定不会出现一天变三回的情况
    lightening
        22
    lightening  
       2017-03-22 20:03:43 +08:00
    只雇佣有责任心的程序员。
    什么 TDD 、 CI 都不能保证杜绝这个问题。测试覆盖率 100%,但就是不工作的代码多了去了。
    wudanyang
        23
    wudanyang  
       2017-03-22 20:35:07 +08:00
    26 楼 +1
    taowen
        24
    taowen  
       2017-03-23 09:52:19 +08:00
    TDD 的神话,的理想,的苟且以及诗和远方
    https://zhuanlan.zhihu.com/p/25571413

    巴别塔:开发环境演进史
    https://zhuanlan.zhihu.com/p/25891628

    客观上来说开发环境有问题,缺少东西代码跑不起来,单元测试靠手写 mock 很难推行。主观上来说,大家都只对生产环境的集成负责,而不对线下环境的集成负责。
    yjxjn
        25
    yjxjn  
       2017-03-23 10:02:51 +08:00
    我们当时做一个敏捷开发项目的时候采取的 bugreport 来评价 kpi 的。当然,这只是手段,不是目的,只是为了让写出 bug 更少的代码,我觉得上面那个成立专门的测试团队也可以,但是貌似是不符合敏捷的理念了,所以我觉得交换测试那个不错。
    wintercoder
        26
    wintercoder  
       2017-03-23 10:42:56 +08:00
    减少需求 2333
    firefox12
        27
    firefox12  
       2017-03-23 11:08:44 +08:00 via iPhone
    多给钱 然后不测就开除,不加钱 又要让人多做事,呵呵
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2525 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 11:01 PVG 19:01 LAX 04:01 JFK 07:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86