第十三章:软件测试。一些基本名词的解释:bug:软件的缺陷、test case:测试用例、test suite:测试用例集。而bug分为:症状、程序错误和根本原因。测试方法有:单元测试(第二章提到过)、代码覆盖率测试、构造验证测试、验收测试、“探索性”的测试、回归测试、场景集成系统测试、伙伴测试……并且测试还是需要写文档。总的来说,测试这章有的部分我不太懂,没有接触和实践过。但是没有想到测试还要写文档???
第十四章,又是一个公式,软件质量=程序质量+软件工程质量。软件要在功能、成本、实践三个方面满足利益相关者的需求。对于用户来说,最简单粗暴的要求就是,用户可以保持自己的“懒惰”,因为软件足够使用方便。保证软件的质量也是要付出一定成本的,包括预防、评审、内部故障、外部故障、流程分析改进、投资改进。我曾经就认为软件测试是用来保证软件质量的,但是书上告诉我这两者区别很大。不能盲目信任专业人士扮演的角色,画地为牢的分工和无明确责任的分工都是不可取的。
第十五章,稳定和发布阶段。代码开发过后并不是万事大吉了,软件发布同样都是问题。软件团队居然也有血型……软件团队中有会诊小组,对于每一个bug,会诊小组决定采取,修复,设计本来如此(即软件在这方面没有问题),不修复,推迟的处理。后面有一些招数,我发现在考试中我经常使用的就是“砍掉”,直接删去那一部分代码。
第十六章,创新。看完创新的迷思我整个人都迷思了。好多事情在现实生活里是没有定论的。但是还是要分析这个问题。产品追求质量公司追求价值是一定的,影响产品竞争力的因素有:产品行业、公司和市场、团队执行、产品价值。接下来书上写了“作坊”,我们开发简单的项目时也要形状好的小作坊,从小事做起,重质量。
第十七章,人、绩效和职业道德。哪里都离不开和人打交道,即使是对着电脑编程。有人的地方就会有很多问题,为了避免一些扯皮的问题,就要谈到绩效管理。而绩效管理的量化学问也很大。团队合作分为:萌芽阶段、磨合阶段、规范阶段、创造阶段。软件工程师的原则有:公众、客户与雇主、产品、判断、管理、职业、同事、自身。