盒子
盒子
文章目录
  1. 第二章 个人技术与流程
  2. 单元测试
    1. 怎样才算一个好的单元测试?
    2. 编写单元测试?
    3. 其他
  3. 回归测试
    1. 目的是:
    2. 其他
  4. 个人开发流程
    1. PSP

构建之法-第二章

第二章 个人技术与流程

单元测试

怎样才算一个好的单元测试?

单元测试应该准确、快速地保证程序基本模块的正确性。
验证单元测试好坏的一系列标准:
单元测试应该在最基本的功能/参数上验证程序的正确性。
单元测试要测试API中的每一个方法及每一个参数。

单元测试必须由最熟悉代码的人(程序的作者)来写。

编写单元测试?

最好是在设计的时候就写好单元测试,这样单元测试就能体现API的语义,如果没有单元测试,语义的准确性就不能得到保障,以后会产生歧义。单元测试过后,机器状态保持不变。这样就可以不断地运行单元测试,如果单元测试创建了临时的文件或目录,应该在Teardown阶段删掉。如果单元测试在数据库中创建或修改了记录,那么也许要删除或恢复这些记录,或者每一个单元测试使用一个新的数据库,这样可以保证单元测试不受以前单元测试实例的干扰。

其他

单元测试应该集成到自动测试的框架中。另一个重要的措施是要把单元测试自动化,这样每个人都能随时、随地运行单元测试。
团队一般是在每日构建之后运行单元测试的,这样单元测试的错误就能及时被发现并得到修改。
单元测试必须和产品代码一起保存和维护。单元测试必须和代码一起进行版本维护。

回归测试

目的是:

  1. 验证新的代码的确改正了缺陷
  2. 同时要验证新的代码有没有破坏模块的现有功能,有没有Regression

其他

回归测试最好要自动化,因为这样就可以对于每一个构建快速运行所有回归测试,以保证尽早发现问题。单元测试是回归测试的基础。在专注于模块基本功能的单元测试之外,还有功能测试—从用户的角度检查功能完成得怎么样。

个人开发流程

PSP

卡内基梅隆大学(CMU)的能力成熟度模型(CMM和CMMI),是用来衡量一个团队能力的一套模型。CMU的专家们针对软件工程师也有一套模型,叫Personal Software Process(PSP)。(最新PSP2.1)

img

支持一下
扫一扫,支持freedom