软件测试集成测试与系统测试(二).

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件测试方法和技术-Ch.6集成测试和系统测试主讲教师:郭晓燕第六章集成测试和系统测试6.1系统集成的模式与方法6.2功能测试6.3回归测试6.4非功能性测试性能测试、压力测试和容量测试安全性、可靠性和容错性测试性能测试系统的性能的覆盖面非常广泛对一个软件系统而言:执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。性能测试是通过测试确定系统运行时的性能表现:运行速度、响应时间、占有系统资源等方面。验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。性能测试性能测试系统的负载系统的性能指标性能测试的基本过程系统负载要素在线用户:登录Web应用系统还没有退出的用户,对应一个Session。并发用户数:在同一时刻做同一件事或同一操作的用户数量;Web服务器处理请求建立的HTTP连接数或线程数。思考时间:响应后提交下一个请求的间隔时间每次请求的数据量负载模式:加载方式性能测试性能测试指标的来源用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求+经验)主要的性能指标系统资源(CPU、内存占用率等)系统行为请求响应时间:提交请求到接收响应的时间事务响应时间:事务是一系列请求组成。事务针对系统业务数据吞吐量:单位时间客户端与服务器间网络上传的数据量。性能测试的基本过程确定性能测试的需求根据测试需求,选择测试工具和开发相应的测试脚本;建立性能测试负载模型,这是一个不断完善的过程执行性能测试,获取数据,发现问题进行优化;提交性能测试报告并发性能测试逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,能过综合分析交易执行指标,资源监控指标来确定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容。并发性能测试应用在客户端性能的测试应用在网络上性能的测试应用在服务器端上性能的测试并发性能测试两种负载类型“flat”测试ramp-up测试性能测试的方法主要:基准测试性能规划测试渗入测试峰谷测试两种负载类型“Flat”测试:对于一次给定的测试,应该取响应时间和吞吐量的平均值。精确地获得这些值的唯一方法是一次加载所有的用户,然后在预定的时间段内持续运行。虚拟用户的数量两种负载类型Ramp-up测试:用户是交错上升的(每几秒增加一些新用户)。ramp-up测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在不断地变化。其优点是,可以看出随着系统负载的改变,测量值是如何改变的据此选择要运行的flat测试的范围。Flat测试“波动”效应PageDownloadedperSecond系统吞吐量Flat测试“波动”效应ResourceUsage性能测试举例0510152025301X51X1001X5001X7001X90010X5HTTPTCPHTTP&TCP看看在各种情况下CPU使用的效率6.4压力测试在一种需要反常(如长时间的峰值)数量、频率或资源的方式下,执行可重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈。是一种特殊的负载测试异常情况,主要指那些峰值、极限值、大量数据的长时间处理等,包括连接或模拟了最大(实际或实际允许)数量的客户机;所有客户机在长时间内执行相同的、性能可能最不稳定的重要业务功能;已达到最大的数据库大小,而且同时执行多个查询或报表事务当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;运行可能导致虚存操作系统崩溃或大量数据对磁盘进行存取操作的测试用例等。压力测试试试这个游戏站点的承受力6.4压力测试步骤:测试压力估算:设计最大压力值测试环境准备:硬件、网络、测试程序和数据压力稳定性测试:在选定压力值下,持续运行24小时以上进行测试。破坏性加压测试:通过不断加压的手段,往往能快速造成系统崩溃或暴露问题问题的分析累积效应容量测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),再通过测试观察是否系统在其极限值状态下还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试大数据容量测试的过程容量测试注意事项容量测试的关键是模拟大批量的用户业务数据,因此首先要估算好用户若干年后可能出现的最大数据量。对容量的估计不能简单停留在容量多少上,还要考虑加载策略,不同的加载策略反映不同状态的容量性能测试举例1.系统分析2.建立虚拟用户脚本3.根据用户性能指标创建测试场景4.运行测试场景,同步监测应用性能5.性能测试的结果分析和性能评价性能测试举例被测系统介绍本系统遵循J2EE规范,采用B/S体系结构进行设计和开发。业务主要分为交易业务和查询业务,采用了TCP的四层结构。系统体系结构图如下:性能测试举例被测系统的性能要求和性能指标在客观条件下,整个广域网系统必须在大业务量的情况下同时保持快速的实时响应能力,以保证整个业务系统的通畅运行。用户提出如下性能指标性能测试:系统分析第一条路线上主要运行的是登陆指令和交易指令信息。终端→交易前置机→交易主机→数据库系统主要考验交易前置服务程序的socket多连接建立能力,tuxedo交易中间件的即时响应能力,交易主机的计算能力,以及DB2数据库的DML语句加锁机制。性能测试:系统分析第二条路线上主要运行的是查询指令信息终端→查询前置机→数据库系统主要验证weblogic处理能力,数据库中索引是否创建合理两条流程线相对独立,但又是互相依赖的。由于是对同一个数据库系统进行读操作和写操作,查询流程的结果依赖于交易流程数据的产生,交易流程的产生的数据又通过查询流程得到验证。在进行压力测试时,两者的协同会对数据库形成压力的冲击。性能测试:系统分析本次性能测试分解为如下几个子测试来进行。A:并发登陆测试:750个终端一分钟内并发登陆系统,并且响应时间在30秒之内。B:业务负载测试,有三个子测试。交易流程测试:多个终端发起交易请求,逐渐加压,以达到300笔/秒的压力为限。查询流程测试:多个终端进行查询,逐渐加压,以达到400笔/秒的压力为限。查询成功与否以所请求的web页面完全展现为标准。(查询响应能力其实和数据库中的数据量有关系,后来和用户进一步确认,基础数据为30万条)综合测试:在上面两种测试都通过的情况下,进行综合测试。性能测试:创建虚拟场景并发登陆测试,用户性能指标转化为如下的测试场景:从第一秒钟开始,用自动化测试工具模拟每秒钟登陆13个用户,并保持socket连接,直到1分钟结束,从终端向系统一共发送750个左右的用户登陆请求,系统在一分钟内建立了750个连接。在终端观察并统计登陆响应时间。如果系统不能响应持续增加的登陆请求或平均登陆响应时间大于30秒,并发登陆测试场景都不能算通过。考虑压力和负载测试,模拟每秒钟登陆13个开始,不断增加,每次加载负载以倍数增加,直至连接数达到750个;安全性测试根据ISO8402的定义,安全性是“使伤害或损害的风险限制在可接受的水平内”。安全性测试安全性测试是检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。例如:想方设法截取或破译口令;专门开发软件来破坏系统的保护机制;故意导致系统失败,企图趁恢复之机非法进入;试图通过浏览非保密数据,推导所需信息等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值,此时非法侵入者已无利可图。安全性测试两个层次:应用程序级别和系统级别的安全性应用程序级别对数据或业务功能的访问操作者只能访问其所属用户所授权的功能系统级别系统的登录或远程访问核实只有系统和应用程序级别的操作者才有权访问系统安全性测试测试范围确定各用户类型及其被访问的功能和数据测试方法静态代码安全测试动态的渗透测试程序数据扫描完成标准各种操作者都可访问相应的功能或数据,所有事务按预定方法运行。可靠性测试可靠性(Reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力,它的概率度量称为可靠度。软件可靠性是软件系统的固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的可靠程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。可靠性测试可靠性测试是根据软件系统可靠性结构、寿命类型和各单元的可靠性试验信息,利用概率统计方法,评估系统可靠性特征量。测试方法可靠性结构模型:根据系统逻辑结构关系,对系统可靠性特征及其发展变化规律做出可靠性评价。可靠性预计模型:描述软件失效与软件缺陷的关系面向时间的预计模型面向输入数据的预计模型面向错误数的预计模型可靠性测试数据收集:失效时间数据失效间隔时间数据分组数据分组时间内累积失效数可靠性测试结果的评估结果评估:成熟性、容错性、易恢复性成熟性度量:由错误发现率DDP(DefectDetectionPercentage)来表现。在测试中查找出来的错误越多,实际应用中出错的机会就越小,软件也就越成熟。DDP=测试发现的错误数量/已知的全部错误数量已知的全部错误数量是测试已发现的错误数量加上可能会发现的错误数量之和。评估报告:《软件可靠性测试报告》容错性测试容错性测试是检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。容错性测试包括两个方面:输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好的话,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失、系统和数据是否能尽快恢复。例题阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。【说明】针对某公司办公自动化(OA)系统的负载压力测试,采用专业的负载压力测试工具来执行测试。系统采用Browse/Server架构,服务器是一台PCServer(4路2.7GHz处理器,4GB内存),安装的平台软件包括MicrosoftInternetInformationServer5.0,ASP.NET,SQLServer2000。使用2台笔记本电脑安装测试工具模拟客户端执行“登录”业务操作。测试目标分别为以下两个:第一,测试系统分别在2M、4M网络带宽下,能够支持用户登录的最大并发用户数;第二,测试服务器的吞吐量(即:每秒可以处理的交易数),主要包括服务器CPU平均使用率达到85%时系统能够支持的最大吞吐量和服务器CPU平均使用率达到100%时系统能够支持的最大吞吐量。本次测试的性能需求是:指标“响应时间”合理范围为0~5秒。测试结果如下:案例1网络环境:2M带宽客户端性能测试结果:服务器的使用结果如下表所示。案例2,4Mb/s带宽客户端测试结果如下表所示服务器的使用结果[问题1](3分)简述软件系统交易执行响应时间(“RT”,ResponseTime)的概念。系统执行事务准备后所采集的时间戳与系统完成执行事务后采集的时间戳之间的时间间隔。是衡量特定类型应用事务性能的重要指标。[问题2](3分)分析案例1的测试结果数据;指出满足系统的性能指标需求时,系统能够承受的并发用户登录的最大数量,并说明理由。测试指标平均值CPU使用率98%[问题3](4分)分析案例1的测试结果数据,说明服务器CPU资源使用率是否合理,以及带宽是否是系统瓶颈,并陈述理由。[问题4](4分)分析案例2的测试结果数据,说明服务器CPU资源使用率是否合理,以及增加带宽是否是提高系统性能的有效方法,并陈述理由。[

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功