您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于应用服务器的测试
软件测试方法和技术-Ch.9基于应用服务器的测试应用服务器的类型和特征1.1应用服务器分类•Web服务器•数据库服务器•实时通讯服务器•邮件服务器•群件服务器•文件/打印服务器应用服务器的类型和特征C/S结构优点及缺陷B/S结构有点及缺陷三层结构及应用:表示层,业务层,应用层各个层次的定义和分工企业级的服务器企业级的服务器的主要特点分布式的结构提供了高性能和高适应性高可用性的服务器平台可升级的体系结构易整合,易管理和易用性的设计不同类型的应用服务器不同的测试重点和角度,如:在邮件服务器中,容量,吞吐能力,防病毒攻击等是测试重点.在实时通信系统中,测试需要考察服务器功能的实现,数据的及时性,完整性,系统稳定性,系统数据备份的冗余设计,防网络攻击及故障恢复处理系统的设计基于Web服务器应用的测试范围•功能测试•UI测试•负载/压力测试•安全性测试•兼容性测试•网络链接测试•其他测试如:分辨率,流量常用的Web元素功能测试页面链接页面是否存在页面是否正确设计脚本不同的脚本语言相同的脚本语言在不同浏览器中的表现Web图形表单Web服务器的安全测试数据加密登录超时Cookie和SessionSSL(安全套接字)脚本语言(vbscript,javascript)日志文件目录Web服务器的负载测试负载测试的目的基准测试以及校验测试使用测试工具模拟并发用户以及获取测试结果WebloadLoadRunnerJMeter…Web站点经验点滴1.在执行客户端并发性能测试的过程中,需要同时监控数据库服务器、Web服务器以及网络资源等使用情况,以便对系统的性能做全面评估2.录制脚本和手工编写脚本相结合3.设置数据池,实现变量加载4.业务批量执行Web站点经验点滴5.模拟用户数的递增6.合理设置交易之间时间间隔7.模拟IP地址变量的技术8.超时(timeout)的设置9.并发用户连续执行交易数的设置10.错误处理Web站点经验点滴11.利用QALoad的ActiveData技术12.采用复合交易测试方案13.尽量将执行负载测试的机器合理分布14.并发用户数量极限点15.加压机器的CPU使用率也有必要监控16.设置并发点17.HTML与URL录制方式基于数据库服务器的测试•数据库服务器的组成•DBMS•常用的数据库服务器平台Oracle故障诊断为了分析故障位置,将故障诊断数据(OracleDiagnostics)与交易执行响应时间(TransactionResponseTime)数据关联起来。例如:某交易“enter”的平均响应时间高,使用故障诊断(Oraclediagnostics),就可以查找到是什么原因导致了这个问题。Oracle故障诊断利用故障诊断的方法(OracleDBSideTransactionsbySQLStage)可以将SQL语句执行过程中的时间划分为四部分:解析时间(ParseTime)执行时间(ExecuteTime)读取时间(FetchTime)其他时间(OtherTime),例如绑定时间(bindtime)。Oracle故障诊断SQL执行时间分解数据库服务器典型性能问题数据库服务器性能问题及原因分析单一类型事务响应时间过长数据库服务器负载糟糕的数据库设计事务粒度过大批任务对普通用户性能的影响并发处理能力差锁冲突严重资源锁定造成的数据库事务超时数据库死锁数据库服务器典型性能问题数据库性能问题的一般解决办法监视性能相关数据;定位资源占用较大的事务并做出必要的优化或调整;定位锁冲突,修改锁冲突发生严重的应用逻辑;对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布。Oracle与提高性能有关的特性索引并行执行簇与散列簇分区多线程服务器同时读取多块数据Oracle配置的关键参数MAX_DSPATCHERS:这个参数指定了系统允许同时进行的调度进程的最大数量。MAX_SHARED_SERVERS:这个参数指定了系统允许同时进行的共享服务器进程的最大数量。如果系统中出现的人为死锁过于频繁,那么管理员应该增大这个参数的值。PARALLEL_ADAPTIVE_MULTI_USER:当这个参数的值为TRUE时,系统将启动一个能提高使用并行执行的多用户系统性能的自适应算法。这个算法将根据查询开始时的系统负载自动降低查询请求的并行度。Oracle配置的关键参数PARLLEL_MIN_SERVERS:这个参数指定了实例并行执行进程的最小数量。其值就是实例启动时Oracle创建的并行执行进程数。PARLLEL_THREADS_PER_CPU:这个参数指定了实例默认的并行度和并行自适应以及负载平衡算法。它指明了并行执行过程中一个CPU能处理的进程或线程数。PARTITION_VIEW_ENABLED:这个参数指定了优化器是否使用分区视图。Oracle推荐用户使用分区表(这是在Oracle8之后引入的)而不是分区视图。分区视图只是为了提供Oracle的后向兼容性。REVOVERY_PARALLELISM:这个参数指定了恢复数据库系统时使用的进程数。Oracle数据库性能测试Oracle系统性能测试的目标:模拟数据库系统的数据负载,操作,侦测和获取性能测试数据,帮助开发和DBA来优化和调整数据库或者应用程序.最终的结果是获取更快的数据库响应速度或者更高吞度能力.Oracle系统性能测试的本质硬件(CPU,Memory,I/O竞争等)系统配置(SGA/PGA)应用程序(SQL,PL-SQL)网络连接Oralce系统性能测试的范围应用程序调优-ForApplicationdeveloperSQL语句测试调优Thin,OCI测试Schema对象调优-ForDatabasedeveloperSchema(表,索引,存储过程)设计PL-SQL语句和调用数据复制系统参数调优-ForDBA内存/CPU/I/O竞争/网络SGA配置动态表空间估计分区表,索引设计数据库性能测试大数据量测试大容量测试性能测试过程和策略理解测试需求:是校验测试还是基准测试?是单个用户大数据量测试还是多个用户并发测试?什么地方是可能的性能瓶颈?可能是哪个方面的性能测试?(应用程序or系统参数orSchema对象)选择测试工具页面级的辅助测试工具:JMeter,Webloadetc第三方监控程序:如DBFlash,或者有些通过log文件,来监控动态的访问路径,高占用的进程,会话和SQL语句基于数据库服务器的测试自定义或者常用的命令,来动态监控和获取执行SQL,PL-SQL所需要的时间,占用的CPU和内存资源.数据库系统本身的性能工具包,如在Oracle中使用的ExplainPlan,AutoTrace,PKPROF以及Statspack.设计测试场景以及测试脚本数据量设计或加载.测试环境建立和测试过程分析测试脚本设计收集数据和分析结果性能瓶颈参数优化和对比数据库测试工具-AUTOTRACEcommand:setautotrace[on][traceonly][off]…;SQLselect*fromwbxsite;3091rowsselected.ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=4Card=2489Bytes=174230)10TABLEACCESS(FULL)OF'WBXSITE'(Cost=4Card=2489Bytes=174230)Statistics----------------------------------------------------------680recursivecalls0dbblockgets375consistentgets0physicalreads0redosize196696bytessentviaSQL*Nettoclient2765bytesreceivedviaSQL*Netfromclient208SQL*Netroundtripsto/fromclient6sorts(memory)0sorts(disk)3091rowsprocessedSQL/--thedatawasfrombuffercache,butnothardparse.3091rowsselected.ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=4Card=2489Bytes=174230)10TABLEACCESS(FULL)OF'WBXSITE'(Cost=4Card=2489Bytes=174230)Statistics----------------------------------------------------------0recursivecalls0dbblockgets245consistentgets0physicalreads0redosize196696bytessentviaSQL*Nettoclient2765bytesreceivedviaSQL*Netfromclient208SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)3091rowsprocessedSQL数据库测试工具-AUTOTRACEEXPLAINPLANRunningexplainplanandshowoutput:ExplainplanforStatement;@?/rdbms/admin/utlxpls.sql-Showsplantableoutputforserialprocessing@?/rdbms/admin/utlxplp.sql-ShowsplantableoutputwithparallelexecutioncolumnsAnalyzeplanOptimizermodeScanmodeRecursivecallsRedosizes数据库测试工具(Cont’d)数据库测试工具(Cont’d)Statspack1.InstallpackageConnectassysdbaRun@?/rdbms/admin/spcreatesql,tocreateallrequiredtables,packages,userandgrantprivilege.Specify3requiredparameters:userpassword,tablespaceandtemptablespace,itisbettertocreateindependenttablespaceandtemptablespaceforthisschema.2.Usingstatspackconnectasperfstats.EXECUTEstatspack.snap;(afterthisprocessfinished,wecanseeasetofdatahadbeengeneratedtoperfstats.STATS$SYSSTAT,bySNAP_IDmthismeans,systemsnapshothadbeengeneratedbyexecutingthispackage.Anintegersnap_idwillbereturned,wecangetitbySMARTcalling,orfromlatestSNAP_IDfromtableSTATS$SYSSTAT.3.RunningtheStatspackReport
本文标题:基于应用服务器的测试
链接地址:https://www.777doc.com/doc-3279912 .html