集成测试和系统测试

上传人:平*** 文档编号:34320111 上传时间:2018-02-23 格式:PPT 页数:56 大小:1.20MB
返回 下载 相关 举报
集成测试和系统测试_第1页
第1页 / 共56页
集成测试和系统测试_第2页
第2页 / 共56页
集成测试和系统测试_第3页
第3页 / 共56页
集成测试和系统测试_第4页
第4页 / 共56页
集成测试和系统测试_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《集成测试和系统测试》由会员分享,可在线阅读,更多相关《集成测试和系统测试(56页珍藏版)》请在金锄头文库上搜索。

1、软件测试方法和技术 集成测试和系统测试,回顾,单元测试的定义与进行单元测试的重要性单元测试的目标与任务静态测试技术的运用动态测试技术的运用调试与评估单元测试的过程与文档管理单元测试的常用工具简介,集成测试和系统测试,1 系统集成的模式与方法2 功能测试3 系统测试4 压力测试、容量测试和性能测试5安全性、可靠性和容错性测试,1系统集成的模式与方法,软件集成测试前的准备,人员安排测试计划测试内容集成模式测试方法,为什么总是集成不起来?,集成测试的模式,渐增式测试模式与非渐增式测试模式非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。渐增式测试模式:

2、把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。各自的优缺点,自顶向下和自底向上集成方法,驱动程序/驱动模块(driver),用以模拟被测模块的上级模块。驱动模块在集成测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。桩程序/桩模块(stub),也有人称为存根程序,用以模拟被测模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口,自顶向下法(Top-down Integration),自顶向下法的主要优缺点,自顶向下法(To

3、p-down Integration),自底向上法(Bottom-up Integration),自底向上法的主要优缺点,自底向上法(Bottom-up Integration),混合策略(Modified Top-down Integration),混合法:对软件结构中较上层,使用的是“自顶向下”法;对软件结构中较下层,使用的是“自底向上”法,两者相结合,大棒集成方法(Big-bang Integration),采用大棒集成方法,先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试 。,因为所有的模块一次集成的,所以很难确定出错的真正位置、所在的模块、错

4、误的原因。这种方法并不推荐在任何系统中使用,适合在规模较小的应用系统中使用。,三明治集成方法(Sandwich Integration),采用三明治方法的优点是:它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。采用这种方法的主要缺点是:在真正集成之前每一个独立的模块没有完全测试过。,改善的三明治集成方法,改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模块得到单独的测试,使测试进行得比较彻底 。,几种集成方法性能的比较,2功能测试,功能测试的目的和内容,程序安装、启动正常,有相应的提示框、错误提示等每项功能符合实际要求系

5、统的界面清晰、美观菜单、按钮操作正常、灵活,能处理一些异常操作能接受正确的数据输入,对异常数据的输入可以进行提示、容错处理等数据的输出结果准确,格式清晰,可以保存和读取功能逻辑清楚,符合使用者习惯系统的各种状态按照业务流程而变化,并保持稳定支持各种应用的环境能配合多种硬件周边设备软件升级后,能继续支持旧版本的数据与外部应用系统的接口有效,功能测试的方法,1. 等价类划分法2. 边界值分析法3. 错误推测法4.因果图法5. 组合分析法,我要测试所有的功能,等价类划分法,划分好等价类测试:防止遗漏测试案例。,边界值分析法,例如:测试一个排序程序的边界值分析法的例子,其边界条件有:排序序列为空;排序

6、序列仅有一个数据;排序序列为满,用猜错法补充一下测试用例;排序序列已经按要求排好序;排序序列的顺序与要求的顺序恰好相反;排序序列中的所有数据全部相等。,因为错误最容易发生在边界值附近,所以边界值分析法对于多变量函数的测试很有效,尤其是对于像C/C+数据类型要求不是很严格的语言有利 。,错误推测法,这个错误到底在哪?,因果图法,因果图法,混凝土强度为什么不足?,组合分析法,组合分析是一种基于每对参数组合的测试技术,主要考虑参数之间的影响是主要的错误来源和大多数的错误起源于简单的参数组合。,在产品汉化过程中哪个组合出错了?,3系统测试,压力测试 (Stress test) 容量测试 (Capaci

7、ty test) 性能测试 (Performance test) 安全测试 (Security test) 容错测试 (Recovery test),回归测试的目的 所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;不影响软件原有功能的正确性。 回归测试的方法再测试全部用例 基于风险选择测试 基于操作剖面选择测试 再测试修改的部分,回归测试,2000,回归测试的组织和实施,回归测试,4 压力测试、容量测试和性能测试,压力测试、容量测试和性能测试的测试目的虽然有所不同,但其手段和方法在一定程度上比较相似,通常会使用特定的测试工具,来模拟超常的数据量、负载等,

8、监测系统的各项性能指标,如CPU和内存的使用情况、响应时间、数据传输量等。,一定要设法破坏它!,性能测试概念和目的,性能测试的目的: 为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。性能测试指标的来源:用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求+经验)主要的性能指标:服务器的各项指标(CPU、内存占用率等)、后台数据库的各项指标、网络流量、响应时间,性能测试要点,测试环境应尽量与用户环境保持一致,应单独运行尽量避免与其他软件同时使用。性能测试一般使用测试工具和测试人员编制测试脚本来

9、完成。性能测试的重点在于前期数据的设计与后期数据的分析。性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不大,所以做性能测试的重复使用率一般比较高。,性能测试的方法和技巧,两种负载类型“flat”测试ramp-up测试对于企业级的系统,有许多进行性能测试的方法,主要有:基准测试性能规划测试渗入测试峰谷测试,两种负载类型,“Flat”测试: 对于一次给定的测试,应该取响应时间和吞吐量的平均值。精确地获得这些值的唯一方法是一次加载所有的用户,然后在预定的时间段内持续运行。这称为“flat”测试。 Ramp-up测试: 用户是交错上升的(每几秒增加一些新用户)。ramp-u

10、p测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在不断地变化。ramp-up测试的优点是,可以看出随着系统负载的改变,测量值是如何改变的。然后可以据此选择以后要运行的flat测试的范围。,基准测试,基准测试的关键是要获得一致的、可再现的结果。假定测试的两个指标是服务器的响应时间和吞吐量,它们会受到服务器上的负载的影响。服务器上的负载受两个因素影响:同时与服务器通信的连接(或虚拟用户)的数目,以及每个虚拟用户请求之间的考虑时间的长短。与服务器通信的用户越多,负载就越大。同样,请求之间的考虑时间越短,负载也越大。这两个因素的不同组合会产生不同的服务器负载等级.,随

11、着服务器上负载的增加,吞吐量会不断攀升,直到到达一个点, 并在这个点上稳定下来,基准测试 (2),在某一点上,执行队列开始增长,因为服务器上所有的线程都已投入使用,传入的请求不再被立即处理,而是放入队列中,当线程空闲时再处理。,图2. 随着负载的增加,系统执行队列长度的曲线,当系统达到饱和点,服务器吞吐量保持稳定后,就达到了给定条件下的系统上限。但是,随着服务器负载的继续增长,统的响应时间也随之延长,虽然吞吐量保持稳定。,将系统置于相同的高负载下,与服务器通信的虚拟用户应该将请求之间的考虑时间设为零。这样服务器会立即超载,并开始构建执行队列。如果请求(虚拟用户)数保持一致,基准测试的结果应该会

12、非常精确,因此,flat运行是获得基准测试数据的理想模式,基准测试 (3),图3. 随着负载的增加,系统中两个事务的响应时间曲线,性能规划测试,性能规划类型的测试其目标是找出在特定的环境下,给定应用程序的性能可以达到何种程度。例如,如果要以5秒或更少的响应时间支持8,000个当前用户,需要多少个服务器?要确定系统的容量,需要考虑几个因素:用户中有多少是并发与服务器通信的。每个用户的请求间时间间隔是多少。,如何加载用户以模拟负载状态?最好的方法是模拟高峰时间用户与服务器通信的状况。如果用户负载状态是在一段时间内逐步达到的,选择使用ramp-up类型的测试,每隔几秒增加x个用户;如果所有用户是在一

13、个非常短的时间内同时与系统通信,就应该使用flat类型的测试,将所有的用户同时加载到服务器. 什么是确定容量的最好方法?结合两种负载类型的优点,并运行一系列的测试,就会产生最好的结果。如,首先使用ramp-up测试确定系统可以支持的用户范围。确定了范围之后,以该范围内不同的并发用户负载进行一系列的flat测试,更精确地确定系统的容量。,性能规划测试 (2),渗入测试,渗入测试是一种比较简单的性能测试。渗入测试所需时间较长,它使用固定数目的并发用户测试系统的总体健壮性。这些测试将会通过内存泄漏、增加的垃圾收集(GC)或系统的其他问题,显示因长时间运行而出现的任何性能降低。 建议运行两次测试一次使

14、用较低的用户负载(要在系统容量之下,以便不会出现执行队列),一次使用较高的负载(以便出现积极的执行队列)。,峰谷测试,峰谷测试兼有容量规划ramp-up类型测试和渗入测试的特征。其目标是确定从高负载(例如系统高峰时间的负载)恢复、转为几乎空闲、然后再攀升到高负载、再降低的能力。,性能测试的过程,故障转移测试,Failover 测试:故障转移(Failover)和故障恢复(Failback).服务器的Failover测试的目的: 检查系统是否具备某种灾难性恢复的手段. 当系统局部或全部出错时, 能否在指定时间内修正错误. 具有良好故障恢复的系统, 当遇到软件原因或无法克服的自然原因时, 能够进行

15、故障的转移与恢复. 使用户最低限度的感受到故障的发生.在服务器的Failover测试中, 将包括多种情况, 如:客户机或服务器掉电; 客户机与服务器网络中断; 服务器相关的程序CRASH; 系统中全部或部分CORE SERVER出现掉电/网络中断情况.,Failover测试的方法和技巧,要进行Failover的全面测试, 可以将测试系统全部对象描绘出来于一张系统结构图中, 对图中的所有可能发生的故障点设计测试用例.以下两个用例来说明Failover测试的方法和手段.例一, 我们先以一套简单的服务器构造为例来说明服务器发生故障时的情况.例二, 我们以Telephony server为例介绍Fai

16、lover的测试. 例三,Eureka server failover全图,Example,例一, 我们先以一套简单的服务器构造为例来说明服务器发生故障时的情况,Example,在这个构造中,当其中一台应用服务器出现故障,连接此应用服务器的 两个web服务器将不再获得从负载平衡服务器上请求,这样,所有的负载都会传递到剩余的两台web服务器, 见下图:,4压力测试,压力测试是在一种需要反常数量、频率或资源的方式下,执行可重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈。从本质上来说,测试者是想要破坏程序,难怪在进行压力测试时常常问自己:“我们能够将系统折腾到什么程度而又不会出错?”。这种系统折腾,就是对异常情况的设计。异常情况主要指的是峰值(瞬间使用高峰)、大量数据的处理能力、长时间运行等情况。压力测试总是迫使系统在异常的资源配置下运行。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号