敏捷开发的必要技巧10:验收测试(Acceptance Test)

2024-01-08 14:32

本文主要是介绍敏捷开发的必要技巧10:验收测试(Acceptance Test),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



第10章验收测试.rar

第10章验收测试.rar

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.删除系统里面已有的参会者信息,防止p001p002p004已经存在。<o:p></o:p>

  3.运行系统,将上面的文件导入到数据库里面。<o:p></o:p>

  4.检查系统是不是正确的导入了文件。这里面,我们肯定有一个用户例事是让用户输入一个参会者的ID,然后系统显出这个参会者的所有信息。我们可以先实现这个用户例事,然后输入p001,看看系统会不会显示p001的正确信息(123456Mary Lam等等),然后再输入p002p004<o:p></o:p>

  5.检查系统有没有发邮件。我们可以联系MaryJohnPaul,确认一下他们有没有收到邮件,邮件里面的内容是不是正确的。<o:p></o:p>

<o:p> </o:p>

  这样的测试就叫“验收测试”或者“功能测试”。这样的测试只是测试系统的外部行为,忽略系统里面有哪此类,哪些模块。


        具体的内容在附件里面的pdf,请下载观看详细内容。

这篇关于敏捷开发的必要技巧10:验收测试(Acceptance Test)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583777

相关文章

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb