构建之法阅读笔记01

软件=程序+软件工程  (程序=数据结构+算法)

软件工程的核心:构建管理、源代码管理、软件设计、软件测试、项目管理。

结合企业得到的推论:软件企业=软件+商业模式。

软件工程包括的领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。

软件的特殊性:复杂性、不可见性、易变性、服从性、非连续性。

软件工程的目标——创造“足够好”的软件,即包括用户的满意度、可靠性、软件流程的质量、可维护性。

什么是bug? 简单地说,就是软件的行为和用户的期望值不一样,就叫bug。

有实际用处的同时又是完美的软件,在世界上是不存在的。

单元测试也能帮助程序员记录这个模块的历史和设计变更的理由。

单元测试应该准确、快速地保证程序基本模块的正确性。

最好是在设计的时候就写好单元测试,这样单元测试就能体现API的语句。

单元测试不能解决所有的问题,不能期望它会发现所有的缺陷。

一般情况下,单元测试中的模块可以直接引用其他的模块,并期待其他的模块能返回正确的结果。

单元测试应该覆盖所测单元的所有的代码路径,包括错误处理路径。

100%的代码覆盖并不等同于100%的正确性。

回归测试最好要自动化,因为这样就可以对每一个构建快速运行所有回归测试,单元测试是回归测试的基础。

工程师在"需求分析"和“测试”这两方面明显要花更多的时间。

如何保证质量——回归测试。

个人感受:

过去只知道,程序=数据结构+算法,而不知道,软件=程序+软件工程,

过去,不知道软件工程的核心,不知道软件工程的领域。

不知道这些东西的话,学习起来就会特别零碎,学习成长也会很慢,更甚至于会走错路走弯路,

解决办法: 

认真的阅读构建之法这本书,并按照这上面所说的去系统地学习。

原文地址:https://www.cnblogs.com/baimafeima/p/11006774.html