测试驱动开发在星载软件开发中应用

测试驱动开发在星载软件开发中应用

ID:6210944

大小:27.50 KB

页数:6页

时间:2018-01-06

测试驱动开发在星载软件开发中应用_第1页
测试驱动开发在星载软件开发中应用_第2页
测试驱动开发在星载软件开发中应用_第3页
测试驱动开发在星载软件开发中应用_第4页
测试驱动开发在星载软件开发中应用_第5页
资源描述:

《测试驱动开发在星载软件开发中应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、测试驱动开发在星载软件开发中应用  【文章摘要】本文介绍了一种测试驱动开发的软件开发方法,在设计测试用例的基础上完成软件设计实现的过程,继而通过重构代码来优化软件,分析了这种方法的优缺点,结合星载软件开发的工程要求,在传统瀑布模型中加入测试驱动方法,用结对编程和完善测试环节的方法弥补测试驱动开发的缺点,在工程实践中取得了提高程序编写质量和减少开发时间的效果。【关键词】测试驱动开发;结对编程;星载软件1概述6自20世纪60年代以来,人们发现了“软件危机”带来的巨大危害,于是在软件工程领域做了大量研究工作,逐渐形成了一整套软件生命周期的开发理论,随着软件规模越来越大,项目周期缩短,而用户的需求

2、快速变换,传统的开发方法已不能适应软件开发的需要,而测试驱动开发(简称TDD),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。2测试驱动方法的优缺点分析2.1测试驱动的优点测试驱动开发相对于传统的软件开发方式,具有以下特点:1)测试驱动开发根据客户需求编写测试用例,对功能的过程和接口都进行了设计,而且这种从使用者角度对代码进行的设计通常更符合后期开发的需求。因为关注用户反馈,可以及时响应需求变更,同时因为从使用者角度出发的简单设计,

3、也可以更快地适应变化;2)出于易测试和测试独立性的要求,测试驱动开发促使开发者实现松耦合的设计,并更多地依赖于接口而非具体的类,提高系统的可扩展性和抗变性,从而明显地缩短了设计决策的反馈循环;3)测试驱动开发将测试工作提到编码之前,并频繁地运行所有测试,可以尽量地避免和尽早地发现错误,降低了后续测试及修复的成本,提高了代码的质量。在测试的保护下,不断重构代码,以消除重复设计,优化设计结构,提高了代码的重用性,从而提高了软件产品的质量;64)测试驱动开发提供了持续的回归测试,便于开发者对代码进行重构,因为代码的改动导致系统其他部分产生任何异常,测试都会立刻通知我们。完整的测试会帮助我们持续地

4、跟踪整个系统的状态,因此可以避免一些软件潜通路问题;5)系统可以与详细的测试集一起发布,从而对程序将来版本的更改和扩展提供方便;6)由于编写测试用例和代码过程上统一,降低了测试人员理解代码所花费的成本。2.2测试驱动存在的问题根据已采用测试驱动开发的人员评价,测试驱动方法也存在以下问题:1)开发者可能只完成满足了测试的代码,而忽略了对实际需求的实现;2)会放慢开发实际代码的速度,特别对于要求开发速度的原型开发造成不利;3)对于图形化用户界面(GUI)、资料库和Web应用而言。构造单元测试比较困难,如果强行构造单元测试,反而给维护带来额外的工作量;4)使得开发更为关注测试用例,而不是设计本身

5、;5)单纯的测试驱动开发会导致单元测试的覆盖度不够,比如可能缺乏边界测试。3某星载管理软件开发过程3.1测试驱动思想的引入和改进6针对测试驱动开发方法的优缺点,根据航天嵌入式软件开发的行业要求,在充分继承航天软件原有V型瀑布模型开发模式的基础上,不改变原来开发模式的主体结构,在软件需求分析阶段引入测试驱动开发的思想,提前到需求阶段就同步开展测试用例和测试计划的编制工作,由面向用户的系统分析员直接设计测试用例。由于星载嵌入式软件对于软件可靠性要求较高,因此在开发测试过程中,在代码完成后还是需要补充单元测试和组装测试,以保证测试的覆盖性,单元测试用例要覆盖详细设计中描述的每个子程序,语句覆盖率

6、、分支覆盖率均要达到100%,加强对边界点的测试以及边界外的测试。软件开发组采用双人双岗制,用结对编程的方式弥补测试驱动开发可能忽略实际需求的不足之处,在两人结对编程中,一个人负责输入代码,称为“驾驶员”,另一个人负责审查代码,称为“观察员”,在同一个软件开发过程中,两者的角色可以经常互换,观察员主要考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理,而驾驶员专注于当前任务的“战术层面”,两人的协调工作则带来纪律和时间管理的提升。6在操作层面上,观察者编写可能导致当前程序出错的测试用例,驾驶者修改代码以通过该用例,观察者编写新的测试用例,以此类推。这个循环持续到观察者不能写

7、出失败的测试用例。显然,结对编程要花较多的时间,但航天软件研制周期相对较长,可靠性要求较高,因而采用这种方式进行补充是合理的。3.2项目策划和需求分析在某试验卫星中,需要搭载一台国产SM1750计算机验证国产元器件及软件的工作情况,这类软件属于嵌入式实时软件,规模估计在4000行左右的小型软件,开发团队共4人,设置项目经理1人,开发人员2人(结对编程,互相测试),质量过程管理人员1人。3.3测试用例设计项目经理在需求分析

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

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

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