第10章 验收测试(Acceptance Test)
我们是不是正确的实现了一个用户例事<o:p></o:p>
(用户例事:user story,在第8章有讲)<o:p></o:p>
<o:p> </o:p>
假设这个项目的客户是一个会议展览的组织者。他们希望我们开发一款软件,可以帮助他们管理会议的所有参会者信息。我们编制好发布计划,在目前的迭代周期中,我们要实现4个用户例事。下面是其中的一个用户例事:<o:p></o:p>
<o:p></o:p>
名称:导入参会者信息<o:p></o:p>
事件:<o:p></o:p>
1.一个用户让系统读取一个记录了一批参会者信息的文本文件。里面的信息有ID,密码,名称,地址跟邮箱。<o:p></o:p>
2.系统将这些参会者的信息保存下来。之后,只要用户输入一个参会者的ID,系统就可以取出对应的参会者信息。<o:p></o:p>
3.系统导入完成后,各给每个参会者发送一封邮件,里面包含该参会者的ID和密码。<o:p></o:p>
<o:p> </o:p>
我们开始询问客户这个用户例事的细节。比如:<o:p></o:p>
这个文本文件的格式是什么样的?假定客户说,文本文件里面的每行字符串包含一个参会者。这个参会者每项数据会用制表符隔开。<o:p></o:p>
ID,密码,姓名,地址还有邮箱都是一定会出现在文本文件里面的吗?假定客户说有些参会者的地址会留空,其他数据都要出现。否则,系统将跳过这行。<o:p></o:p>
如果参会者的ID已经存在的话怎么办?假定客户说,那这行会被跳过。 <o:p></o:p>
等等。<o:p></o:p>
<o:p> </o:p>
我们问完客户,用CRC卡或者其他的方法来快速组织跟讨论设计,写代码,同时改进设计。假定两天以后,我们完成了所有的代码,代码结构的设计也很合理了。好,现在我们还要做一件重要的事件:测试我们的代码是不是正确的实现了用户例事。<o:p></o:p>
<o:p> </o:p>
怎么测试<o:p></o:p>
<o:p> </o:p>
怎么测试?比如,我们运行下面的“测试用例”:<o:p></o:p>
<o:p> </o:p>
测试用例1:导入参会者<o:p></o:p>
<o:p> </o:p>
1.创建下面这样的文件:<o:p></o:p>
p001 123456 Mary Lam abc mary@hotmail.com<o:p></o:p>
p004 888999 John Chan def john@yahoo.com<o:p></o:p>
p002 mypasswd Paul Lei ghi paul@excite.com<o:p></o:p>
<o:p> </o:p>
2.删除系统里面已有的参会者信息,防止p001,p002,p004已经存在。<o:p></o:p>
3.运行系统,将上面的文件导入到数据库里面。<o:p></o:p>
4.检查系统是不是正确的导入了文件。这里面,我们肯定有一个用户例事是让用户输入一个参会者的ID,然后系统显出这个参会者的所有信息。我们可以先实现这个用户例事,然后输入p001,看看系统会不会显示p001的正确信息(123456,Mary Lam等等),然后再输入p002和p004。<o:p></o:p>
5.检查系统有没有发邮件。我们可以联系Mary,John和Paul,确认一下他们有没有收到邮件,邮件里面的内容是不是正确的。<o:p></o:p>
<o:p> </o:p>
这样的测试就叫“验收测试”或者“功能测试”。这样的测试只是测试系统的外部行为,忽略系统里面有哪此类,哪些模块。
具体的内容在附件里面的pdf,请下载观看详细内容。
分享到:
相关推荐
敏捷开发的必要技巧 目录 第 1 章 移除重复代码 第 2 章 将注释转换为代码 第 3 章 除去代码异味 第 4 章 保持代码简洁 第 5 章 慎用继承 第 6 章 处理不合适的依赖 第 7 章 将数据库访问,UI和域逻辑分离 第 8 章...
《Test Driven: Practical TDD and Acceptance TDD for Java Developers》是一本专注于Java开发者进行测试驱动开发(TDD)和验收测试驱动开发(Acceptance TDD)的专业书籍。这本书以PDF英文版的形式提供,旨在帮助...
验收测试驱动开发(Acceptance Test-Driven Development, ATDD)和行为驱动开发(Behavior-Driven Development, BDD)则强调从用户需求出发,编写可执行的测试用例,以确保软件功能符合预期。 自动化测试在敏捷环境...
《敏捷软件开发的必要技巧》一书由王伟杰(Wingel)翻译自Essential Skills for Agile Development,深入探讨了敏捷开发的核心技能与实践,旨在帮助开发者掌握敏捷开发的关键要素,提升软件项目的成功率和团队协作...
- **术语定义**:文档中可能会包含特定的敏捷和测试术语,如冲刺(Sprint)、用户故事(User Story)、验收测试(Acceptance Test)等,理解这些术语有助于正确理解和执行规范。 2. **敏捷测试流程** - **验证...
ATDD(Acceptance Test-Driven Development),即验收测试驱动开发,是一种软件开发方法论,强调在软件开发初期阶段就明确用户需求,并通过编写验收测试来确保软件功能的正确实现。这种方法的核心在于促进开发团队、...
5. **验收测试驱动开发(Acceptance Test-Driven Development, ATDD)**:在编写代码之前,先创建验收测试,确保软件符合用户需求。这有助于确保开发出的功能满足预期。 6. **重构(Refactoring)**:随着项目的...
然而,随着敏捷开发方法论的兴起,特别是验收测试驱动开发(Acceptance Test-Driven Development, ATDD)的普及,QA团队开始发挥更加积极的作用。本文将详细介绍如何利用FitNesse这一开源工具,在ATDD框架下增强QA...
- 测试类型:包括单元测试、集成测试、系统测试、验收测试等。 2. **测试生命周期**(STLC): - 需求分析:理解需求规格书,确定测试范围和策略。 - 测试计划:定义测试目标、资源、时间表和风险。 - 测试设计...
#### 验收测试(Acceptance Test) 验收测试,也称为功能测试或用户验收测试,用于验证整个系统或子系统的功能是否满足用户的需求规格说明书中的规定。这种测试主要关注于从用户的视角出发,确保系统能够在实际环境...
4. ATDD(Acceptance Test-Driven Development,验收测试驱动开发) ATDD是一种软件开发方法,它要求先定义验收标准再编写代码。它涉及到团队成员(包括客户代表)合作,以确保软件产品能够满足用户需求。 5. 结对...
敏捷测试策略包括编写可执行的验收测试(例如,使用行为驱动开发BDD或Acceptance Test-Driven Development ATDD),以及创建自动化测试套件来支持持续集成和持续交付。 6. **持续集成与自动化** 持续集成是敏捷...
- 验收测试(Acceptance Testing)/用户验收测试(UAT):最终用户对软件的确认,确保符合业务需求。 2. **测试策略** - 黑盒测试(Black Box Testing):不考虑内部结构,只关注输入、输出和系统行为。 - 白盒...
* 验收测试:测试软件的用户界面和用户体验,以确保其满足用户的需求和期望。 三、软件测试的方法 软件测试的方法包括: * 黑盒测试:测试软件的外部接口和行为,而不关心其内部实现细节。 * 白盒测试:测试软件...