您的位置:首页>软件开发>软件工程>软件过程>

影响软件开发效率的12大杀手[2]

[ 来源:CSDN | 更新日期:2007-7-15 20:20:10 | 评论 0 条 | 我要投稿 ]

  4.开发人员在转换项目过程中花费了太多的时间 字串3

  通常来说,搭建一个项目的开发环境是不容易的。如果对项目没有很好的了解,不具备一定的专业知识,要搭建好环境几乎是不可能的。如果仅仅是搭建环境就花费很 长的时间,开发人员往往更希望长期呆在同一个项目环境中。比较理想的状况是:开发人员有能力毫不费力的从一个项目转到另一个项目,不存在技术难题,“项目 文化”已经不是个难题了。 字串3

  对此,我有个建议:使用项目管理工具,比如Apache Maven。用Maven描述的项目一般很容易在Eclipse中搭建起来。对于Java项目来说,只需要要从SVN下载代码,键入“maven eclipse”,刷新,它就可以工作了。所有与代码对应的测试代码也可以运行!哇,简直是太神奇了!整个项目不到30秒就建好了。 字串3

  很可惜,这项技术目前还只支持Java。至于其它的语言,如Python、C,等等,仅仅Maven还是不够的。

字串3

  5.随着开发人员的增加,Bug也增加

字串5

  如果方法不得当,一般来说,开发人员增加的同时,程序的bug数目也会增多;随着程序的复杂性的增大,软件的质量也会下降。而我们必须与之作斗争。那采取什么方法呢?很简单的理论:透明、代码审查和自动测试。

字串7

  透明能够确保每个人都能得到代码,决定谁去修改它,何时修改,或者是为什么要修改它。透明能够确保团队的每个人都会因为自己的代码质量而感到压力,并由此而产生动力。 字串2

  而代码审查呢?开发人员对别人的代码进行审查,不仅能够从别人的代码中学到东西,而且它还确保开发人员有效地发现代码的问题,对提高代码质量功不可没。

字串4

  至于自动测试,我们在下面进行详解。

字串8

  6.分层测试

字串4

  不可否认,写出好的测试代码的确是个很大的挑战。例如,代码写好后,对它们进行单元测试就很困难,单元测试不可能测试到程序运行的方方面面。功能性(质量保证)测试对程序测试相当有效,不过它通常运行慢,对问题发生的原因给出的信息往往很不够。

字串8

  因此,你不得不对测试进行拆分以克服这种情况。如果简单的基础测试都无法通过,那么运行更大的测试显然是无意义的。分层测试的目的就是让测试从易到难。 字串5

  ――第0层:开发人员在自己本地环境中进行的单元测试。

字串3

  ――第1层:构建服务器上的单元测试,(几乎每个)代码提交之后开始。

字串5

  ――第2.1层:集成测试,在几个模块整合到一起之后进行的测试。(用真正的模块代替掉原先的模拟模块。例如,使用真正的XML解析器换掉原先的那个替代品)

字串4

  ――第2.2层:集成测试,通过入口访问系统(接口、磁盘等等,到这儿,你可以测试访问真正的系统) 字串4

  ――第3层:功能性测试,测试程序可见的部分。(用户能够看到的实实在在的功能,当然,这一层还不够)

字串6

  ――第4层:性能测试。

字串9

  ――第5层:客户体验。(OK,这并不是一个测试层,但是这个环节的确会发现不少意料之外的bug) 字串4

  这个方法的理念是同一个bug决不会再次重现。因而,对于每个你发现的bug,你都应该创建测试用例以保证它不会重现。这个测试可能是单元测试(这样最好),也有可能是集成测试。

字串1


Tags:
责任编辑:
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为