软件测试方法和技术第九讲基于应用服务器的测试.ppt

上传人:laozhun 文档编号:2313970 上传时间:2023-02-11 格式:PPT 页数:47 大小:1.27MB
返回 下载 相关 举报
软件测试方法和技术第九讲基于应用服务器的测试.ppt_第1页
第1页 / 共47页
软件测试方法和技术第九讲基于应用服务器的测试.ppt_第2页
第2页 / 共47页
软件测试方法和技术第九讲基于应用服务器的测试.ppt_第3页
第3页 / 共47页
软件测试方法和技术第九讲基于应用服务器的测试.ppt_第4页
第4页 / 共47页
软件测试方法和技术第九讲基于应用服务器的测试.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《软件测试方法和技术第九讲基于应用服务器的测试.ppt》由会员分享,可在线阅读,更多相关《软件测试方法和技术第九讲基于应用服务器的测试.ppt(47页珍藏版)》请在三一办公上搜索。

1、软件测试方法和技术第9章 基于应用服务器的测试,顾进广,Ph.D.,Professor,http:/,第9章 基于应用服务器的测试,9.1 基于Web服务器应用的测试9.2 基于数据库应用服务器的测试9.3 基于Java EE应用服务器的测试,9.1 基于Web服务器应用的测试,9.1.1 Web服务器功能测试9.1.2 Web安全性测试9.1.3 Web性能测试9.1.4 性能测试工具Flood,9.1.1 Web服务器的功能测试,GETOPTIONSHEADPOSTPUTDELETETRACECONNECT,正则表达式,常用的Web元素功能测试,页面链接页面是否存在页面是否正确设计脚本不同

2、的脚本语言相同的脚本语言在不同浏览器中的表现Web图形表单,9.1.2 Web服务器的安全测试,登录、身份验证超时、Cookie和Session输入验证(防止脚本语言)数据加密、SSL(安全套接字)SQL注入XSS日志文件目录,跨站点攻击(XSS),Reflected XSSStored XSSDOM-based XSS,http:/www.owasp.org/index.php/Cross-site_Scripting_(XSS),9.1.3 Web服务器的性能测试,基于Web应用系统的在线用户和响应时间来度量系统性能,基于Web应用系统的吞吐量和响应时间来度量系统性能,http:/www.

3、spec.org/benchmarks.html#web,Apache性能测试工具ab,Web服务器性能测试要点,如何确定在线用户数量呢?由于时间和资源限制,不可能对Web应用系统的所有功能进行性能测试,而是根据业务的实际操作情况和技术的角度来分析,选择关键业务如果是基于在线用户的性能测试需求,可以将录制脚本时记录的思考时间作为基准,以此将思考时间设置成一定范围内的随机值。基于吞吐量的性能测试需求,可以把思考时间设置为零,Web站点经验点滴,在执行客户端并发性能测试的过程中,需要同时监控数据库服务器、Web服务器以及网络资源等使用情况,以便对系统的性能做全面评估 录制脚本和手工编写脚本相结合

4、设置数据池,实现变量加载业务批量执行,Web站点经验点滴,模拟用户数的递增 合理设置交易之间时间间隔 模拟IP地址变量的技术 超时(timeout)的设置 并发用户连续执行交易数的设置 错误处理,Web站点经验点滴,利用QALoad的ActiveData技术采用复合交易测试方案尽量将执行负载测试的机器合理分布 并发用户数量极限点加压机器的CPU使用率也有必要监控 设置并发点 HTML与URL录制方式,9.1.4 性能测试工具Flood,Apache HTTP工程包含了一个名为HTTPD-Test的子工程Apache的通用测试工具包,它包含了不少测试工具而其中Flood(http:/httpd.

5、apache.org/test/flood/)是人们经常使用的一个Web性能测试工具,具体操作,安装设置Flood实例扩展,9.2 基于数据库应用服务器的测试,9.2.1 数据库服务器性能测试9.2.2 数据库并发控制测试,了解数据库服务器,9.2.1 数据库服务器性能测试,大数据量测试:10万、100万、千万条记录大容量测试:某些字段存储10M、100M、1G等大体积数据。,数据库性能测试过程和策略(1),理解测试需求:是校验测试还是基准测试?是单个用户大数据量测试还是多个用户并发测试?什么地方是可能的性能瓶颈?可能是哪个方面的性能测试?(应用程序or系统参数or Schema对象)选择测试

6、工具页面级的辅助测试工具:JMeter,Webload etc第三方监控程序:如DB Flash,或者有些通过log文件,来监控动态的访问路径,高占用的进程,会话和SQL语句,自定义或者常用的命令,来动态监控和获取执行SQL,PL-SQL所需要的时间,占用的CPU和内存资源.数据库系统本身的性能工具包,如在Oracle中使用的Explain Plan,AutoTrace,PKPROF以及Statspack.设计测试场景以及测试脚本数据量设计或加载.测试环境建立和测试过程分析测试脚本设计收集数据和分析结果性能瓶颈参数优化和对比,数据库性能测试过程和策略(2),Oracle数据库性能测试,Orac

7、le系统性能测试的目标:模拟数据库系统的数据负载,操作,侦测和获取性能测试数据,帮助开发和DBA来优化和调整数据库或者应用程序.最终的结果是获取更快的数据库响应速度或者更高吞度能力.Oracle系统性能测试的本质硬件(CPU,Memory,I/O竞争等)系统配置(SGA/PGA)应用程序(SQL,PL-SQL)网络连接,Oralce系统性能测试的范围,应用程序调优-For Application developerSQL语句测试调优Thin,OCI测试Schema 对象调优-For Database developerSchema(表,索引,存储过程)设计PL-SQL语句和调用数据复制系统参数

8、调优-For DBA内存/CPU/I/O竞争/网络SGA配置动态表空间估计分区表,索引设计,数据库测试工具-AUTOTRACE,command:set autotrace ontraceonlyoff;SQL select*from wbxsite;3091 rows selected.Execution Plan-0 SELECT STATEMENT Optimizer=CHOOSE(Cost=4 Card=2489 Bytes=17 4230)1 0 TABLE ACCESS(FULL)OF WBXSITE(Cost=4 Card=2489 Bytes=1 74230)Statistics

9、-680 recursive calls 0 db block gets 375 consistent gets 0 physical reads 0 redo size 196696 bytes sent via SQL*Net to client 2765 bytes received via SQL*Net from client 208 SQL*Net roundtrips to/from client 6 sorts(memory)0 sorts(disk)3091 rows processed,SQL/-the data was from buffer cache,but not

10、hard parse.3091 rows selected.Execution Plan-0 SELECT STATEMENT Optimizer=CHOOSE(Cost=4 Card=2489 Bytes=17 4230)1 0 TABLE ACCESS(FULL)OF WBXSITE(Cost=4 Card=2489 Bytes=1 74230)Statistics-0 recursive calls 0 db block gets 245 consistent gets 0 physical reads 0 redo size 196696 bytes sent via SQL*Net

11、to client 2765 bytes received via SQL*Net from client 208 SQL*Net roundtrips to/from client 0 sorts(memory)0 sorts(disk)3091 rows processedSQL,数据库测试工具-AUTOTRACE,EXPLAIN PLANRunning explain plan and show output:Explain plan for Statement;?/rdbms/admin/utlxpls.sql-Shows plan table output for serial pr

12、ocessing?/rdbms/admin/utlxplp.sql-Shows plan table output with parallel execution columnsAnalyze planOptimizer modeScan modeRecursive callsRedo sizes,数据库测试工具(Contd),数据库测试工具(Contd),StatspackInstall packageConnect as sysdbaRun?/rdbms/admin/spcreate sql,to create all required tables,packages,user and g

13、rant privilege.Specify 3 required parameters:user password,tablespace and temp tablespace,it is better to create independent tablespace and temp tablespace for this schema.Using statspackconnect as perfstats.EXECUTE statspack.snap;(after this process finished,we can see a set of data had been genera

14、ted to perfstats.STATS$SYSSTAT,by SNAP_IDm this means,system snapshot had been generated by executing this package.An integer snap_id will be returned,we can get it by SMART calling,or from latest SNAP_ID from table STATS$SYSSTAT.Running the Statspack Reportconnect as perfstats.Execute sql:?/rdbms/a

15、dmin/spreportSpecify 3 parameters:start snapshot ID,end snapshot ID and report name(default is sp_xx_yy.lis in current path).Or batch define and run by define begine_snap,end_snap,report_name before run sql.,Zhu.K,Oracle故障诊断,利用故障诊断的方法(Oracle DB Side Transactions by SQL Stage)可以将SQL语句执行过程中的时间划分为四部分:解

16、析时间(Parse Time)执行时间(Execute Time)读取时间(Fetch Time)其他时间(Other Time),例如绑定时间(bind time)。,Oracle故障诊断,SQL执行时间分解,数据库服务器典型性能问题,数据库服务器性能问题及原因分析 单一类型事务响应时间过长 数据库服务器负载 糟糕的数据库设计 事务粒度过大 批任务对普通用户性能的影响 并发处理能力差 锁冲突严重 资源锁定造成的数据库事务超时 数据库死锁,数据库服务器典型性能问题,数据库性能问题的一般解决办法 监视性能相关数据;定位资源占用较大的事务并做出必要的优化或调整;定位锁冲突,修改锁冲突发生严重的应用

17、逻辑;对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布。,Oracle与提高性能有关的特性,索引并行执行簇与散列簇分区多线程服务器同时读取多块数据,Oracle配置的关键参数,MAX_DSPATCHERS:这个参数指定了系统允许同时进行的调度进程的最大数量。MAX_SHARED_SERVERS:这个参数指定了系统允许同时进行的共享服务器进程的最大数量。如果系统中出现的人为死锁过于频繁,那么管理员应该增大这个参数的值。PARALLEL_ADAPTIVE_MULTI_USER:当这个参数的值为TRUE时,系统将启动一个能提高使用并行执行的多用户系统性能的自适应算法。这个算法将根据查询开始时

18、的系统负载自动降低查询请求的并行度。,Oracle配置的关键参数,PARLLEL_MIN_SERVERS:这个参数指定了实例并行执行进程的最小数量。其值就是实例启动时Oracle创建的并行执行进程数。PARLLEL_THREADS_PER_CPU:这个参数指定了实例默认的并行度和并行自适应以及负载平衡算法。它指明了并行执行过程中一个CPU能处理的进程或线程数。PARTITION_VIEW_ENABLED:这个参数指定了优化器是否使用分区视图。Oracle推荐用户使用分区表(这是在Oracle8之后引入的)而不是分区视图。分区视图只是为了提供Oracle的后向兼容性。REVOVERY_PARAL

19、LELISM:这个参数指定了恢复数据库系统时使用的进程数。,9.2.2 数据库并发控制测试,数据库并发控制测试,数据库并发能力:多个应用请求的并发处理过程.并发主要考虑的几个方面:数据丢失不可重复数据读脏数据数据库的锁并发测试的设计过程并发流程分析并发控制测试设计,9.3 基于Java EE应用服务器的测试,9.3.1 用JProfiler完成应用服务器的性能测试9.3.2 Java weblogic应用服务器测试,Zhu.K,J2EE基本架构描述,9.3.1 JProfiler应用服务器的性能测试,JProfiler能实时地监控系统的CPU、内存、线程、JVM(Java虚拟机)等运行或性能的

20、动态状况,可以找到性能瓶颈、内存泄漏等问题,并通过堆遍历作资源回收器的根源性分析。JProfiler提供不同的方法来记录访问树以优化性能和细节,在视图中可以灵活选择线程或者线程组,而所有的视图可以聚集到方法、类、包或组件等不同层次上,JProfiler运行IDE界面,内存、CPU剖析和堆遍历,CPU剖析视图,线程剖析视图,9.3.2 Java weblogic应用服务器性能测试,WebLogic服务器端配置Eclipse客户端配置运用JProfiler连接Weblogic运用JProfiler连接Weblogic(远程),设置界面,Var objHTTP,strResut;objHTTP=new ActionXObject(“Microsoft.XMLHTTP”);objHTTP.OPEN(POST,“”,false);objHTTP.setRequestHeader(“”);objHTTP.send(“构造请求的内容”);strResult=objHTTP.responseText;,Q&A,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号