构建之法13-17章读后感
13;软件测试
基本名词,Bug:软件的缺陷。Test Case:测试用例,Test Suite:测试用例集。Bug可以分解为:症状丶程序错误丶根本原因。
各种测试方法:单元测试;代码覆盖率测试;构建验证测试;验收测试;探索式测试;回归测试;场景/集成/系统测试;伙伴测试;效能测试;压力测试 ;内部/外部公开测试;易用性测试。
14;质量保障
软件=程序+软件工程 推导 软件质量=程序质量 +软件工程质量。
软件的开发过程有三个主要的特性;“好”“快”“便宜”。通俗的理解就是”软件在功能丶成本丶时间三方面满足利益相关者的需求“。
软件工程的质量体现在以下方面;软件开发过程的可见性;软件开发过程的风险控制;软件内部模块,项目中间阶段的交付质量,项目管理工具的因素;软件开发成本的控制;内部质量指标的完成情况。
15;稳定和发布阶段
一个团队经历了计划/设计/开发等阶段,达成代码完成这一目标,似乎后面的事情就水到渠成了。其实不然,软件生命周期的最后阶段往往是最考验团队的,不但考验团队项目管理水平,应变能力,也考验团队的”血型“。
16;IT行业的创新
迷思之一:灵光一闪现,伟大的创新就紧随其后。
迷思之二:大家都喜欢创新。
迷思之三:好的想法会赢。
迷思之四:创新者都是一马当先。
迷思之五:要成为领域的专家,才能创新。
迷思之六:技术的创新是关键。
迷思之七:成功的团队更能创新。
17;人,绩效和职业道德
用专业知识教育人是不够的。通过专业教育,他可以成为一种有用的机器,但是不能成为一个和谐发展的人。要使学生对价值有所理解并且产生热烈的感情,那是最基本的。他必
须获得对美和道德上的善恶鲜明的辨别力。否则,他 —— 连同他的专业知识 —— 就更像一只受过很好训练的狗,而不像一个和谐发展的人。为了获得对别人和对集体的适当关系,他必须学习去了解人们的动机、他们的幻想和他们的疾苦。
职业道德评论
选取最近IT 界发生的一些事件(例如,某员工因为个人恩怨把公司服务器上的数据全删掉),对照软件工程师职业道德的条款, 评价当事人的软件工程师职业道德如何。
团队如何做决定
软件开发和软件团队的生存都面临许多问题,需要许多睿智而果断的决定,一个团队如何做决定呢? 有下面几种方式,请评说各自的优缺点:
a) 独裁: 领导说了算。
优点:就是没有太多的纠纷,不容易各执己见争论不休,有着很快的进度。
缺点:如果领导的大方向有了问题,就比如一个大楼的地基没有打好,以后的路会更加难走。
b) 独裁+顾问: 领导和一些外部的顾问商量之后做决定
优点:有了参谋,就不会太武断与专横,还可以吸收各方的建议。
缺点:只能站在专家顾问和领导的角度,而忽视了团队中更多的人。
c) 民主投票:这样就产生了赢家和输家
优点:更为的公平公正,足够民主,会有大家的意见在其中。
缺点:更为消耗时间
d) 全体一致同意后再决定:皆大欢喜?
优点:大家都很高兴,皆大欢喜。
缺点:进度更慢了。