软件开发核心技术:测试驱动开发与调试部署全解析
1. 测试驱动开发(TDD)
测试驱动开发(TDD)围绕一个非常短的反馈循环运行。其流程如下:
1. 编写一个非常简单的测试。
2. 编写足够的代码使测试通过。
3. 测试通过后,重构测试以包含基本需求。
4. 回到代码,再次使测试通过。
5. 重复上述过程,直到满足所有需求。
通过先编写测试,开发者会被迫考虑代码的工作方式,而非随意编写代码。如果测试仅包含一个基本需求,就不太可能去开发未来可能需要但实际多余的功能,从而避免浪费时间和资源。
使用测试驱动开发来开发模块有很多好处,其中最大的好处是能获得一套完整的(单元)测试。在未来的任何时候,你都可以回来重新处理、重构、实现新功能或以其他方式更改代码,因为你知道单元测试覆盖了代码继续工作所需的所有条件。不过,通常应避免同时更改测试和代码,因为这样可能无法确定哪个组件出了问题。
软件开发传奇人物肯特·贝克(Kent Beck)被认为是让测试驱动开发声名鹊起的人。他给出的测试驱动开发的顶级技巧如下:
- 除非有一个失败的自动化测试,否则永远不要写一行代码。
- 消除代码重复。
2. 调试
调试是指在软件中查找并移除错误的过程。修复一个 bug 可能会很有成就感,但也可能会令人沮丧,比如花一整天甚至更多时间去查找一个缺失的逗号。
要修复一个 bug,你需要了解它的特征,如它是如何产生的、如何工作的,以及需要采取哪些确切步骤来复现问题。有时,代码在某些情况下运行正常,但 bug 可能只在生产服务器上出现,或者需要通过一系列非常特殊的步骤或在
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



