读《构建之法》后的思考

认真详细的读了《构建之法》第一、二和十六章后,我发现了一些疑问,也相应的提出了一些问题。

第一章 概论

引用:一个软件团队或企业总要养活自己,市面上有很多种赚钱的方式:

有的交钱买断

有的“先试用再交钱”,有些软件也提供使用版、免费版和正式版,还有的类似期刊订阅,每年交钱(参见Freemium的商业模式)

有的不但免费,连源代码也一并奉送,但是要求获得源代码的开发人员遵守某种协定

有的送硬件,但是软件要收钱

有的送软件,但是硬件要收钱

也有的是“免费用,但是要看我提供的广告”

还有的是“免费用,程序也不是我写的,如果有问题,给我钱,我就来提供咨询......”

看到这一段我不禁想到目前我参加了国创科研项目,两个我都有参加,国创是和商学院的学姐合作,那个项目就是做一个专业的心理测试和指导的APP,然后我们想到过很多种盈利方式,比如提供一对一专业的心理医生指导,我们从中获取利润;比如在APP中加入广告,收取广告费;还有就是给心理测试之后人推荐一些歌曲或者时书籍,以此来收取流量费。这些是我们想到的一些盈利模式,上文中也提到了很多种赚钱的方式,但是我不懂他上面提到的这些方式是怎么盈利的。

1、先试用后交钱的软件是共享软件。共享软件都是有免费试用期限的,但不是免费使用。其实共享软件更多的算是一种营销模式,可以让用户在掏钱之前先体验一下软件。小到一款CD到MP3的转换软件,大到微软的Office和Vista操作系统,都可以先下载来试用一番,觉得不错再出钱去购买。但是我在想这种方式盈利起来岂不是很难?大家可能只是试用,不会有太多的人真正的去花钱。

2、免费连源代码一并奉送,但是要求获得源代码的开发人员遵守某种约定。这种方式,我不是很懂他怎么来挣钱,这难道不是一种公益的行为吗?

3、软件或者硬件收费的。这种就是比如我开发了一款软件然后给你免费试用,但是你试用这款软件需要一些硬件方面的东西,而这些硬件方面就需要在这个企业买,以此来达到赚钱的目的吗?

4、软件中捆绑广告,这种方式是现在市面上最常见的模式吧,iOS应用商店中就有很多这样的APP,比如一款叫极速飙车的游戏,这个游戏是免费下载的,但是每次在我联网玩的时候它就会跳出很多的广告,然后你必须要看完这些广告才能继续进行下去,或者只有看几秒之后才能关闭这个广告。我觉得现在很多的软件中都会有类似的捆绑广告吧,跟需要做广告的公司合作然后以此来赚取利润。

5、但至于最后一种赚钱的方式,我不是很能理解,是从根本上没有理解字面上的意思,不懂是一种什么样的盈利模式?

 

第二章 个人技术和流程

 

引用:回归测试

在单元测试的基础上,我们就能够建立关于这一模块的回归测试。Regress:return to a worse or less developed state,是倒退、退化、退步的意思。在软件项目中,如果一个模块或功能以前是正常工作的,但是在一个新的构建中出了问题,那么这个模块就出现了一个“退步”,从正常工作的状态退化到不正常工作的状态。在一个模块的功能逐步完成的同时,与此功能有关的测试用例也同样在完善中。一旦有关的测试用例通过,我们就得到了此模块的功能基准线,一个模块的所有单元测试就是这个模块最初的Baseline。

所以,对于“回归测试”中的“回归”,我们可以将其理解为“回归到以前不正常的状态”

我百度了一下:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。

有了测试用例库的维护方法和回归测试包的选择策略,回归测试可遵循下述基本过程进行:
(1). 识别出软件中被修改的部分;
(2). 从原基线测试用例库T中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的基线测试用例库T0。
(3). 依据一定的策略从T0中选择测试用例测试被修改的软件。
(4). 如果必要,生成新的测试用例集T1,用于测试T0无法充分测试的软件部分。
(5). 用T1执行修改后的软件。
第(2)和第(3)步测试验证修改是否破坏了现有的功能,第(4)和第(5)步测试验证 修改工作本身
回归测试包括两部分:函数本身的测试、其他代码的测试。
我对回归测试的理解大概就是:
1、检查bug是否修复
2、检查修复bug是否引入新bug
3、检查新版本是否保留了新版本已有的成熟功能
但是我不明白为什么回归测试是回归到以前不正常的状态?
 
第十六章  IT行业的创新
读了第十六章,迷思之三:好的想法会赢
我有一个疑惑,一个好的创新,或许从中获得的是不可见的利益,那如何让每个人都能看见呢?
提出一个创新的想法时,我们应该考虑这么几点:
对利益相关人要讲清楚:你能从中得到什么
创新的想法和目前流行的做法相比,有什么相对优势,能让别人清楚地看到这个区别,并能够尝试。
创新和目前大众习惯、已有系统是否兼容。
避免过度描述复杂的技术。
是不是有一个好的创新时,就应该把你能从这个创新中得到的利益讲清楚,然后让别人看到你和别的做法的区别,让别人能体会到你所获得的利益,这样别人才能看到你获得的利益?但是有什么方法可以告诉清楚地告诉每一个人你所获得的利益呢?我觉得这个方法可行度有点难啊?我不是很懂。

 

posted @ 2018-03-18 19:24  枉生。  阅读(156)  评论(6编辑  收藏  举报