[精品]浅谈验收测试驱动开发

[精品]浅谈验收测试驱动开发

ID:43780138

大小:30.50 KB

页数:4页

时间:2019-10-14

[精品]浅谈验收测试驱动开发_第1页
[精品]浅谈验收测试驱动开发_第2页
[精品]浅谈验收测试驱动开发_第3页
[精品]浅谈验收测试驱动开发_第4页
资源描述:

《[精品]浅谈验收测试驱动开发》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅谈验收测试驱动开发浅谈验收测试驱动开发【摘要】软件行业已经发展了很多年,尽管新技术不断涌现,但是软件质量问题依然存在,最突出的两点就是较高的缺陷率和较差的可维护性。为了应对此类问题,驱动测试开发技术(ADD)应运而生,但是随着ADD技术的普及,它所隐藏的问题也浮出水面,最为人诟病的就是“不能满足客户需求”,因为测试人员只注匝代码缺陷率而忽视了系统具体功能。本文阐述如何在ADD开发模式的基础上,结合验收测试驱动开发(ATDD)探讨如何开发适应于用户的系统。【关键词】敏捷开发;验收测试驱动开发;软件工程

2、一、引言极限编程方法理论中“测试驱动开发”是其一个重要组成部分,最早是FtlKentBeck提出,并积极推广的一种软件开发方法。KentBeck在他所著的《测试驱动开发》一书中指出“测试驱动开发”遵循“为明天编码,为今天设计”的观点。相比传统遵循“需求-设计-开发-测试”的软件开发流程而言,更强调测试优先,再通过编码和重构反复迭代最终构筑一个完整的软件系统。“测试驱动开发”在相当程度上了的确提高了开发人员的代码质量,而且在应对系统的可靠性也教之传统软件开发有着更大的优势,主耍体现在客户需求变更时能灵活

3、应对。然而软件问题屮另一项“是否满足客户需求”确没有很好地解决。验收测试驱动开发(ATDD)针对这个问题,提出让客户参与到测试标准的制定,让软件满足客户需求。用ATDD方法开发软件,开发人员更注重的是系统行为测试,而不是软件屮每个模块,甚至每行代码的测试。构筑一个满足客户需求的软件系统,不仅仅是软件设计开发人员和测试人员靠个人能力能解决的,在此过程中需耍客户参与进来,为打造可靠的软件提供有力的保障。二、什么是ATDD测试驱动开发(ADD)能够帮助开发人员开发出高质量的代码,保证开发人员所开发出的代码执

4、行正确,但是这些执行正确的代码在很大程度上是针对的具体模块而不是整体的系统功能。在一立程度上不一定能够满足客户的需求。验收测试驱动开发(ATDD)是建立在TDD的基础上,TDD和ATDD既可以分开使用也可以配合使用,在帮助开发人员在提高软件质量的同时,也帮助开发人员开发出用户真止需要的软件系统。软件测试是软件工程的重要组成部分,在传统的软件开发当中,软件测试大概包括软件执行过程中是否存在BUG、系统中是否还存在其它缺陷以及系统是否与系统设计书保持一致几项内容,ATDD则在此基础上赋予了软件软件测试新的

5、任务,即利用验收测试从系统功能的角度上驱动软件开发,解决软件不能满足客户需求或者是与客户设想相背离的问题。总体而言验收测试驱动开发是包括客户在内的一个团体组织的活动,围绕着客户需求引入“用户故事”(userstory)这种灵活的客户需求管理方式。客户和技术人员(包括设计、开发和测试)通过紧密的写作、有效的交流和沟通构筑可靠的、高质量软件系统。三、验收测试驱动开发的的周期在项目开发过程中,软件系统将细分成多个ATDD周期,每一个ATDD周期都将选择一个客户需求记录或者称之为用户故事,编写测试,伴随着失败

6、的验收测试,在编码、测试与重构的过程中反复迭代,直到本次用户故事验收测试通过。在ATDD的最初阶段,客户和技术人员通过有效的沟通和交流,编写简单的无歧义用户故事,开发人员据此编写验收测试。在完整的软件开发过程里,根据用户故事ATDD反复迭代,直到整个系统完成。一般而言,系统开发过程中,开发人员会将用户需求划分为更小跟具体的任务,同样在ATDD方法中,客户所拟定的用户故事中也包含了多个任务,在完成整个用户故事的过程中,开发人员可以利用ADD方式完成单个任务并将用户故事中所包含的的任务多次迭代,用以实现通

7、过木次验收测试。四、ATDD的特点验收测试旨在定制系统功能和系统行为的规范,它更强调的是让客户参与需求描述的制定,即让客户主导验收标准,用简洁的无歧义的口然语言描述系统所要实现的功能。能清楚有效的传达必要的信息,强调“谁”、“什么”和“为什么”而淡化甚至是不考虑“如何”。验收测试的主要特征如下:1•客户指定验收标准因为客户是需求领域的专家,他们知道他们需要什么的系统。这样做可以避免开发人员以及需求设计人员在考虑客户需求是总是从技术的角度出发,导致忽略了软件功能的本身需求。2.技术人员参与需求设计客户仅

8、仅是需求领域额专家,他不能了解到具体实现细节需要什么样的技术故为合适,而技术人员的参与可以帮助客户因为缺乏对将来要应用的技术必要知识而拒绝使用。在验收标准的制定过程中,客户与技术人员Z间的交流始终伴随整个过程。3.着重描述“什么”而非“如何”需求描述的是软件系统所要体现的工作的本身,并不包括如何实现系统。测试关注的是系统功能以及产生问题的本身,至于如何实现则是开发和设计人员关注的,在需求指定过冲中可忽略不计。4.需求定义简洁、无歧义编写验收测试当然需要客

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

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

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