软件验证与测试课程ppt课件

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

6.非正式验收测试

进行验收测试的常用策略有三种:


正式验收测试 Alpha 测试 Beta 测试
SOA --面向服务的体系结构
资料来自:中国科学院软件研究所 仲萃豪 研究员
主要内容
1、 从EAI到SOA到底解决了什么问题? 2、 SOA到底是业务问题还是技术问题 3、 SOA的合理架构实现是什么? 4、 如何构建可重用的SOA业务组件? 5、 SOA成功实施案例介绍 6、 ESB产品介绍
软件验证与测试课程
软件验收测试
1
软件验收测试


验收测试是是以需方为主的测试,是软件 交付或部署之前的最后一个测试活动。 验收测试的目的是确保软件是完整的、集 成的计算机应用系统,并且可以让最终用 户将其用于软件的既定功能和目标任务。
内容
1.验收测试的组织和管理 2.验收测试的技术要求 3.验收测试的方法与内容 4.验收测试环境 5.验收测试过程 6.非正式验收测试
用户场景测试要求


针对用户不同使用人员和不同业务处理 过程的应用实际,设计专门的应用场景 测试用例,进行专门的测试。 应用场景测试用例的设计,是以用户角 色权限和完成一项特定的业务处理流程 为基础设计的。
3.验收测试的方法与内容



功能性测试内容要求 可靠性测试内容要求 易用性测试内容要求 效率测试内容要求 维护性测试内容要求 可移植性测试内容要求 软件配置审核
2.验收测试的技术要求

功能性测试 性能测试 可靠性和安全性测试 用户场景测试
功能性测试要求

根据开发方提供的设计文档和用户操作手册,应逐 项测试:



系统设计说明规定的系统的功能; 系统的每个特性应至少被一个正常测试用例和一个被认 可的异常测试用例所覆盖; 测试用例的输入应至少包括有效等价类值、无效等价类 值和边界数据值; 测试系统的所有输出及其格式; 测试软件配置项之间及软件配置项与硬件之间的接口;



测试系统访问和数据安全性; 测试设计中用于提高系统安全性、可靠性的结构、算 法、容错、冗余、中断处理等方案; 对完整性级别高的系统,应对其进行安全性分析,明 确每一个危险状态和导致危险的可能原因,并对此进 行针对性的测试; 对有恢复或重置功能需求的系统,应测试其恢复或重 置功能和平均恢复时间,并且对每一类导致恢复或重 置的情况进行测试;

如何做到松耦合
除使用方和服务方外,另有中介 方,提供注册登记和查询。 类似现在社会中的劳务市场和职 业介绍所等所起这样作用。即先 查询、绑定、然后调用。

什么叫服务


服务是构件提供使用者调用的相关的物理黑盒 封装的可执行代码单元。它的服务只能通过已 发布接口(它包括交互标准)进行访问,而不 是通过过程调用方式。也可以连接到其他构件 以构成一个更大的服务” 。 服务通常实现为粗粒度的软件实体,并且通过 松散耦合的基于消息通信模型来与应用程序和 其他服务交互。
性能测试要求

按照合同要求和系统设计目标,对系统 的性能进行强度测试:



测试系统的响应时间,包括单个用户、多用 户并发的情况; 测试系统的全部存储量、输入/输出通道和 处理时间的余量; 测试运行条件在边界状态和异常状态下,或 在人为设定的状态下,系统的性能;
可靠性和安全性测试要求

根据最终用户对系统的可靠性和安全性的要求, 进行测试:

真实环境和模拟环境


4.验收测试环境

关注测试数据的质和量

验收测试用的测试数据,一般应采用真实的 业务运行数据,或者是一个典型的子集。否 则,很难显现用户的使用场景。另外一个重 要的问题是测试数据的量,如果一个系统要 求每秒处理20000个交易,测试时仅用了 2000个交易数据,就不容易判断软件运行的 效用。
面向服务的体系结构中的操作



发布:为了使服务可访问,需要发布服务描述 以使服务使用者可以发现和调用它。 发现:服务请求者定位服务,方法是查询服务 注册中心来找到满足其标准的服务。 绑定和调用:在检索完服务描述之后,服务使 用者继续根据服务描述中的信息来调用服务。
功能性测试内容要求
可靠性测试内容要求
易用性测试内容要求
效率测试内容要求
效率测试内容要求
维护性测试内容要求
可移植性测试内容要求
软件配置审核

软件开发团队通常应提供如下五类软件配置,并已 在配置库中处与受控状态:




代码文档类:如,可执行程序、库文件、源程序、软件配置文件等。 项目开发类文档:如,《需求规约书》、《系统设计说明书》、《详 细设计说明书》、《数据库设计说明书》、《软件产品版本描述与维 护手册》、《用户操作手册》、《项目总结报告》等。 系统部署类文档:如,《系统架构设计》、《网络拓扑图》等文档及 系统部署的配置信息文件。 测试类文档:如,《测试计划》、《测试用例和脚本》、《测试数据 集》、《测试记录》、《测试报告》等。 项目管理类文档:如,《项目计划》、《质量保证计划》、《配置管 理计划》、《质量总结报告》、《评审报告》等。

目前国内的研究和应用水平已经落后于 国外,但差距并不大 必须加大投入,提升国内软件技术水平

什么是SOA?


SOA(service-oriented architecture)是面向服务 的体系结构,是一类分布式系统的体系结构,是构建如 何组成一个系统的模型,它将应用程序的不同功能单 元(称为服务)通过这些服务之间定义良好的接口和 规范按松耦合方式整合在一起,即将多个现有的应用 软件通过网络将其整合成一个新系统。 接口应该是独立于实现服务的硬件平台、操作系统和 编程语言。这使得构件在各种这样的系统中的服务可 以以一种统一和通用的方式进行交互。这使得构件在 各种这样的系统中的服务可以以一种统一和通用的方 式进行交互。



确定测试充分性要求 确定测试终止的准则 确定进行验收测试的资源要求 确定测试需要的技术和方法 确定验收测试活动的进度安排 风险分析与评估,并制订应对措施
验收测试设计和实现



设计测试用例 获取测试数据 确定测试顺序 获取测试资源 编写测试程序 搭建和确认测试环境 编写验收测试脚本
如何做到跨平台

其关键是如何连接各应用系统,人们发现异种 平台之间邮件格式和浏览器的格式都是互通的 ,不再使用CORBA方式来实现SOA。 而是通过发送消息的方式,每个应用提供多个 服务接口,规定了接口的参数格式,一种方式 是按XML标准来描述,称WSDL( Web Service描述语言),并遵循SOAP简单存取协议 。
4.验收测试环境

关注环境的差异性

最好是采用相当的环境,或略低一些的环境。如果 明显高于规定的环境要求,那么测试结果的真实性 需要确认。 搭建一个真实环境的复杂性和代价比较高,甚至不 可能搭建。 仿真测试环境能够保证测试的可重复性、完整性和 可扩展性。采用仿真测试环境时,也必须说明与真 实环境的差异性。
多应用集成是当前迫切要解决的技术

随着网络普及化,越来越迫切需要将现 有多个应用系统集成,以能实现更强的 信息处理功能。如电子商务的供应链、 智能交通、电子政务、数字地球等。 SOA是当前最理想的解决方案。

SOA是软件技术的重大发展方向之一

国外从2001年就开始研究SOA,并已 取得了实际应用
验收测试的准出条件


已按要求完成了合同(或项目计划)所规定的软件测试任 务,如:功能性测试、非功能性测试、用户场景测试; 客观、详细地记录了软件测试过程和软件测试中发现的所 有问题 ; 软件测试文档齐全、符合规范; 软件测试的全过程自始至终在控制下进行; 软件测试中的问题或异常有合理解释或正确有效的处理; 软件测试报告通过了评审; 全部测试数据、被测软件、测试支持软件和评审结果已纳 入配置管理 。
SOA的二大目标


多应用跨平台的的整合,实现了“整合创新”。 而且被整合的应用自身仍保持其自主。如香港政 府已回归中国,但保持一国二制。 新增设的业务功能,应允许适应变化,即“随需 应变”,接口定义没有强制绑定到特定的实现上 的特征称为服务之间的松耦合。松耦合系统的好 处有两点,一点是它的灵活性,另一点是,当组 成整个应用程序的每个服务的内部结构和实现逐 渐地发生改变时,它能够继续存在。采用BPEL语 言定义并直接解释用户需求定义,也是一种随需 应变的好办法 。

网络时代分布式系统的发展

在网络时代出现了以网上传输为基础的大型分布 系统,如税务的数据大集中,银行的通存通取、 机票订票、电子商场等。如下图所示:
用 户 层
应 用 层
数 据 层
三层体系结构的缺陷


三层体系结构有力地提供了一种分布式 系统的解决方案,实现了一种紧耦合的 分布式系统,组成一个自成体系的单个 应用软件。 而如何将现有的多个应用软件,通过网 络将其整合成一个集成系统,以能做更 多更好的事。而早期的技术都无法解决 。
验收测试执行

测试差错情况及应对措施
测试总结





总结验收测试计划和验收测试说明的变化情况及其原因; 说明测试异常终止情况,确认未能被测试活动充分覆盖的范 围; 确定未能解决的软件测试事件以及不能解决的理由; 总结测试所反映的软件系统与需方的软件要求之间的差异; 将测试结果连同所发现的差错情况同需方的软件要求对照, 评价软件系统的设计与实现,提出软件改进建议; 根据测试记录和软件问题报告单编写测试问题报告。 按照《验收测试报告模板》的要求编写验收测试报告,该报 告应包括:测试结果分析、对软件系统的评价和建议;
面向服务的体系结构中的角色



服务使用者:服务使用者是一个应用程序、一个软件 模块或需要一个服务的另一个服务。它发起对注册中 心中的服务的查询,通过传输绑定服务,并且执行服 务功能。服务使用者根据接口契约来执行服务。 服务提供者:服务提供者是一个可通过网络寻址的实 体,它接受和执行来自使用者的请求。它将自己的服 务和接口契约发布到服务注册中心,以便服务使用者 可以发现和访问该服务。 服务注册中心:服务注册中心是服务发现的支持者。 它包含一个可用服务的存储库,并允许感兴趣的服务 使用者查找服务提供者接口。
4.验收测试环境

验收测试工具的选择


按照目的和用途选择匹配的工具; 选择一个可提供的工具(从成本和获取的时 间要求); 按照测试人员的实际技能选择匹配的工具。
5.验收测试过程

验收测试过程包括:



测试策划 测试设计和实现 测试执行 测试总结
测试策划

根据上述策划结果,按照《验收测试计 划模板》要求编写验收测试计划:
验收测试的配置管理

按照软件配置管理的要求,将测试过程中产生 的各种软件工作产品纳入配置管理。


由开发组织实施的软件测试,应将测试工作产品纳 入软件项目的配置管理; 由独立测试组织实施的软件测试,应建立配置管理 库,将被测试对象和测试工作产品纳入配置管理。

已通过测试的验收状态和各项参数应详细记录 ,归档保存,未经测试负责人允许,任何人无 权改变。
4.验收测试环境

搭建验收测试环境时的主要依据是:



软件项目开发合同中对软件运行环境的原则 约定; 软件安装维护指南中对软件安装运行环境的 具体描述; 软件测试合同的规定。
4.验收测试环境一般应与“ 软件项目开发合同”中约定的一致,但也可能是 一种典型的环境,而不是最后的用户环境,在这 种情况下也要给出环境差异的报告,因为验收测 试的结果仅对特定的测试环境有效。 测试环境涉及测试的硬件配置、软件配置、网络 配置、系统相关的接口、相关外部设备、产品文 档、测试用的相关标准、测试用的数据、测试工 具等方面的环境因素。搭建一个特定需求的测试 环境,是上述诸因素有机组成的集合。
1.验收测试的组织和管理

验收测试的团队 验收测试的准入条件 验收测试的准出条件 验收测试的配置管理
验收测试的团队
验收测试的准入条件




被验收测试的软件已通过了软件系统测试,关 闭了所有的缺陷,除非另有约定(如,在用户 急需上线的情况下,可能要求关闭了所有的A 、B类缺陷以后,也可以开始验收)。 具有测试合同(或测试项目计划); 具有软件测试所需的各种文档,应包括用户操 作手册和软件维护安装手册在内的所有文档; 所提交的被测软件受控; 软件源代码正确通过编译和构建。
相关文档
最新文档