软件工程网络15个人阅读作业2(201521123044 吴敏烽)
软件工程网络15个人阅读作业2(201521123044 吴敏烽)
Q1:
在第2章P23和P25中提到:
“运行单元测试,查看代码覆盖为百分之百” 经过对未考虑情况,如:“处理空的字符串,长度为零的字符串,都是空的字符串......” 处理后,“代码覆盖测试就会报告代码覆盖率为85%”
- 我的疑问是在修改未考虑的情况前,代码覆盖率是百分之百的,为什么添加完修改的情况后,覆盖率不提升(至少应该也是百分之百吧!),反而降低了?
- 对于单元测试的代码覆盖率我从网上查找了一些资料,其中在
单元测试代码覆盖率的浅谈
我了解到:
a. 覆盖率数据只代表你所测试的代码的情况,而往往会遗漏程序本身没考虑到的问题。(比如文章中的第一个案例“除零Bug”)。
b. 不要只拿语句覆盖率(行覆盖率)来考核程序的好坏(因为有可能出现测试人员为了达到你想要的覆盖率而写出专门的测试案例)。
c. 路径覆盖率 > 判定覆盖 > 语句覆盖(考虑的完整性依次降低)
- 通过学习,对于上述的疑问,我懂得了经过修改后(增加了条件),对于有些情况没有测试到,那么代码率就会降低。
Q2:
在第16.1.1中:
“迷思之一:灵光一闪现,伟大的创新就紧随其后” 文章中提到:
阿基米德在洗浴城泡澡后发现浮力定律,牛顿在树下被苹果砸后发现万有引力...
- 我突然产生对创新的困惑,前人是在对现象的分析而创新出一些定律、理论,这些创新就是从无到有,但是那都是在漫长的历史长河中,出现在少数智商爆棚的人身上;那么就敢说除了这些之外就没了创新么,我觉得创新的定义应该是更为广泛的,随着社会快速的发展,人们对于事物的认知、追求、渴望,也是快速的,有需求就会有创新,就像我们每天用的Windows系统,它的“思路”是cosplay Linux的,在它的基础上发扬光大。它idea就是建在有的基础上,那么我觉得它也是一种创新。所以我们说的“山寨”其实也可以定义为一种创新,只要能在有的基础上发现新的功能,那不也是一种创新么!
Q3:
在第16.1.4中:
“迷思之四:创新者都是一马当先”
- 我觉得这个标题取得不好,创新者的包括先行者还包括后起者,那么都能说一马当先?相信大多数人都会持反对意见,为什么呢?根据历史的发展,许许多多成熟、广为人知的作品都不是先行者创造的,因为当先行者发布一种前所未有的东西后,这种思路激发成千上万好奇的人们去研究他,在此基础上,创新出更多、更强大的东西,那么这些后起的创新者就成了这些作品的权威,成为代表。
Q4:
在第16.1.7中:
“迷思之七:成功的团队更能创新”
- 对于作者的这个说法,在某些方面,我其实是不太赞同的,一个成功的团队在多数情况下的确会更具有创新的优势,因为在商业化的发展中,利益的驱使、社会的呼声都会督促团队去创新出更多的产品,但是,往往在这些情况下前进的阻力就会越大,当你的曝光度,关注度增加时,你的精神上的压力增加,专注度可能就趋向于成功、利益。而减少对产品本身的专注,反而会减缓对它的创新。其实不会发现,好的创新大多在默默的进行,当它完成了,才浮现出来。
Q5:
在16.5.2的(3)中:
“大公司里,是不是团队越大越好?管理专家建议,在工作需要的基础再减掉一位,这才是最优的数字。这样能让剩下的团队成员更有空间做事情,更有创意,也更能帮助别人”
- 从理想的状态下讲上述的情况是成立的,事实上,大公司里团队不是越来越大么(哈哈哈),而且经营得红红火火的,你能质疑说它团队人太多么,团队越大,从侧面上说它的发展肯定较之前更大,发展大了事情就多了,那就更需要人处理,这是成正比的。至于后者所说的,留有空间,想想看,当你忙忙碌碌下来一天,整个人精疲力尽,你还会考虑去协助其他人的事情么,引用一句话“月亏则盈 水满则益”,留有空间让大家去调整,而不是充分体现价值,价值的体现的日益渐进的。
【附加题】:请将问题提交至豆瓣, 并在博客中给出链接