敏捷开发中的软件测试

敏捷开发中的软件测试

ID:32215277

大小:432.00 KB

页数:7页

时间:2019-02-01

敏捷开发中的软件测试_第1页
敏捷开发中的软件测试_第2页
敏捷开发中的软件测试_第3页
敏捷开发中的软件测试_第4页
敏捷开发中的软件测试_第5页
资源描述:

《敏捷开发中的软件测试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、重庆大学软件学院软件测试课程(论文)敏捷开发中的软件测试指导老师:张毅学生:刘中保学号:20102413020目录目录1摘要2正文2参考文献41摘要敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。对于传统的开发方法,开发团队会编写大量的详细的测试相关文档来指导以后的系统测试,这种方法的好处在于可以记录大部分的需求,如果项目人员变更也可以让新进成员很快地进入项目

2、进程。但是测试文档最大的缺点就是不能很好地适应需求的变更。而敏捷开发提倡的是代码即文档,它用大量的代码注释取代了文档,以达到高效快速的软件开发的目的。同样的,对于软件的测试也是直接体现在代码上。这样可以及时得应对无时不在的需求变更。但从另外一个方面来说,这种方法要求团队成员都必须对项目十分了解。这样应对团队变更就会稍逊一筹。关键字:敏捷开发,软件测试,测试驱动21敏捷开发敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立

3、运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发最终的目标就是拥抱变化,以最快的速度对适应无所不在的变化。众所周知的是,软件开发过程中,需求永远是无法在需求分析阶段就得到完整的确认。因此传统的瀑布模型的开发方式已不可能适应快速变化的需求。但是敏捷开发却可以一些有异于传统软件开发方法的特性,做到对需求变化的快速适应。Test-DrivenDevelopment,测试驱动开发。它是敏捷开发的最重要的部分。在ThoughtWorks,实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一个的Story,记录在StoryCard上。然后两个人同时

4、坐在电脑前面,一个人依照Story,从业务需求的角度来编写测试代码,另一个人看着他并且进行思考,如果有不同的意见就会提出来进行讨论,直到达成共识,这样写出来的测试代码就真实反映了业务功能需求。接着由另一个人控制键盘,编写该测试代码的实现。如果没有测试代码,就不能编写功能的实现代码。先写测试代码,能够让开发人员明确目标,就是让测试通过。  ContinuousIntegration,持续集成。在以往的软件开发过程中,集成是一件很痛苦的事情,通常很长时间才会做一次集成,这样的话,会引发很多问题,比如build未通过或者单元测试失败。敏捷开发中提倡持续集成,一天之内集成十几次甚

5、至几十次,如此频繁的集成能尽量减少冲突,由于集成很频繁,每一次集成的改变也很少,即使集成失败也容易定位错误。一次集成要做哪些事情呢?它至少包括:获得所有源代码、编译源代码、运行所有测试,包括单元测试、功能测试等;确认编译和测试是否通过,最后发送报告。当然也会做一些其它的任务,比如说代码分析、测试覆盖率分析等等。在我们公司里,开发人员的桌上有一个火山灯用来标志集成的状态,如果是黄灯,表示正在集成;如果是绿灯,表示上一次集成通过,开发人员在这时候获得的代码是可用而可靠的;如果显示为红灯,就要小心了,上一次集成未通过,需要尽快定位失败原因从而让灯变绿。在持续集成上,我们公司使用

6、的是自己开发的产品CruiseControl。  Refactoring,重构。重构是在不改变系统外部行为下,对内部结构进行整理优化,使得代码尽量简单、优美、可扩展。在以往开发中,通常是在有需求过来,现在的系统架构不容易实现,从而对原有系统进行重构;或者在开发过程中有剩余时间了,对现在代码进行重构整理。但是在敏捷开发中,重构贯穿于整个开发流程,每一次开发者checkin代码之前,都要对所写代码进行重构,让代码达到cleancodethatworks。值得注意的是,在重构时,每一次改变要尽可能小,用单元测试来保证重构是否引起冲突,并且不只是对实现代码进行重构,如果测试代码中

7、有重复,也要对它进行重构。2  Pair-Programming,结对编程。在敏捷开发中,做任何事情都是Pair的,包括分析、写测试、写实现代码或者重构。Pair做事有很多好处,两个人在一起探讨很容易产生思想的火花,也不容易走上偏路。在我们公司,还有很多事都是Pair来做,比如Pair学习,Pair翻译,Pair做PPT,关于这个话题,钱钱同学有一篇很有名的文章对它进行介绍,名为PairProgramming(结对编程)。  Standup,站立会议。每天早上,项目组的所有成员都会站立进行一次会议,由于是站立的,所以时间不会很

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。