- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈验收测试驱动开发.doc
浅谈验收测试驱动开发
【摘要】软件行业已经发展了很多年,尽管新技术不断涌现,但是软件质量问题依然存在,最突出的两点就是较高的缺陷率和较差的可维护性。为了应对此类问题,驱动测试开发技术(ADD)应运而生,但是随着ADD技术的普及,它所隐藏的问题也浮出水面,最为人诟病的就是“不能满足客户需求”,因为测试人员只注重代码缺陷率而忽视了系统具体功能。本文阐述如何在ADD开发模式的基础上,结合验收测试驱动开发(ATDD)探讨如何开发适应于用户的系统。
【关键词】敏捷开发;验收测试驱动开发;软件工程
一、引言
极限编程方法理论中“测试驱动开发”是其一个重要组成部分,最早是由Kent Beck提出,并积极推广的一种软件开发方法。Kent Beck在他所著的《测试驱动开发》一书中指出“测试驱动开发”遵循“为明天编码,为今天设计”的观点。相比传统遵循“需求-设计-开发-测试”的软件开发流程而言,更强调测试优先,再通过编码和重构反复迭代最终构筑一个完整的软件系统。“测试驱动开发”在相当程度上了的确提高了开发人员的代码质量,而且在应对系统的可靠性也教之传统软件开发有着更大的优势,主要体现在客户需求变更时能灵活应对。然而软件问题中另一项“是否满足客户需求”确没有很好地解决。验收测试驱动开发(ATDD)针对这个问题,提出让客户参与到测试标准的制定,让软件满足客户需求。用ATDD方法开发软件,开发人员更注重的是系统行为测试,而不是软件中每个模块,甚至每行代码的测试。构筑一个满足客户需求的软件系统,不仅仅是软件设计开发人员和测试人员靠个人能力能解决的,在此过程中需要客户参与进来,为打造可靠的软件提供有力的保障。
二、什么是ATDD
测试驱动开发(ADD)能够帮助开发人员开发出高质量的代码,保证开发人员所开发出的代码执行正确,但是这些执行正确的代码在很大程度上是针对的具体模块而不是整体的系统功能。在一定程度上不一定能够满足客户的需求。验收测试驱动开发(ATDD)是建立在TDD的基础上,TDD和ATDD既可以分开使用也可以配合使用,在帮助开发人员在提高软件质量的同时,也帮助开发人员开发出用户真正需要的软件系统。软件测试是软件工程的重要组成部分,在传统的软件开发当中,软件测试大概包括软件执行过程中是否存在BUG、系统中是否还存在其它缺陷以及系统是否与系统设计书保持一致几项内容,ATDD则在此基础上赋予了软件软件测试新的任务,即利用验收测试从系统功能的角度上驱动软件开发,解决软件不能满足客户需求或者是与客户设想相背离的问题。
总体而言验收测试驱动开发是包括客户在内的一个团体组织的活动,围绕着客户需求引入“用户故事”(user story)这种灵活的客户需求管理方式。客户和技术人员(包括设计、开发和测试)通过紧密的写作、有效的交流和沟通构筑可靠的、高质量软件系统。
三、验收测试驱动开发的的周期
在项目开发过程中,软件系统将细分成多个ATDD周期,每一个ATDD周期都将选择一个客户需求记录或者称之为用户故事,编写测试,伴随着失败的验收测试,在编码、测试与重构的过程中反复迭代,直到本次用户故事验收测试通过。在ATDD的最初阶段,客户和技术人员通过有效的沟通和交流,编写简单的无歧义用户故事,开发人员据此编写验收测试。在完整的软件开发过程里,根据用户故事ATDD反复迭代,直到整个系统完成。
一般而言,系统开发过程中,开发人员会将用户需求划分为更小跟具体的任务,同样在ATDD方法中,客户所拟定的用户故事中也包含了多个任务,在完成整个用户故事的过程中,开发人员可以利用ADD方式完成单个任务并将用户故事中所包含的的任务多次迭代,用以实现通过本次验收测试。
四、ATDD的特点
验收测试旨在定制系统功能和系统行为的规范,它更强调的是让客户参与需求描述的制定,即让客户主导验收标准,用简洁的无歧义的自然语言描述系统所要实现的功能。能清楚有效的传达必要的信息,强调“谁”、“什么”和“为什么”而淡化甚至是不考虑“如何”。验收测试的主要特征如下:
1.客户指定验收标准
因为客户是需求领域的专家,他们知道他们需要什么的系统。这样做可以避免开发人员以及需求设计人员在考虑客户需求是总是从技术的角度出发,导致忽略了软件功能的本身需求。
2.技术人员参与需求设计
客户仅仅是需求领域额专家,他不能了解到具体实现细节需要什么样的技术最为合适,而技术人员的参与可以帮助客户因为缺乏对将来要应用的技术必要知识而拒绝使用。在验收标准的制定过程中,客户与技术人员之间的交流始终伴随整个过程。
3.着重描述“什么”而非“如何”
需求描述的是软件系统所要体现的工作的本身,并不包括如何实现系统。测试关注的是系统功
您可能关注的文档
最近下载
- 2025年二级造价师题库【实用】.docx VIP
- 1_3-苏州市建筑项目交通设计及停车场(库)设置标准&说明181205 (合稿).pdf VIP
- 2025年重庆八中宏帆中学小升初自主招生数学试题(含答案详解).pdf VIP
- 2024年重庆南开中学(南渝)小升初数学试卷及逐题详解 .pdf VIP
- 药物免疫毒性非临床研究技术指导原则.pdf VIP
- 泸州市纳溪区人民法院公开招聘劳务派遣制审判辅助人员(15人)笔试备考题库及答案解析.docx VIP
- 水果筐买卖合同协议.docx VIP
- 回弹法检测混凝土抗压强度技术规程.pdf VIP
- 2025年情绪消费研究报告:洞察新消费趋势下的市场机遇与挑战.docx VIP
- 数学在密码中的应用.doc VIP
文档评论(0)