软件=程序+软件工程 (程序=数据结构+算法)
软件工程的核心:构建管理、源代码管理、软件设计、软件测试、项目管理。
结合企业得到的推论:软件企业=软件+商业模式。
软件工程包括的领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
软件的特殊性:复杂性、不可见性、易变性、服从性、非连续性。
软件工程的目标——创造“足够好”的软件,即包括用户的满意度、可靠性、软件流程的质量、可维护性。
什么是bug? 简单地说,就是软件的行为和用户的期望值不一样,就叫bug。
有实际用处的同时又是完美的软件,在世界上是不存在的。
单元测试也能帮助程序员记录这个模块的历史和设计变更的理由。
单元测试应该准确、快速地保证程序基本模块的正确性。
最好是在设计的时候就写好单元测试,这样单元测试就能体现API的语句。
单元测试不能解决所有的问题,不能期望它会发现所有的缺陷。
一般情况下,单元测试中的模块可以直接引用其他的模块,并期待其他的模块能返回正确的结果。
单元测试应该覆盖所测单元的所有的代码路径,包括错误处理路径。
100%的代码覆盖并不等同于100%的正确性。
回归测试最好要自动化,因为这样就可以对每一个构建快速运行所有回归测试,单元测试是回归测试的基础。
工程师在"需求分析"和“测试”这两方面明显要花更多的时间。
如何保证质量——回归测试。
个人感受:
过去只知道,程序=数据结构+算法,而不知道,软件=程序+软件工程,
过去,不知道软件工程的核心,不知道软件工程的领域。
不知道这些东西的话,学习起来就会特别零碎,学习成长也会很慢,更甚至于会走错路走弯路,
解决办法:
认真的阅读构建之法这本书,并按照这上面所说的去系统地学习。
来源:https://www.cnblogs.com/baimafeima/p/11006774.html