浅谈验收测试驱动开发

合集下载

经验交流:测试驱动开发感悟★

经验交流:测试驱动开发感悟★

经验交流:测试驱动开发感悟★第一篇:经验交流:测试驱动开发感悟最近听到了很多关于软件质量的话题,自己前段时间也参加个PMP(项目管理)的培训,所以一时对于质量控制特别感兴趣,在这里想和大家共同讨论下!软件质量,是所有人都很关心的东西。

我们在开发过程中为了保证质量,从中引进了软件测试。

它在整个的过程中起到的作用不言而预,但是它也存在一些问题:1、在软件测试中要保证软件的高质量就必须增加项目的成本,从而需要增加测试人员,延长项目时间,购买或学习测试工具的成本。

2、因为这种测试是依赖与开发完后才提交给测试人员的,所以如果测试中出现BUG,就会出现BUG打回,再次提交测试...,这中间还需要测试人员和开发人员的沟通,这也是一个成本的增加3、这种方式会使得开发人员对测试人员产生依赖,从而降低代码的质量,减少自己的测试.....我们为什么不能把测试前移呢!让开发人员自己对软件的业务就做个完整的测试,然后把代码提交给测试人员,这样就可以减少BUG的数量,同时可以让测试人员不只关注与功能性的问题,可以关注更深层次的问题(性能,用户体验...),这种方式就是做单元测试。

其实这个东西很早就有了,每个人都知道它,只是如何做的问题,我相信其实很多公司都做到,有些做的很好,但也有些是失败的!我自己经历过失败,体会过它的麻烦和迷惑,也经历了成功,体会到了它的好处。

所以把这些写出来分享下!软件就是由代码组成的,所以软件的质量就是代码的质量,我们出了BUG就从代码开始入手找问题,然后修改代码。

但是当你的软件从小慢慢变大时候,代码越来越多,彼此之间的关联越来越紧密,这样就带来了一个问题“修改一部分代码后会影响多少?”,如果你拿这个问题去问那些项目中没有单元测试的开发人员,他们给出的答案都是通过“拍脑袋”来的,这样绝对会给你的项目带来风险。

为了降低风险,项目开始要求开发人员做单元测试,但是做过后得出,这真的可以降低成本吗!花了太多的时间去写测试代码(甚至比开发时间还要多),对于质量的保证也没有达到预期的效果...,项目做完后,发现做单元测试的和没有做成本多很多,所以接着就放弃了!.....这种现象我想是我们都想做它但又不做它的最大因素。

软件开发中的测试驱动开发介绍

软件开发中的测试驱动开发介绍

软件开发中的测试驱动开发介绍随着互联网的快速发展,软件开发行业也得到了前所未有的发展。

越来越多的软件开发团队加入到了这个行业中,他们不断地开发新的应用程序和软件程序,用以满足客户的需求。

然而,软件开发过程中的测试是一个关键的环节,其质量直接关系到软件开发项目的成败。

因此,测试驱动开发(TDD)被广泛应用于软件开发过程中。

什么是测试驱动开发?测试驱动开发(TDD)是软件开发中的一种实践,其核心思想是在编写代码之前编写测试代码,然后根据测试代码的要求来编写代码。

这种方法可以让开发人员更好地掌握软件的代码逻辑,将软件的功能分解成更小更简单的单元,每个单元都有一个功能性测试。

通过这种方式,开发人员可以更快地发现和修复错误,提高代码质量和软件的可靠性。

测试驱动开发的优势测试驱动开发的优势主要体现在以下方面:1.能够快速发现错误由于测试代码在编写代码之前就存在了,因此可以有效减少代码错误的数量。

通过测试代码,开发人员可以确定其代码的正确性,并快速发现潜在的问题或错误。

2.提高代码质量测试驱动开发可以确保代码具有很高的质量。

编写测试代码可以帮助开发人员更好地理解代码的逻辑,从而更容易编写出高质量、易于维护的代码。

3.加速开发过程测试驱动开发可以让开发人员更快地进行开发。

由于开发人员能够在每个单元测试通过之后再进行下一步的开发,因此可以有效减少代码错误的数量,从而加快开发进程。

4.提高软件的可靠性通过测试驱动开发,软件的可靠性可以得到极大的提高。

由于经过测试的代码已经过其功能性和稳定性测试,因此在生产环境中运行时可以更加可靠和稳定。

测试驱动开发的步骤测试驱动开发可以分为以下几个步骤:1.编写测试代码开发人员首先需要编写测试代码。

测试代码应该覆盖程序的各个部分,用于检测程序中可能存在的任何错误或异常情况。

2. 运行测试代码在编写测试代码后,开发人员需要运行测试代码,以确保代码运行正确。

如果测试代码出现错误或异常情况,则需要重新修改测试代码,直到测试代码可以正确运行。

测试驱动开发

测试驱动开发

测试驱动开发测试驱动开发(TDD,Test Driven Development)是一种软件开发的方法论,它的核心理念是在编写功能代码之前,先编写测试代码。

通过编写测试代码来指导和驱动功能代码的开发,以确保软件具有良好的质量和高度的健壮性。

本文将介绍测试驱动开发的意义、原则以及步骤,并探讨其在软件开发中的应用。

一、测试驱动开发的意义测试驱动开发的出现是为了解决传统软件开发模式下的一些问题。

传统的开发模式中,往往是在编写完功能代码后再编写测试代码,这种做法存在一些不足之处。

首先,由于功能代码的编写已完成,开发者可能会受到其已有逻辑的限制,导致无法全面覆盖各种测试情况。

其次,一旦发现错误,需要进行大量的调试和修改,增加了代码的复杂性和开发时间。

最后,测试在发布之前通常是最后进行的,这可能会导致问题的暴露较晚,并且难以定位和解决。

测试驱动开发通过先编写测试代码,可以解决传统开发模式的问题。

首先,因为测试先行,可以更全面地覆盖各种测试情况,尽早发现潜在问题。

其次,测试代码可以帮助开发者更好地理解需求,明确功能的实现方式。

最后,测试代码的编写可以提前考虑边界条件和异常情况,增加软件的健壮性和稳定性。

二、测试驱动开发的原则在实施测试驱动开发时,需要遵循以下几个原则:1. 测试先行原则:先编写测试代码,再编写功能代码;2. 最小实现原则:在编写功能代码时,尽量实现最小的功能,通过测试后再逐步扩展;3. 频繁重构原则:调整和优化代码结构,保持良好的可读性和可维护性;4. 持续集成原则:将测试代码与功能代码集成到同一个代码库中,实现持续的自动化测试和集成。

这些原则帮助开发者在实践测试驱动开发时保持良好的开发习惯和思维方式,促进软件质量的提升。

三、测试驱动开发的步骤测试驱动开发的步骤通常包括以下几个阶段:1. 编写测试代码:根据需求编写针对功能代码的测试代码,包括输入、输出和预期结果。

2. 运行测试代码:运行测试代码进行测试,确保测试代码能够通过。

浅谈验收测试驱动开发

浅谈验收测试驱动开发

浅谈验收测试驱动开发【摘要】软件行业已经发展了很多年,尽管新技术不断涌现,但是软件质量问题依然存在,最突出的两点就是较高的缺陷率和较差的可维护性。

为了应对此类问题,驱动测试开发技术(ADD)应运而生,但是随着ADD技术的普及,它所隐藏的问题也浮出水面,最为人诟病的就是“不能满足客户需求”,因为测试人员只注重代码缺陷率而忽视了系统具体功能。

本文阐述如何在ADD开发模式的基础上,结合验收测试驱动开发(ATDD)探讨如何开发适应于用户的系统。

【关键词】敏捷开发;验收测试驱动开发;软件工程一、引言极限编程方法理论中“测试驱动开发”是其一个重要组成部分,最早是由Kent Beck提出,并积极推广的一种软件开发方法。

Kent Beck在他所著的《测试驱动开发》一书中指出“测试驱动开发”遵循“为明天编码,为今天设计”的观点。

相比传统遵循“需求-设计-开发-测试”的软件开发流程而言,更强调测试优先,再通过编码和重构反复迭代最终构筑一个完整的软件系统。

“测试驱动开发”在相当程度上了的确提高了开发人员的代码质量,而且在应对系统的可靠性也教之传统软件开发有着更大的优势,主要体现在客户需求变更时能灵活应对。

然而软件问题中另一项“是否满足客户需求”确没有很好地解决。

验收测试驱动开发(ATDD)针对这个问题,提出让客户参与到测试标准的制定,让软件满足客户需求。

用ATDD 方法开发软件,开发人员更注重的是系统行为测试,而不是软件中每个模块,甚至每行代码的测试。

构筑一个满足客户需求的软件系统,不仅仅是软件设计开发人员和测试人员靠个人能力能解决的,在此过程中需要客户参与进来,为打造可靠的软件提供有力的保障。

二、什么是ATDD测试驱动开发(ADD)能够帮助开发人员开发出高质量的代码,保证开发人员所开发出的代码执行正确,但是这些执行正确的代码在很大程度上是针对的具体模块而不是整体的系统功能。

在一定程度上不一定能够满足客户的需求。

验收测试驱动开发(ATDD)是建立在TDD的基础上,TDD和ATDD既可以分开使用也可以配合使用,在帮助开发人员在提高软件质量的同时,也帮助开发人员开发出用户真正需要的软件系统。

测试驱动开发测试先行质量始终如一

测试驱动开发测试先行质量始终如一

测试驱动开发测试先行质量始终如一测试驱动开发:测试先行,质量始终如一随着软件行业的迅速发展,软件测试的重要性也日益凸显。

而在软件开发过程中,采用测试驱动开发(TDD)方法可以有效提高软件质量。

本文将探讨测试驱动开发的概念、原则以及其在保证质量始终如一方面的作用。

一、测试驱动开发概述测试驱动开发是一种先写测试用例,再编写代码的开发方式。

它由三个环节组成:先编写测试代码,再编写足够的业务代码使测试通过,最后进行重构以提高代码质量。

TDD的过程可以帮助开发者更好地理解业务需求,同时规范开发流程,保证代码质量。

二、测试驱动开发的原则1. 快速反馈测试驱动开发要求开发者应尽量减少开发与调试的时间,通过频繁运行测试用例以快速获取错误信息。

这有助于开发者及时修正潜在问题,提高代码质量和开发效率。

2. 简单明确测试驱动开发要求测试用例的编写要简单明确。

每个测试用例应尽量只涉及一个功能点,以便更容易定位问题并进行修复。

3. 持续集成持续集成是测试驱动开发的核心概念之一。

开发者应该将代码频繁地集成到版本控制系统中,并确保每次集成完成后都通过了所有的测试用例。

这有助于提前发现和解决代码问题。

三、测试驱动开发的好处1. 提高代码质量测试驱动开发的核心理念是“测试先行”,通过编写测试用例可以帮助开发者更好地理解业务需求,并在编写业务代码时保证其正确性。

同时,持续运行测试用例有助于及时发现潜在问题,提高代码的可靠性和稳定性。

2. 提高开发效率测试驱动开发要求开发者在编写业务代码之前先编写测试用例,这有助于开发者更好地规划和组织代码逻辑。

测试用例的编写过程可以让开发者更清晰地了解业务需求,减少重复开发和不必要的代码实现,从而提高开发效率。

3. 降低维护成本测试驱动开发要求开发者持续保持代码的可测试性和可维护性,通过频繁运行测试用例可以及时发现和修复代码问题。

这有助于减少后期维护成本,提高代码的可读性和可维护性。

四、测试驱动开发的适用场景测试驱动开发适用于需求变化频繁、项目周期短、开发人员经验相对较强的项目。

软件开发实习报告:测试驱动开发的实践与反思经验分享

软件开发实习报告:测试驱动开发的实践与反思经验分享

软件开发实习报告:测试驱动开发的实践与反思经验分享引言:测试驱动开发(TDD)是一种敏捷软件开发的方法论,它强调在编写代码之前编写测试,并通过测试来推动代码的开发。

作为一名软件开发实习生,在过去的几个月里,我积极参与了一项采用TDD方法的项目,深入体验了TDD的实践和反思。

本文将分享我在实习期间对测试驱动开发的了解、实践和经验总结。

一、测试驱动开发的基本概念测试驱动开发,简称TDD,是一种敏捷开发方法,其核心思想是在编写代码之前先编写测试用例。

它通过持续的测试和迭代,来推动软件代码的开发和改进。

TDD的关键循环包括:写测试(编写测试用例)-运行测试(确保测试失败)-写代码(编写足够简单的代码使测试通过)-运行测试(确保所有测试通过)-重构代码(重构以提高代码质量)。

通过这种循环的方式,开发者可以保证代码质量,提高开发效率。

二、实践过程与心得1. 完备的测试用例是基础在TDD的实践中,编写完备的测试用例是非常关键的。

只有当测试用例覆盖到代码的各个细节和边界情况,才能确保在后续开发和修改中,不会引入新的错误。

对于实习期间的项目而言,我深刻体会到了测试用例设计的重要性。

通过思考各种场景和边界情况,并编写相应的测试用例,一方面可以提前预防潜在的问题,另一方面也可以节省调试和修复bug的时间。

2. 代码迭代推动不断优化TDD的循环要求在写代码之前先写测试用例,这使得在实践过程中很容易分解复杂的问题,并逐步构建解决方案。

每个迭代周期中,我们都会根据当前测试用例编写对应代码,再次运行测试用例,确保通过后进行重构。

这种迭代的过程使我们可以在不断优化代码的同时保证其正确性。

通过不断地重构代码,我们可以消除冗余、提高可读性和可维护性,更好地符合软件工程的相关标准和原则。

3. 效率与代码质量的平衡在实践TDD的过程中,我们也要权衡效率和代码质量之间的关系。

写测试、写代码、运行测试的循环会增加编写代码的时间,但是它能够有效地提高代码的质量,并且可以在代码发生变更时快速检测到潜在的问题。

软件开发中的测试驱动开发与实践

软件开发中的测试驱动开发与实践

软件开发中的测试驱动开发与实践在当今的软件开发领域,测试驱动开发(TestDriven Development,简称 TDD)已经成为一种备受推崇的开发方法。

它不仅仅是一种技术实践,更是一种思维方式的转变,对提高软件质量、增强开发效率以及促进团队协作都有着显著的影响。

测试驱动开发的核心思想是在编写实际的功能代码之前,先编写测试用例。

这些测试用例用于描述软件应该具有的功能和行为。

然后,开发者编写足够的代码来使这些测试通过。

一旦测试通过,再对代码进行重构和优化,以提高代码的质量和可维护性。

为什么要采用测试驱动开发呢?首先,它能够帮助我们更早地发现代码中的缺陷。

在编写功能代码之前就编写测试用例,可以从用户的角度出发,清晰地定义软件应该具备的功能和行为。

这样,在开发过程中,如果代码不能满足测试用例的要求,就能够及时发现问题并进行修复,而不是等到软件集成或者交付时才发现严重的缺陷。

其次,测试驱动开发有助于提高代码的质量。

因为开发者需要不断地使测试通过,所以他们会更加注重代码的可读性、可维护性和可扩展性。

为了使代码能够通过不断变化的测试用例,开发者往往会采用更合理的设计模式和架构,从而提高整个软件系统的质量。

此外,测试驱动开发能够增强开发者的信心。

当看到自己编写的测试用例一个个通过时,开发者会对自己的代码更有信心,减少对代码正确性的疑虑。

这种信心的建立有助于开发者更加专注于解决复杂的业务问题,而不是担心代码的稳定性和可靠性。

在实践测试驱动开发时,有一些关键的步骤和原则需要遵循。

第一步是明确需求。

在开始编写测试用例之前,开发者需要与项目的利益相关者(如产品经理、客户等)进行充分的沟通,了解软件的功能需求和业务逻辑。

只有明确了需求,才能编写准确和有效的测试用例。

接下来是编写失败的测试用例。

这一步看似有些奇怪,但却是测试驱动开发的关键。

开发者要先假设功能代码还不存在,编写一个预期会失败的测试用例。

这个测试用例描述了软件应该实现的功能,但由于目前没有相应的代码实现,所以测试会失败。

软件开发实习报告:测试驱动开发的实践与反思

软件开发实习报告:测试驱动开发的实践与反思

软件开发实习报告:测试驱动开发的实践与反思1. 引言软件开发是一个复杂而且漫长的过程,其中的测试环节对于保证软件质量至关重要。

为了提高软件开发的效率和质量,我在软件开发实习期间选择了采用测试驱动开发(Test-Driven Development,TDD)的方法进行开发。

本报告旨在总结我的实践经验,并对测试驱动开发进行反思。

2. 测试驱动开发的概念与原则测试驱动开发是一种敏捷软件开发方法,其核心思想是在编写实际的代码之前,先编写测试代码。

TDD的三个基本步骤为:编写失败的测试用例、编写足够简单的代码通过测试、重构优化代码。

TDD的原则包括:- 只编写能够通过当前测试的代码;- 不编写多余的代码;- 面向接口编程,以便进行单元测试;- 每次只测试一个功能点。

3. 实践过程与结果在我的软件开发实习中,我选择了一款商业软件的模块进行开发。

以下是我在使用测试驱动开发方法开发该软件模块时的实践过程和结果。

3.1. 编写失败的测试用例首先,我根据需求文档和用户需求,编写了一系列的测试用例。

这些测试用例涵盖了各种情况和边界条件,以确保代码的正确性和鲁棒性。

我将测试用例分为多个不同的测试集合,每个集合测试一组相关的功能。

3.2. 编写足够简单的代码通过测试根据测试用例,我编写了相应的代码,并进行了单元测试。

在编写代码之前,我会先思考和规划代码结构,确保代码具备可测试性和可扩展性。

在完成每个功能点的代码编写后,我会运行相应的测试用例,以确保代码通过测试。

3.3. 重构优化代码在代码通过测试后,我进行了代码重构,以提高代码的可读性、可维护性和性能。

根据TDD的原则,我修改了一些冗余的代码,优化了部分算法和数据结构,并确保代码符合编码规范。

通过持续地重构代码,我不断提升了代码质量和可维护性。

3.4. 测试覆盖率与Bug修复在开发过程中,我注意跟踪和记录测试覆盖率,以确保代码被充分测试。

通过测试覆盖率报告,我能够及时发现代码中的漏洞和潜在问题,并进行修复。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈验收测试驱动开发
【摘要】软件行业已经发展了很多年,尽管新技术不断涌现,但是软件质量问题依然存在,最突出的两点就是较高的缺陷率和较差的可维护性。

为了应对此类问题,驱动测试开发技术(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.着重描述“什么”而非“如何”
需求描述的是软件系统所要体现的工作的本身,并不包括如何实现系统。

测试关注的是系统功能以及产生问题的本身,至于如何实现则是开发和设计人员关注的,在需求指定过冲中可忽略不计。

4.需求定义简洁、无歧义
编写验收测试当然需要客户和技术人员共同制定,但客户很可能对将要实现的软件要采用的技术并不了解。

那么在技术人员与客户交流时要采用大家都容易理解的、不容易产生歧义的方式来书写需求。

可以使用表格或者备忘录的形式用简单的句子描述需求。

5.测试自动化
自动化测试可以提高系统的测试速度和精度,并且降低软件系统在使用等方面的风险。

五、基于Fitnesse的验收测试的解决方案
与传统软件开发一样,ATDD开发模式也可以借助多种工具开发高质量的软件系统。

这类工具包括基于表格的测试框架、基于文本的测试框架、基于脚本语言的测试框架和自制工具。

目前,验收测试工具使用最广泛的是用表格形式来描述测试,这类工具包括Fit、Fitnesse等。

Fitnesse是一款开源的测试框架,共包含Wiki、Test System和Fixture三个部分。

它能够结合TDD单元测试等附加功能,将客户需求结合起来保证软件系统在业务测试中遵循客户所制定的测试内容,从而达到了为所开发的软件符合满足客户所要求提供了保障。

Fitnesse要求客户和技术人员可以利用HTML来编写测试用例,测试框架根据表格中描述的语义和数据进行测试。

Fitnesse体系结构如图2所示。

1.编写Fitnesse的验收测试用例
业务场景:设定验证某设别是否注册成功。

2.用户以及开发人员根据用户故事编写Fit-nesse表(如表1所示)
表中第一行的内容为测试类,第二行列出了设备属性(mac)和待验证的方法。

3.java源代码片段
当测试人员点击“Test”按钮时,FitNesse的slim模块会据网页中的classpath 查找测试类,将测试用例的参数传递至表格中第二行指定的方法后slim将根据程测试用例的实际返回值与期望内容相比较,如果相同,则测试用例通过。

六、小结
可以看出验收测试驱动开发使得我们要完成的工作有了明确的目标和标准,
尤其在使用了自动化测试工具后,令我们的测试有了多种手段。

这不仅提高了测试效率,而且使我们开发的软件系统有了可靠的保证。

当然验收测试驱动开发不能适用于所有的软件开发,诸如用户界面等还需要开发和用户共同确认。

ATDD 最大特点是让客户和开发人员共同参与到测试用例的编写,将客户对软件验收标准明确的写成测试项,确保系统的功能符合客户的要求。

参考文献
[1]Steve Freeman.Nat Pryce测试驱动的面向对象软件开发[J].
[2]Beck.k.Test-Drive Development by Example[M].2003.
[3]董宁.软件项目验收测试研究[J].软件导刊,2013,10.
[4]陈希,徐明昆.测试驱动开发在软件开发中的研究与实践[J].软件,2012.。

相关文档
最新文档