Week2-作业1——关于阅读《构建之法》第1、2、16章的疑问与感悟

关于阅读《构建之法》第1、2、16章的疑问与感悟

术语解释:

第2章,23页

什么是代码覆盖率?

————————————————————

在测试中的代码覆盖率是指,你运行测试用例后,走过了多少句代码,拿这个走到过的代码除以你这个测试对象的代码行数,就是你这次测试的代码覆盖率了。

参考博客:http://blog.csdn.net/Kesa_Kong/article/details/1652341

第2章,29页

什么是“自动化”回归测试?如何实现?

————————————————————

运行自动化测试代码来验证当前的修改没有破坏已有的功能。

利用第三方软件,比如TestBird自动回归测试

参考文章:

https://baike.baidu.com/item/%E5%9B%9E%E5%BD%92%E6%B5%8B%E8%AF%95/1925732?fr=aladdin

第2章,36页

什么叫做“高质量项目需求,给程序员的输入质量”?如何编写?

————————————————————

高质量的需求文档就是能最有效的达到需求文档撰写目的的文档

即-能够有效协助产品干系人(视觉、交互、页面、开发、测试)完成与预期吻合的产品。必须具备以下特征:正确、无歧义、可验证(易于测试)、可修改、可追踪

参考文章:http://blog.csdn.net/bcqtt/article/details/51670438

问题:

第1章,12页

表1-2 计算机科学与软件工程的不同侧重点 中 提出 计算机科学侧重正确性,软件工程侧重可靠性。

————————————————————

那么什么是正确性什么是可靠性?一个软件可能存在可靠但是不正确的情况吗?比如说?

没有找到好的答案……

第1章,17页

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

————————————————————

“以人为中心”的思考。软件是为了解决某种需求,满足某种需求,不是“质量最好”。我的一个叔叔想要一个仓库管理系统,我告诉他网上有许多成熟的仓库系统在售卖,而且功能很强大,他告诉我他知道,可是都不合适,所以一直在找。当我问到,他的产品需求是什么,最想要的功能是什么,他的回答是“材料出入登记,货品出货记录”。我想,这不就是最简单基础的部分吗?难道网上售卖的软件不能实现这个功能吗?不,事实是,他只需要这些功能,过于“强大”,“齐全”的软件只会加大他的投入负担。这也正是“对某些顾客而言,他们会买的某一类汽车”。

Week2-作业1——关于阅读《构建之法》第1、2、16章的疑问与感悟

这是说,我们设计的软件,必须是以人为中心的,是满足人的需求的,但是有很多时候,客户自己都不是很清楚他自己要的是什么,这时应该如何处理?又或者客户的要求反反复复,增大了许多工作量,又该如何规避?如何处理?

第16章,345页

怎样让人喜欢(至少不痛恨)你的创新呢?

要对利益相关人讲清楚“你能从中获得什么”

————————————————————

作者说,IT 行业的创新,有些颠覆性的创新会引起现有技术拥有者的极大不安。(第16章。342页)是的,所以如果你有了颠覆性的创新,不要去找现有技术者,而是去找他们的对手,或者是虎视眈眈想进入这个市场却没有成功的人。

让我想到这一篇回答“我有一个 App 创意,如何将其实现?”

这篇知乎问答是我最早接触的引导性的问答,推荐大家阅读:

https://www.zhihu.com/question/25284456/answer/39328355

同时推荐一本书《九败一胜》,描述了美团的成长史。

————————————————————

一个课本之外的问题:我在百度寻找答案的时候,不喜欢比较早之前的回答和博客,比如说零几年的内容,觉得时间比较久了,软件工程又是一个发展这么快的学科。可是有时候又发现一些近年的所谓“原创博客”,许多内容都转自之前零几年的博客了。那么,那些比较久的博客,回答参考价值有多少?

上一篇:【OpenCV学习笔记之一】图像加载,修改及保存


下一篇:Git常见错误处理