2010软件测试技术-chap2-集成测试与系统测试(精)

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

系统瓶颈分析举例-4
UNIX资源监控(NT操作系统同理)中指标 CPU占用率(CPU utilization),如果该值 持续超过95%,表明瓶颈是CPU。可以考虑增 加一个处理器或换一个更快的处理器 。合 理使用的范围在60%至70%。
集成测试和系统测试
系统集成的模式与方法
功能测试
系统测试 压力测试、容量测试和性能测试 安全性、可靠性和容错性测试
性能测试
30 25 20 15 10 5 0
1X 5 1X 10 0 1X 50 0 1X 70 0 1X 90 0 10 X5
HTTP TCP HTTP&TCP
看看在各种情况下CPU使用的效率
性能测试概念和目的
性能测试的目的: 为了验证系统是否达到用户提出的性能指标, 同时发现系统中存在的性能瓶颈,起到优化系 统的目的。
自顶向下法(Top-down Integration)
自顶向下法的主要优缺点
自顶向下法(Top-down Integration)
自底向上法(Bottom-up Integration)
自底向上法的主要优缺点
自底向上法(Bottom-up
Integration)
混合策略
(Modified Top-down Integration)
我要测试所 有的功能
等价类划分法
划分好等价类测试:防止遗漏测试案例。
边界值分析法
例子:排序程序,边界条件有: 序列为空; 序列仅有一个数据; 序列为满,用猜错法补充一下测试用例; 序列已经按要求排好序; 序列的顺序与要求的顺序恰好相反; 序列中的所有数据全部相等。
因为错误最容易发生在边界值附近,所以边界值分析法对于多变量函 数的测试很有效,尤其是对于像C/C++数据类型要求不是很严格的语言 有利 。
可靠性测试
可靠性(Reliability)是产品在规定的条件下 和规定的时间内完成规定功能的能力,它的概 率度量称为可靠度。理论上说,可靠的软件系 统应该是正确、完整、一致和健壮的。 规定的时间 规定的环境条件 规定的功能
容错性测试
容错性测试是检查软件在异常条件下自身是否具有防 护性的措施或者某种灾难性恢复的手段。如当系统出错时, 能否在指定时间间隔内修正错误并重新启动系统。容错性 测试包括两个方面:
ramp-up测试
疲劳强度测试
通常是采用系统稳定运行情况下能够支 持的最大并发用户数或者日常运行用户数, 持续执行一段时间业务,通过综合分析交易 执行指标和资源监控指标来确定系统处理最 大工作量强度性能的过程。 疲劳强度测试案例制定的原则是保证系统 长期不间断运行的业务量,并且应该尽量去满 足该条件。 Flat测试
3 系统测试

压力测试 (Stress test) 容量测试 (Capacity test) 性能测试 (Performance test) 安全测试 (Security test) 容错测试 (Recovery test)
回归测试
回归测试的目的 所做的修改达到了预定的目的,如错误得到了改正, 新功能得到了实现,能够适应新的运行环境等; 不影响软件原有功能的正确性。 回归测试的方法 再测试全部用例 基于风险选择测试 基于操作剖面选择测试 再测试修改的部分

2功能测试目的和内容



数据的输出结果准确,格式清晰,可以保存和读取 功能逻辑清楚,符合使用者习惯 系统的各种状态按照业务流程而变化,并保持稳定 支持各种应用的环境 能配合多种硬件周边设备 软件升级后,能继续支持旧版本的数据 与外部应用系统的接口有效
功能测试的方法
等价类划分法 边界值分析法 错误推测法 因果图法 组合分析法
混合法:对软件结构中较上层,使用的是“自顶向下”法;对软件结构中 较下层,使用的是“自底向上”法,两者相结合
大棒集成方法(Big-bang Integration)
采用大棒集成方法,先是对每一个子模块进行测试(单元测试阶段), 然后将所有模块一次性的全部集成起来进行集成测试 。 因为所有的模块一次集成的,所以很难确定出错的真正位置、所在 的模块、错误的原因。这种方法并不推荐在任何系统中使用,适合在规 模较小的应用系统中使用。
回归测试的组织和实施
2000
4 压力测试、容量测试和性能测试
压力测试、容量测试和性能测试的测试目的虽然有所不同,但其 手段和方法在一定程度上比较相似,通常会使用特定的测试工具,来 模拟超常的数据量、负载等,监测系统的各项性能指标,如CPU和内 存的使用情况、响应时间、数据传输量等。
一定要设法破坏 它!
错误推测法
这个错误到底在哪?
因果图法
组合分析法
组合分析是一种基于每对参数组合的测试技术,主要考 虑参数之间的影响是主要的错误来源和大多数的错误起 源于简单的参数组合。
在产品汉化过 程中哪个组合 出错了?
集成测试和系统测试
系统集成的模式与方法
功能测试
系统测试 压力测试、容量测试和性能测试 安全性、可靠性和容错性测试
• 测试压力估算
• 测试环境准备 • 问题的分析
• 累积效应
压力测试
试试这个游戏站点的承受力
压力测试类型
并发性能测试(重点)
疲劳强度测试
大数据量测试
并发性能测试
考察客户端应用的性能,测试的入口是客 户端并发性能测试的过程,是一个负载测试和 压力测试的过程。 即逐渐增加并发虚拟用户数负载,直到系 统的瓶颈或者不能接收的性能点,通过综合分 析交易执行指标、资源监控指标等来确定系统 并发性能的过程。并发性能测试是负载压力测 试中的重要内容。
5 安全性测试,可靠性和容错性测试
安全性测试、可靠性测试和容错性测试 的测试目的不同,其手段和方法也不同,但 都属于系统测试的范畴,有一定的联系,如 软件可靠性要求通常包括了安全性的要求。
安全性测试、可靠性测试和容错性测试的 技术比较深、实施比较难,但在应用系统中 越来越重要。
安全性测试
根据ISO 8402的定义,安全性是“使伤害或损害的风 险限制在可接受的水平内”。
大棒集成方法(Big-bang Integration) -优点
(1)可以并行测试所有模块。 (2)需要的测试用例数目少。 (3)测试方法简单、易行。
大棒集成方法(Big-bang Integration) -缺点
(1)由于不可避免存在模块间接口、全局数据 结构等方面的问题,所以一次运行成功的可能 性不大 (2)如果一次集成的模块数量多,集成测试后 可能会出现大量的错误。另外,修改了一处错 误之后,很可能新增更多的新错误,新旧错误 混杂,给程序的错误定位与修改带来很大的麻 烦 (3)即使集成测试通过,也会遗漏很多错误
输入异常数据或进行异常操作,以检验系统的保护性。 如果系统的容错性好的话,系统只给出提示或内部消 化掉,而不会导致系统出错甚至崩溃。 灾难恢复性测试。通过各种手段,让软件强制性地发 生故障,然后验证系统已保存的用户数据是否丢失、 系统和数据是否能尽快恢复。
改善的三明治集成方法
改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模 块得到单独的测试,使测试进行得比较彻底 。
集成测试和系统测试
系统集成的模式与方法
功能测试
系统测试 压力测试、容量测试和性能测试 安全性、可靠性和容错性测试
2功能测试目的和内容
程序安装、启动正常,有相应的提示框、错误提示等 每项功能符合实际要求 系统的界面清晰、美观 菜单、按钮操作正常、灵活,能处理一些异常操作 能接受正确的数据输入,对异常数据的输入有提示、 容错处理等
系统瓶颈分析举例-2
分段排除错误。测试工具可以模拟不同的虚拟 用户来单独访问Web服务器、应用服务器和数 据库服务器,这样,就可以在Web端测出的响 应时间减去以上各个分段测出的时间就可以知 道瓶颈在哪并着手调优。
系统瓶颈分析举例-3
UNIX资源监控(NT操作系统同理)中指标内 存页交换速率(Paging rate),如果该值 偶尔走高,表明当时有线程竞争内存。如果 持续很高,则内存可能是瓶颈。也可能是内 存访问命中率低。“Swap in rate”和“Swap out rate”也有类似的解释。
度量系统容量举例
查看现有系统中性能与负载间的关系,并 确定出现响应时间显著延长的位置 “拐 点”。可以确定是否颈分析举例-1
交易的响应时间如果很长,远远超过系统性 能需求,表示耗费CPU的数据库操作,例如 排序,执行aggregate functions(例如sum、 min、max、count)等较多,可考虑是否有 索引以及索引建立的是否合理;尽量使用简 单的表联接;水平分割大表格等方法来降低 该值。
大数据量测试
独立的数据量测试 针对某些系统存储、传输、统计、查询等 业务进行大数据量测试
综合数据量测试 和压力性能测试、负载性能测试、并发性 能测试、疲劳性能测试相结合的综合测试方 案
容量测试
容量测试目的是通过测试预先分析出反映软件系统应用特征的 某项指标的极限值(如最大并发用户数、数据库记录数等),系 统在其极限值状态下还能保持主要功能正常运行。容量测试还将 确定测试对象在给定时间内能够持续处理的最大负载或工作量。
性能测试指标的来源: 用户对各项指标提出的明确需求;如果用户没 有提出性能指标则根据用户需求、测试设计人 员的经验来设计各项测试指标。(需求+经验) 主要的性能指标: 服务器的各项指标(CPU、内存占用率等)、后 台数据库的各项指标、网络流量、响应时间
4 压力测试
在一种需要反常(如长时间的峰值)数量、频率或资源的方 式下,执行可重复的负载测试,以检查程序对异常情况的 抵抗能力,找出性能瓶颈。从本质上来说,测试者是想要 破坏程序。 步骤:
集成测试的模式
渐增式测试模式与非渐增式测试模式
非渐增式测试模式:先分别测试每个模块,再把 所有模块按设计要求放在一起结合成所要的程 序,如大棒模式。 渐增式测试模式:把下一个要测试的模块同已经 测试好的模块结合起来进行测试,测试完以后 再把下一个应该测试的模块结合进来测试。 各自的优缺点
集成测试的模式
第二章 软件测试的基本概念和方法
集成测试和系统测试
集成测试和系统测试
系统集成的模式与方法
功能测试
系统测试 压力测试、容量测试和性能测试 安全性、可靠性和容错性测试
系统集成的模式与方法 软件集成测试前的准备
◇人员安排 ◇测试计划 ◇测试内容 ◇集成模式 ◇测试方法
为什么总是集成不起来?
渐增式测试模式与非渐增式测试模式的优缺点
自顶向下和自底向上集成方法
驱动程序/驱动模块(driver),用以模拟被测模 块的上级模块。驱动模块在集成测试中接受测试 数据,把相关的数据传送给被测模块,启动被测 模块,并打印出相应的结果。
桩程序/桩模块(stub),也有人称为存根程序, 用以模拟被测模块工作过程中所调用的模块。桩 模块由被测模块调用,它们一般只进行很少的数 据处理,例如打印入口和返回,以便于检验被测 模块与其下级模块的接口
安全性测试
安全性测试是检查系统对非法侵入的防范能力。安全测试期 间,测试人员假扮非法入侵者,采用各种办法试图突破防线。 例如:
想方设法截取或破译口令; 专门开发软件来破坏系统的保护机制; 故意导致系统失败,企图趁恢复之机非法进入; 试图通过浏览非保密数据,推导所需信息等等。
理论上讲,只要有足够的时间和资源,没有不可进入的系统。 因此系统安全设计的准则是,使非法侵入的代价超过被保护 信息的价值,此时非法侵入者已无利可图。
大棒集成方法(Big-bang Integration)-适用范围
(1)只需要修改或增加少数几个模块的 前期产品稳定的项目
(2)功能少,模块数量不多,程序逻辑 简单,在每个开发阶段,产品质量和 单元测试质量都相当高的产品
三明治集成方法(Sandwich Integration)
采用三明治方法的优点是:它将自顶向下和自底向上的集成方法有机地 结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块 的正确性。采用这种方法的主要缺点是:在真正集成之前每一个独立的模块 没有完全测试过。
相关文档
最新文档