软件工程15个人阅读作业2
问题1(p28)
文中:“单元测试应该集成到自动测试的框架中,这样每个人都可以随时、随地运行单元测试“
提出问题:将单元测试集成到自动测试的框架中应该注意什么
查阅资料:”单元测试有一点特殊性,就是在一个系统中,函数会非常非常的多,变化也比软件的功能频繁的多。面对这么多的函数,这么频繁的变化,纯手工测试是不现实的。所以,我们必须要引入单元测试框架进行自动化测试;其重点是:1、如何搭建测试环境、测试场景;2、如何选择测试用例;3、如何校验测试结果。对于测试代码本身,应该尽可能的简单,能不要使用技巧尽量不要使用,我们的目的在于测试,如果测试本身过于复杂,我们不能保证测试的正确性,测试这个工作就白做了。
启发:在我们平时编写代码的时候,要注意别写多余的代码,尽可能在实现其功能的前提下精简代码
问题2(p92)
文中:“软件开发流程的目的,是为了提高软件开发、运维和维护的效率,以及提升用户的满意度、软件的可靠性和可维护性”
提出问题:到底软件开发的具体流程是什么?怎么操作?
查阅资料:软件开发流程即软件设计思路和方法的一般过程
1 开发流程
▪ 需求分析
▪ 概要设计
▪ 详细设计
▪ 编码
▪ 测试
▪ 软件交付
▪ 验收
▪ 维护
2 软件维护
3 软件升级
4 报废处理
启发:大概理解,但毕竟没有亲身体会,感受不够深
问题3(p16)
在文中p16讲到“是否bug取决于用户和开发者”,比如某聊天软件不支持视频聊天,用户期待该软件具备视频聊天功能,用户觉得这是一个bug,但是该软件的开发人员认为,该软件本来就没打算支持视频聊天,所以不能算是bug;于是作者举了肉芽的例子,想说明,对于不同的问题,不同的人有不同的答案,我觉得此例子用得不是很准确,因为店长明明知道这是肉里长出来的虫,为了自己的生意才胡说这是肉芽,并不能用来证明看问题的角度不同得出了问题的不同答案
问题4(p194)
文中:“我们的软件不是为所有人服务的”
提出问题:不是很清楚了解其中的原因,如果不考虑为所有人服务,是不是就损失了很多潜在客户
查阅资料:文中提出了要确定典型用户,看了还是不是很清楚,于是去查阅了资料,看到下面的案例
最后一公里便利店
为了寻找创业的点子,之前有对最后一公司里的超市便利店,做过市场分析和调研。
第一阶段
我们几个小伙伴一起,选择了5个小区,进行超市调研,收集了大概20个超市的情况。这些超市,不仅仅是很小的便利店,也包括物美、超市发等中型和大型的超市。
重点采集了如下要素:
经营者年龄
使用微信等互联网产品的习惯
是否有送货上门业务
送货上门的订单量
超市规模
一个小区,便利店数量
需要送货上门的用户群体特点
第二阶段
通过第一阶段采集用户信息,目标用户主要包括如下类型:
大型超市
物美已经有多点平台,自己在部分小区已经实现了配送。一般70块钱以上,3公里以内,都给配送。
中型超市
超市发开始使用第三方平台,做配送业务。等于是已经有人开发了这个规模超市的SaaS平台服务。
大流量小超市
如果是在地铁口等流量大的地方,基本对这个业务不是很感兴趣,因为已经忙不过来了。
小流量小超市
这一类超市里面,又有多种情况,而且调研结果发现,这类超市如果是有两个以上的人,基本都是老板的家人,大部分都提供送货服务。价格基本是在20元以上起送。
再来看小区便利店的详细情况
从经营者的角度看,大部分都是30多岁以上的人群,40多50岁的占主流。如果是接入软件系统,只能考虑使用互联网的老板。但是实际情况是,现在年纪大的,真正愿意用互联网的,很少,这个群体里面最多到30%左右的情况。
如果要做,只能是提供电话客服,进行对接。
然后从规模看,去掉大中超市,缩小到小超市这个范围,再考虑熟悉互联网的人群,基本一个小区,一家都可能都到不了。
而且从竞争环境看,当前最后一公里的生意,大中超市已经接入配送服务。那么小便利店,只能主打及时性需求,即做饭没米了,下楼买一袋,类似这样的需求。
需要送货上门的人群,主要是集中在小区内的单身,比较懒的,或者回家比较晚的人群。
时间段,也基本是晚上9点以后到凌晨1点的时间。
总结来说,便利店软件系统这个产品定位,初期的典型用户的特点是
1.习惯使用互联网的小便利店主
2.有两个以上经营人员,才能配送
3.便利店远离大流量位置
4.已提供电话或者微信下单送货上门业务。
当确定了主要用户,后面的事情,就是找一个方式,去解决用户的需求了
启发:所以确定典型用户非常重要,搞清楚典型用户的真正需求,这样才能有助于做出实用的、真正受欢迎的产品
问题5(p256)
文中:提到按测试设计的方法分类的黑箱测试法
问题:对于黑箱测试的定义是看得懂,但是不知道黑箱测试法做些什么
查阅资料:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否
都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测
试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入
数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性