代码改变世界

测试驱动开发札记 1

2011-08-12 11:30 by skylinee, 466 阅读, 0 推荐, 收藏,
摘要:很多东西都是仁者见仁智者见智,今天我来说说自己对驱动测试开发(简称TDD)的一些学习心得。 TDD对程序猿提出的首要条件是:勇气!?我对此的理解是,敢于往编译器里敲入各种测试用例的勇气,不管他们是对是错。然而这种勇气又来源于,对产品Backlog中“故事”的业务逻辑有一定程度的认知。其次是对TDD开发思维方式和流程有深刻认识。当然,不是说新手就对TDD无所适从,理想状况是Scrum中提到的结对编程,即老带新;否则就只有自己多加练习了。记住,不是用工作代码哦… 阅读全文

Triangulation – TDD开发中的问题解决技术

2011-08-10 11:36 by skylinee, 511 阅读, 0 推荐, 收藏,
摘要:当我卡在不知道如何构建一个复杂算法的时候,我会针对错误的场景写一个测试。然后还会写一个我能想到的简单的,针对非错误场景的测试,让它返回写死的值。之后再写一个测试用例,看那时我是否能想出这个算法。这样做让我获得了一些动力,或者说是洞察到了目标算法在边界和普通测试用例上的表现。 这种做法叫做三角法,它在天文导航领域已被应用了上千年。通过把自己的位置和地平线上其他两个或以上的点做对比。你可以轻易的看到自己在移动。对编码也是一样,通过一组测试用例通常很容易就可以推算出目标算法的行为特征。 阅读全文