123
返回列表 发新帖
楼主: popsti

[原创] [讨论问题送Pub币]讨论一下在公司资源有限的情况下怎样开展测试工作

[复制链接]
论坛徽章:
91
咸鸭蛋
日期:2012-12-24 21:01:27奥运会纪念徽章:手球
日期:2012-10-28 11:32:12奥运会纪念徽章:足球
日期:2012-10-27 09:41:27ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15奥运会纪念徽章:跆拳道
日期:2012-06-22 11:53:52灰彻蛋
日期:2012-02-16 16:21:102012新春纪念徽章
日期:2012-01-04 11:53:29紫水晶
日期:2012-08-22 15:08:48ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26ITPUB十周年纪念徽章
日期:2011-09-27 16:32:49
21#
发表于 2007-8-14 21:30 | 只看该作者
三、测试驱动开发的测试范围

      按大师 Kent Benk 的话,对那些你认为应该测试的代码进行测试,测试驱动开发强调测试并不应该是负担,而应该是帮助我们减轻工作量的方法。

四、TDD的优点

      『充满吸引力的优点』

      完工时完工。表明我可以很清楚的看到自己的这段工作已经结束了,而传统的方式很难知道什么时候编码工作结束了。
      全面正确的认识代码和利用代码,而传统的方式没有这个机会。
      为利用你成果的人提供Sample,无论它是要利用你的源代码,还是直接重用你提供的组件。
      开发小组间降低了交流成本,提高了相互信赖程度。
      避免了过渡设计。
      系统可以与详尽的测试集一起发布,从而对程序的将来版本的修改和扩展提供方便。
      TDD给了我们自信,让我们今天的问题今天解决,明天的问题明天解决,今天不能解决明天的问题,因为明天的问题还没有出现(没有TestCase),除非有TestCase否则我决不写任何代码;明天也不必担心今天的问题,只要我亮了绿灯。

      『不显而易见的优点』

      逃避了设计角色。对于一个敏捷的开发小组,每个人都在做设计。
      大部分时间代码处在高质量状态,100%的时间里成果是可见的。
      由于可以保证编写测试和编写代码的是相同的程序员,降低了理解代码所花费的成本。
      为减少文档和代码之间存在的细微的差别和由这种差别所引入的Bug作出杰出贡献。
      在预先设计和紧急设计之间建立一种平衡点,为你区分哪些设计该事先做、哪些设计该迭代时做提供了一个可靠的判断依据。

      『有争议的优点』

       事实上提高了开发效率。每一个正在使用TDD并相信TDD的人都会相信这一点,但观望者则不同,不相信TDD的人甚至坚决反对这一点,这很正常,世界总是这样。
      发现比传统测试方式更多的Bug。
      使IDE的调试功能失去意义,或者应该说,避免了令人头痛的调试和节约了调试的时间。
      总是处在要么编程要么重构的状态下,不会使人抓狂。(两顶帽子)
      单元测试非常有趣。

五、TDD的 优势

      TDD的基本思路就是通过测试来推动整个开发的进行。而测试驱动开发技术并不只是单纯的测试工作。

      需求向来就是软件开发过程中感觉最不好明确描述、易变的东西。这里说的需求不只是指用户的需求,还包括对代码的使用需求。很多开发人员最害怕的就是后期还要修改某个类或者函数的接口进行修改或者扩展,为什么会发生这样的事情就是因为这部分代码的使用需求没有很好的描述。测试驱动开发就是通过编写测试用例,先考虑代码的使用需求(包括功能、过程、接口等),而且这个描述是无二义的,可执行验证的。

      通过编写这部分代码的测试用例,对其功能的分解、使用过程、接口都进行了设计。而且这种从使用角度对代码的设计通常更符合后期开发的需求。可测试的要求,对代码的内聚性的提高和复用都非常有益。因此测试驱动开发也是一种代码设计的过程。

      开发人员通常对编写文档非常厌烦,但要使用、理解别人的代码时通常又希望能有文档进行指导。而测试驱动开发过程中产生的测试用例代码就是对代码的最好的解释。

      快乐工作的基础就是对自己有信心,对自己的工作成果有信心。当前很多开发人员却经常在担心:“代码是否正确?”“辛苦编写的代码还有没有严重bug?”“修改的新代码对其他部分有没有影响?”。这种担心甚至导致某些代码应该修改却不敢修改的地步。测试驱动开发提供的测试集就可以作为你信心的来源。

      当然测试驱动开发最重要的功能还在于保障代码的正确性,能够迅速发现、定位bug。而迅速发现、定位bug是很多开发人员的梦想。针对关键代码的测试集,以及不断完善的测试用例,为迅速发现、定位bug提供了条件。

      我的一段功能非常复杂的代码使用TDD开发完成,真实环境应用中只发现几个bug,而且很快被定位解决。您在应用后,也一定会为那种自信的开发过程,功能不断增加、完善的感觉,迅速发现、定位bug的能力所感染,喜欢这个技术的。

使用道具 举报

回复
论坛徽章:
91
咸鸭蛋
日期:2012-12-24 21:01:27奥运会纪念徽章:手球
日期:2012-10-28 11:32:12奥运会纪念徽章:足球
日期:2012-10-27 09:41:27ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15奥运会纪念徽章:跆拳道
日期:2012-06-22 11:53:52灰彻蛋
日期:2012-02-16 16:21:102012新春纪念徽章
日期:2012-01-04 11:53:29紫水晶
日期:2012-08-22 15:08:48ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26ITPUB十周年纪念徽章
日期:2011-09-27 16:32:49
22#
发表于 2007-8-14 21:32 | 只看该作者
没有用过这种测试方式.不知道在实际的项目中,能否达到所说的那些优势.呵呵.

使用道具 举报

回复
论坛徽章:
72
红旗
日期:2013-11-12 18:59:02比亚迪
日期:2013-11-07 18:36:27问答徽章
日期:2013-11-03 13:52:25日产
日期:2013-10-26 16:37:40ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:34ITPUB社区12周年站庆徽章
日期:2013-10-08 14:56:08ITPUB社区12周年站庆徽章
日期:2013-10-08 14:53:15雪佛兰
日期:2013-09-16 18:47:29雪佛兰
日期:2013-08-28 22:47:53日产
日期:2013-08-20 20:09:19
23#
发表于 2007-8-23 00:41 | 只看该作者
1.首先,定义公司的软件开发过程,定义规范的测试过程,我的意思是大体流程要定下来.
2,如果时间紧张,抓住主要的方面就可以.
3.如果过程混乱,做好准备,随时跑路.

使用道具 举报

回复
论坛徽章:
61
授权会员
日期:2006-02-22 12:28:08马上有对象
日期:2015-02-06 11:38:37马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09
24#
 楼主| 发表于 2007-8-26 22:41 | 只看该作者
最初由 dongmusic 发布
1.首先,定义公司的软件开发过程,定义规范的测试过程,我的意思是大体流程要定下来.
2,如果时间紧张,抓住主要的方面就可以.
3.如果过程混乱,做好准备,随时跑路.


[B]3.如果过程混乱,做好准备,随时跑路. [/B]

主要方面一定要抓准,把客户最关心的地方保证好其它就好说了,商务、项目经理都给客户做做“工作”就好了

使用道具 举报

回复
论坛徽章:
96
秀才
日期:2017-02-22 15:18:00玉兔
日期:2015-10-05 09:02:46双子座
日期:2015-08-10 18:45:20ITPUB年度最佳版主
日期:2015-03-18 15:48:48法拉利
日期:2013-12-25 19:32:35法拉利
日期:2013-12-25 17:16:47法拉利
日期:2013-12-23 21:04:09法拉利
日期:2013-12-19 14:19:27法拉利
日期:2013-12-19 07:10:24ITPUB14周年纪念章
日期:2015-10-26 17:23:44
25#
发表于 2007-8-26 22:50 | 只看该作者
3.如果过程混乱,做好准备,随时跑路.

使用道具 举报

回复
论坛徽章:
0
26#
发表于 2007-9-1 15:53 | 只看该作者
最初由 mo_yuan_ming 发布
[B]1:坚持执行由程序员自己写单元测试。

2:用自动化测试工具进行黑盒测试。

3:使用压力测试工具作负载测试。

4:根据不同的语言选择对应静态分析代和码分析工具对代码作分析。

这些只要有一个人比较强就完全可以执行下去了 [/B]



你说的这个太不实际了,呵呵。按你的说法,理想状态下一个100人规模的项目,质量部只需要:
3个人(自动化工程师、性能工程师、白盒工程师)+应届生(成本便宜)+QC Leader一个(培训、管理、计划)就能搞定了。
开发部
也至少平均开发年限要2年。
完美。

使用道具 举报

回复
论坛徽章:
120
生肖徽章:兔
日期:2007-06-22 14:08:212012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14
27#
发表于 2007-9-27 12:26 | 只看该作者
最初由 dongmusic 发布
[B]
3.如果过程混乱,做好准备,随时跑路. [/B]
希望不走这条路 有一分可能都要努力争取

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表