构建之法阅读笔记04
关于软件工程的一些基本概念和技术
单元测试
绝大部分软件都是由多人合作完成的,大家的工作互相有依赖关系。最典型的的例子就是,某人负责的模板的功能被其他人调用。软件的额很多错误都是来源于程序员对模块功能的误解、疏忽或不了解模块的变化。单元测试可以有效的解决这些问题。
用VSTS写单元测试 许多应用程序中都会用到“用户”这一类型,用户的标识通常是一个邮件地址。 创建单元测试含糊的主要步骤是: 1.设置数据(一个假想的正确的E-mail地址) 2.使用被测试类型的功能(用E-mail地址来创建一个User类的实体) 3.比较实际结果和预期的结果(Assert.IsTure(target!=null);)
需要注意的地方: 单元测试应该在最基本的功能/参数上验证程序的正确性。 单元测试必须有最熟悉代码的人(程序的作者)来写。代码的作者最了解代码的目的、特点和实现的局限性。 单元测试过后,机器状态不变,这样就可以不断的运行单元测试。 单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)。快,才能保证效率。 单元测试应该产生可重复、一致的结果。 独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保证单元测试的独立性。 单元测试应该覆盖所有的代码路径,包括错误处理路径。100%的代码覆盖率并不等于100%的正确性。 单元测试应该集成到自动测试的框架中。把单元测试自动化,这样单元测试的错误就能被及时发现。 单元测试必须和代码一起进行版本保护。