了解需求
任务拆分
获取最新代码
运行测试
编码
重构
提交代码
运行测试
本地提交代码
等持续集成通过测试
SMART原则
- 具体的
- 可以衡量的
- 可以达到的
- 和其他目标具有相关性
- 具有明确的截至日期
编写测试用例的好处
- 为重构代码打下基础,如果你对代码重构有一定的了解,就会有一些体会,当我们进行代码重构时,最害怕的事情就是修改的代码会破坏已有的功能。测试在这时可以保证现有的代码功能正常。覆盖度够高
- 编写出长度短小的代码。复杂的代码不容易测试。拥有相当高的测试覆盖率的代码也不会过于复杂。对代码的嵌套语句都需要有相应的测试。
- 帮助我们找到代码中的bug,在编写单元商量试时,我们测试的用例,都是对照某一种情况下而编写的。对不同的转换都要有对应的测试来覆盖。
- 保证现有代码的功能都是正常的。当我修改代码时,可能就能破坏了现在有的功能,但我可能测有意识到这个问题。
测试金字塔
- UI测试:(功能测试,端到端测试,验收测试)只关心它在功能上是否正确,是否正常的响应对应的行为。
- 服务测试:测试接品层是否可以正常返回数据,第三方依赖是否会有问题。Mock Server来测试服务返回的数据是否可用。
- 单元测试:保证基础函数可以工作,当单元测试达到一定的覆盖率时,我们的代码就会变得更健壮。因为我们要保证代码都是可测折,代码间的耦合度都会降低。TDD会促使们写出短的代码。单元测试可以帮助我们在未来重构代码。在测有文档不完整的开源项目时,了解这个项目某个函数的用法就是查看其测试用例(Test Case)直观的理解程序的API.