测试驱动开发与软件质量保证探析

测试驱动开发与软件质量保证探析

ID:5307693

大小:306.78 KB

页数:5页

时间:2017-12-07

测试驱动开发与软件质量保证探析_第1页
测试驱动开发与软件质量保证探析_第2页
测试驱动开发与软件质量保证探析_第3页
测试驱动开发与软件质量保证探析_第4页
测试驱动开发与软件质量保证探析_第5页
资源描述:

《测试驱动开发与软件质量保证探析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第31卷第6期泉州师范学院学报Vo1.31NO.62013年12月JournalofQuanzhouNormalUniversityDee.20l3测试驱动开发与软件质量保证探析彭振龙(泉州师范学院工商信息学院,福建泉州362000)摘要:在探讨软件质量保证对于软件产业发展的重要性的基础上,阐述了测试驱动开发的概念、流程及由测试驱动开发的本质特性决定的优劣势.为了提升其对软件质量保证的可靠性,提出了两种解决办法:(1)加强对测试集的集体开发;(2)加强与传统软件测试在集成测试、系统测试等方面的优势整合,为软件开发与设计提供了

2、一种有益的选择和尝试.关键词:测试驱动;软件测试;软件质量;软件开发中图分类号:TP311.52文献标识码:A文章编号:1009—8224(2013)06—0090—05随着我国信息化进程的不断推进,对于软件产品的需求正在不断上升.在经历了软件行业快速增长的阶段后,近年来,软件质量问题也层出不穷.据统计,全球每年因软件质量问题而导致的损失高达数千亿美元之巨.因此,我国规模越大的软件企业,其对软件质量的控制也越为重视.企业员工数量为500人以下的软件企业和500人以上的软件企业,设立有独立软件质量管理部门的比例分别为6o9/6

3、和93左右⋯.为了确保软件质量,严格地遵循软件工程的开发周期及过程显得尤为重要.但是传统的软件工程开发方法在面对需求变更、测试不充分的情况时也力无能为力.测试驱动开发在一定程度上解决了以上困难,近年来得到了快速发展.1测试驱动开发的涵义及实现流程1.1涵义测试驱动开发(Test—DrivenDevelopment,简称TDD),顾名思义即是由测试驱动程序开发(包括设计和实现)的一种软件开发方法.测试驱动开发始于上世纪90年代,是极限编程(ExtremeProgramming(XP))中所倡导的测试优先实践的软件开发方式L2]

4、.该方法与传统的软件工程开发过程差异很大.传统的软件开发过程,测试总是在编码之后进行.而测试驱动是根据需求,先写测试程序,然后再编码并设法让该编码通过测试,之后再重构.所谓的重构就是去除冗余和重复的代码,提高代码的内聚性和可重用性,达到改进软件质量的目标,重构又分为代码重构和测试重构,如此循环,直到所有功能都得以实现.在很多开发实践中,测试驱动方法常常能起到非常好的开发效果,使得软件测试工作不是仅仅在编码完成后才进行的软件测试,而是变成了软件设计的一部分l3].在这一模式下,软件测试在软件编码之前进行,编码完毕常常测试也完毕

5、,从而软件开发也完毕,而且往往能保持较好的软件质量.测试驱动的常见流程是编写测试一编写实现一重构一编写测试⋯⋯,不断循环,直至开发完成.1.2实现流程测试驱动开发开始前,依然进行需求分析和设计工作.但在分析和设计阶段主要的工作是创建和模拟执行测试描述表,以确定系统架构.之后才开始子系统的开发,即实现阶段.接下来是代码集成阶段,包括了功能覆盖程度分析和集成测试、用户验收测试等内容.总体过程为“需求说明一分析和设计一实现一代码集成”.在这个过程中,其他阶段与软件工程所描述的差别不大,在此不再赘述.实现阶段最能收稿日期:2013-

6、05—26作者简介:彭振龙(1977一),男,福建泉州人,讲师,硕士,从事电子政务、电子商务、软件工程、物联网研究基金项目:泉州市科技局资助项目(2011G12)第6期彭振龙:测试驱动开发与软件质量保证探析91体现测试驱动的特点,下面以更为详细的流程图的方式加以分析“实现阶段”的执行过程,见图1.从图1中可以看出,实现阶段的主要流程为:(1)从需求分析和设计阶段获取需要完成的相关任务,用模块化方法明确每个功能,常常需要建立一个功能测试描述表;(2)根据功能模块要求,快速编写针对此功能的测试用例,并确保编译通过;(3)编写相应

7、的功能现实代码;(4)测试通过;(5)如不通过,则需对代码进行重构,直到测试通过;(6)循环执行以上过程,直到所有功能都开发完毕.2测试驱动开发的优劣势测试驱动开发的本质是“目标管理”,其成功与否的标准在于设定的目标是否达到,这就涉及到所制定目标的“粒度”问题.通常来讲,测试的图1测试驱动开发实现阶段流程目标粒度要比设计目标粒度更小、更具体.因此,更有针对性也更为经济.Fig1Th。implmtti。fl。w.相对传统软件工程,测试驱动的这一特性既是优势又是劣势.2.1测试驱动开发的优势2.1.1测试完毕时意味着编码工作也同

8、时完毕传统的软件开发方法,编码完成后还有一个软件测试的过程,这一过程可能需要修改或重新编写软件代码,故难以确定软件编码什么时候结束.而测试驱动开发只要测试获得通过就意味着编码工作的结束.2.1.2为客户提供了精准而全面的应用范例无论客户是想利用源代码,还是复用所开发的组件,或者要检验软件的

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

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

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