资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五-八章非功能性测试本章要点非功能性:性能、安全性、可使用性、兼容性、并发性应在需求阶段就关注非功能性需求不要事后才考虑到非功能性测试关注功能的同时应该考虑非功能,否则会失去客户Web application的性能使用不兼容的第三方控件多用户c/s application的并发性需要考虑的风险(折中考虑):糟糕的性能不兼容性缺乏安全性缺乏可使用性两种文档:系统中所有用例、每条需求用产品级数据库进行性能测试测试应用程序在不同规模数据下的性能,获得应用程序数据处理能力的“上限”开发和测试中使用产品级数据库:避免应用程序成为产品的危机有助于及早暴露问题获得实际数据:客户处推测硬件平台和产品级平台的差异来推测性能(估计两种平台的性能培数)性能测试概括为三个方面应用在客户端性能的测试:是考察客户端应用的性能,测试的入口是客户端。并发性能测试:是重点。 疲劳强度测试、大数据量测试和速度测试等应用在网络上性能的测试网络应用性能监控网络应用性能分析网络预测。应用在服务器端性能的测试。并发性能测试并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试.例如测试一个Web 站点在大量的负荷下,何时系统的响应会退化或失败。针对一个网站进行测试,模拟10到50个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试。如果同时对系统进行大量的数据查询操作,就包含了强度测试。并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。 举例说明:电信计费软件举例说明:电信计费软件众所周知,每月20日左右是市话交费的高峰期,全市几千个收费网点同时启动。收费过程一般分为两步,首先要根据用户提出的电话号码来查询出其当月产生费用,然后收取现金并将此用户修改为已交费状态。一个用户看起来简单的两个步骤,但当成百上千的终端,同时执行这样的操作时,情况就大不一样了,如此众多的交易同时发生,对应用程序本身、操作系统、中心数据库服务器、中间件服务器、网络设备的承受力都是一个严峻的考验。决策者不可能在发生问题后才考虑系统的承受力, 预见软件的并发承受力, 这是在软件测试阶段就应该解决的问题。 并发性能测试的主要指标并发性能测试监控的对象不同,测试的主要指标也不相同,主要的测试指标包括交易处理性能指标和UNIX资源监控。交易处理性能指标包括交易结果、每分钟交易数、交易响应时间(Min:最小服务器响应时间;Mean:平均服务器响应时间;Max:最大服务器响应时间;StdDev:事务处理服务器响应的偏差,值越大,偏差越大;Median:中值响应时间;90:90事务处理的服务器响应时间)、虚拟并发用户数应用实例:“新华社多媒体数据库 V1.0”性能测试性能测试的目的:是模拟多用户并发访问新华社多媒体数据库,执行关键检索业务,分析系统性能。 性能测试的重点:是针对系统并发压力负载较大的主要检索业务,进行并发测试和疲劳测试,系统采用B/S运行模式并发测试设计了特定时间段内分别在中文库、英文库、图片库中进行单检索词、多检索词以及变检索式、混合检索业务等并发测试案例。疲劳测试案例为在中文库中并发用户数200,进行测试周期约8小时的单检索词检索。测试结论在新华社机房测试环境和内网测试环境中,100M带宽情况下,针对规定的各并发测试案例,系统能够承受并发用户数为200的负载压力,最大交易数/分钟达到78.73,运行基本稳定,但随着负载压力增大,系统性能有所衰减。 系统能够承受200并发用户数持续周期约8小时的疲劳压力,基本能够稳定运行。 通过对系统UNIX(Linux)、Oracle和Apache资源的监控,系统资源能够满足上述并发和疲劳性能需求,且系统硬件资源尚有较大利用余地。 当并发用户数超过200时,监控到HTTP 500、connect和超时错误,且Web服务器报内存溢出错误,系统应进一步提高性能,以支持更大并发用户数。 建议进一步优化软件系统,充分利用硬件资源,缩短交易响应时间。 疲劳强度测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量的性能。内容:在系统稳定运行下,模拟最大或者恰当的用户数目,长时间地运行系统,通过分析执行指标和资源监控来分析系统的稳定性.如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。大数据量测试大数据量测试分为两种:-针对某些系统存储、传输、统计查询等业务进行大数据量的测试,可以通过工具完成;-数据库性能测试,可以编写程序和测试工具结合实现;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。速度测试主要是针对关键有速度要求的业务进行手工测速度,可以在多次测试的基础上求平均值,可以和工具测得的响应时间等指标做对比分析。 网络上性能的测试 -网络应用性能分析网络应用性能分析 主要是为了准确展示带宽、延迟、负载和端口的变化是如何影响用户的响应时间的。-测试用户数目与网络带宽的关系。-用例的编写应和用户并发测试结合起来:例如在原有的基础上采用工具来调整网络设置。利用网络应用性能分析工具,例如Application Expert,能够发现应用的瓶颈。可以解决多种问题:客户端是否对数据库服务器运行了不必要的请求?当服务器从客户端接受了一个查询,应用服务器是否花费了不可接受的时间联系数据库服务器?在投产前预测应用的响应时间;利用Application Expert调整应用在广域网上的性能;Application Expert能够让你快速、容易地仿真应用性能,根据最终用户在不同网络配置环境下的响应时间,用户可以根据自己的条件决定应用投产的网络环境。 网络上性能的测试 -网络应用性能监控在系统试运行之后,需要及时准确地了解网络上正在发生什么事情:什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争?利用网络应用性能监控工具,可以达到事半功倍的效果,在这方面我们可以提供的工具是Network Vantage。它主要用来分析关键应用程序的性能,定位问题的根源是在客户端、服务器、应用程序还是网络。在大多数情况下用户较关心的问题还有哪些应用程序占用大量带宽,哪些用户产生了最大的网络流量,这个工具同样能满足要求。 网络上性能的测试 -网络预测网络预测 考虑到系统未来发展的扩展性,预测网络流量的变化、网络结构的变化对用户系统的影响非常重要。利用网络预测分析容量规划工具PREDICTOR可以作到:设置服务水平、完成日网络容量规划、离线测试网络、网络失效和容量极限分析、完成日常故障诊断、预测网络设备迁移和网络设备升级对整个网络的影响。 从网络管理软件获取网络拓扑结构、从现有的流量监控软件获取流量信息(若没有这类软件可人工生成流量数据),这样可以得到现有网络的基本结构。在基本结构的基础上,可根据网络结构的变化、网络流量的变化生成报告和图表,说明这些变化是如何影响网络性能的。 PREDICTOR提供如下信息:根据预测的结果帮助用户及时升级网络,避免因关键设备超过利用阀值导致系统性能下降;哪个网络设备需要升级,这样可减少网络延迟、避免网络瓶颈;根据预测的结果避免不必要的网络升级。 应用在服务器上性能的测试对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令.实施测试的目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监控。LoadRunner of MI 简介轻松创建虚拟用户:负载使用LoadRunner 的Virtual User Generator,您能很简便地创立起系统负载。该引擎能够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。利用虚拟用户,您可以在Windows ,UNIX或Linux 机器上同时产生成千上万个用户访问。创建真实的负载:负载Controller 的Rendezvous 功能提供一个互动的环境,在其中您既能建立起持续且循环的负载,又能管理和驱动负载测试方案。而且,您可以利用它的日程计划服务来定义用户在什么时候访问系统以产生负载。实时监测器:内含集成的实时监测器,在负载测试过程的任何时候,您都可以观察到应用系统的运行性能。这些性能监测器为您实时显示交易性能数据(如响应时间)和其它系统组件包括application server, web server,网路设备和数据库等的实时性能。分析结果以精确定位问题所在:一旦测试完毕后,LoadRunner 收集汇总所有的测试数据,并为您提供高级的分析和报告工具,以便迅速查找到性能问题并追溯原由。使用LoadRunner 的Web 交易细节监测器,您可以了解到将所有的图象、框架和文本下载到每一网页上所需的时间。为预期受众定制可使用性测试可使用性测试目标:验证用户能否和应用程序正确交互,同时感到使用起来明确而方便。确定目标受众的需求:行业专家、专题组、调研、对同类产品研究、观察用户的操作开发用户界面原型开发后期,用户和行业专家应参与测试参考文档:可使用性测试特定需求和整个系统都需要考虑安全性系统级安全需求、每条功能需求的安全问题验证方式:用户界面、灰箱测试特定需求(用户名和密码的加密传输)、分析数据表或者文件全局的安全性考虑:如客户私有数据的加密后放数据库、用SSL加密浏览器和服务器之间传递的数据、验证第三方组件的安全性安全性要求特别高的系统,可以外购安全性测试研究系统对并发性测试计划的实现并发性是指对多个用户试图访问相同数据的处理,处理并发性问题的几种方法:保守方式(加锁)、开放方式(允许读取更新但保存时会检查是否有其他人更新了数据)、没有保护(胜利属于最后一个用户,覆盖)了解项目开发的并发性模型,测试应用程序的并发处理技术,测试人员必须模拟两个用户同时读取、写入数据,测试相同的数据通过不同的界面和功能更新时的情况(一个修改,一个删除)对于不同的并发性模型,测试过程的关注要点:保守方式:主要验证能否正确获得和释放锁锁的获得(模拟两个或者多个用户同时进入编辑状态)锁的效用(一个用户打开记录,同时其他用户试图访问该记录)锁的释放(用户释放锁后,其他用户可以访问数据,此外许注意错误处理,若持有锁的用户遇到错误,系统如何完成操作,锁是否失去了控制)开放方式:主要验证若有人更新了记录,其他人均得到错误消息,通知需要重新更新。没有保护:验证是否所有人的更新均成功,还要关注是否正确地处理了更新错误(例如保存时记录被删除了)为兼容性测试建立高效的环境os.、硬件、软件的组合很多,按照出现频率的高低排序。选择具有代表性的测试用例集合,在开发过程或者发行后,必须不断地更新测试用例。测试测试环境的配置:使用活动硬盘驱动器和分区管理工具、使用驱动器映像程序(symantec ghost)为需要的配置建立映像文件测试中,应用程序在目标配置上的安装方法非常重要,应和最终用户的安装完全相同。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号