软件健壮性测试种类

上传人:公**** 文档编号:508045703 上传时间:2022-09-14 格式:DOCX 页数:16 大小:153.74KB
返回 下载 相关 举报
软件健壮性测试种类_第1页
第1页 / 共16页
软件健壮性测试种类_第2页
第2页 / 共16页
软件健壮性测试种类_第3页
第3页 / 共16页
软件健壮性测试种类_第4页
第4页 / 共16页
软件健壮性测试种类_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件健壮性测试种类》由会员分享,可在线阅读,更多相关《软件健壮性测试种类(16页珍藏版)》请在金锄头文库上搜索。

1、软件健壮性测试种类一、安全测试安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用 各种办法试图突破防线。安全测试-相关举例例如,想方设法截取或破译口令;专门定做软件破坏系统的保护机制;故意导致系统 失败,企图趁恢复之机非法进入;试图通过浏览非保密数据,推导所需信息,等等。理论 上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非 法侵入的代价超过被保护信息的价值。此时非法侵入者已无利可图。二、恢复测试,英文是Recovery testing。恢复测试是测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏 或其他灾难性问题。恢

2、复测试指通过人为的让软件(或者硬件)出现故障来检测系统是否能 正确的恢复,通常关注恢复所需的时间以及恢复的程度。恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误 并重新启动系统。恢复测试首先要采用各种办法强迫系统失败,然后验证系统是否能尽快恢 复。对于自动恢复需验证重新初始化(rei ni tializatio n)、检查点(checkpoi nting mecha ni sms)、 数据恢复(data recovery)和重新启动(restart)等机制的正确性;对于人工干预的恢复系统, 还需估测平均修复时间,确定其是否在可接受的范围内。三、性能测试性能测试图线性能

3、测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性 能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试, 确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变 化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的 最大服务级别的测试。制定目标和分析系统选择测试度量的方法学习的相关技术和工具制定评估标准设计测试用例 运行测试用例 分析测试结果 性能测试方法 基准测试 性能规划测试 渗入测试 峰谷测试 性能测试工具介绍 结束语 测试类型 分析与调优基本原则 展开性能测试在软件的质量保证中

4、起着重要的作用,它包括的测试内容丰富多样。中国软件评测 中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应 用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全 面的分析和瓶颈的预测。应用在客户端性能的测试应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括 并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能性能测试图像测试是重点。并发性能测试是重点并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈 或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确

5、定系统并发性能的 过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载 逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用 等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用, 从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或 者不能接收的性能点,来获得系统能提供的最大服务级别的测试。并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的 业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序 将

6、要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未 来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整 应用,目的在于寻找到瓶颈问题。当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产 环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问? 这类问题最常见于采用联机事务处理(OLTP)方式数据库应用、Web浏览和视频点播等系统。 这种问题的解决要借助于科学的软件测试手段和先进的测试工具。举例说明:电信计费软件众所周知,每月20日左右是市话交费的高峰期,全市几千个收费网点同时启动。

7、收费过程 一般分为两步,首先要根据用户提出的电话号码来查询出其当月产生费用,然后收取现金并 将此用户修改为已交费状态。一个用户看起来简单的两个步骤,但当成百上千的终端,同时 执行这样的操作时,情况就大不一样了,如此众多的交易同时发生,对应用程序本身、操作 系统、中心数据库服务器、中间件服务器、网络设备的承受力都是一个严峻的考验。决策者 不可能在发生问题后才考虑系统的承受力,预见软件的并发承受力,这是在软件测试阶段就 应该解决的问题。目前,大多数公司企业需要支持成百上千名用户,各类应用环境以及由不同供性能测试图像应商提供的元件组装起来的复杂产品,难以预知的用户负载和愈来愈复杂的应用程序,使公 司

8、担忧会发生投放性能差、用户遭受反应慢、系统失灵等问题。其结果就是导致公司收益的 损失。如何模拟实际情况呢?找若干台电脑和同样数目的操作人员在同一时刻进行操作,然后拿秒 表记录下反应时间?这样的手工作坊式的测试方法不切实际,且无法捕捉程序内部变化情 况,这样就需要压力测试工具的辅助。测试的基本策略是自动负载测试,通过在一台或几台PC机上模拟成百或上千的虚拟用户同 时执行业务的情景,对应用程序进行测试,同时记录下每一事务处理的时间、中间件服务器 峰值数据、数据库状态等。通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性 能,确定问题所在以及优化系统性能。预先知道了系统的承受力,就为最终用户规

9、划整个运 行环境的配置提供了有力的依据。并发性能测试前的准备工作测试环境:配置测试环境是测试实施的一个重要阶段,测试环境的适合与否会严重影响测试 结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、 客户端、网络连接设备以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测 软件运行时的操作系统、数据库及其他应用软件构成的环境。一个充分准备好的测试环境有三个优点:一个稳定、可重复的测试环境,能够保证测试结果 的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。 测试工具:并发性能测试是在客户端执行的黑盒测试,一般不采用手工方式,

10、而是利用工具 采用自动化方式进行。目前,成熟的并发性能测试工具有很多,选择的依据主要是测试需求 和性能价格比。著名的并发性能测试工具有QALoad、LoadRunner、Benchmark Factory和 Webstress等。这些测试工具都是自动化负载测试工具,通过可重复的、真实的测试,能够 彻底地度量应用的可扩展性和性能,可以在整个开发生命周期、跨越多种平台、自动执行测 试任务,可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试。测试数据:在初始的测试环境中需要输入一些适当的测试数据,目的是识别数据状态并且验 证用于测试的测试案例,在正式的测试开始以前对测试案例进行调试,将正式

11、测试开始时的 错误降到最低。在测试进行到关键过程环节时,非常有必要进行数据状态的备份。制造初始 数据意味着将合适的数据存储下来,需要的时候恢复它,初始数据提供了一个基线用来评估 测试执行的结果。在测试正式执行时,还需要准备业务测试数据,比如测试并发查询业务,那么要求对应的数 据库和表中有相当的数据量以及数据的种类应能覆盖全部业务。模拟真实环境测试,有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真 实环境中的表现。如测试杀毒软件的扫描速度时,硬盘上布置的不同类型文件的比例要尽量 接近真实环境,这样测试出来的数据才有实际意义。并发性能测试的种类与指标并发性能测试的种类取决于并发性能测

12、试工具监控的对象,以QALoad自动化负载测试工具 为例。软件针对各种测试目标提供了DB2、DCOM、ODBC、ORACLE、NETLoad、Corba、 QARun、SAP、SQLServer、Sybase、Telnet、TUXEDO、UNIFACE、WinSock、WWW、Java Script等不同的监控对象,支持Windows和UNIX测试环境。最关键的仍然是测试过程中对监控对象的灵活应用,例如目前三层结构的运行模式广泛使 用,对中间件的并发性能测试作为问题被提到议事日程上来,许多系统都采用了国产中间件, 选择Java Script监控对象,手工编写脚本,可以达到测试目的。采用自动化负

13、载测试工具执行的并发性能测试,基本遵循的测试过程有:测试需求与测试内 容,测试案例制定,测试环境准备,测试脚本录制、编写与调试,脚本分配、回放配置性能测试图像与加载策略,测试执行跟踪,结果分析与定位问题所在,测试报告与测试评估。并发性能测试监控的对象不同,测试的主要指标也不相同,主要的测试指标包括交易处理性 能指标和UNIX资源监控。其中,交易处理性能指标包括交易结果、每分钟交易数、交易响 应时间(Min:最小服务器响应时间;Mean:平均服务器响应时间;Max:最大服务器响应 时间;StdDev:事务处理服务器响应的偏差,值越大,偏差越大;Median:中值响应时间; 90%: 90%事务处

14、理的服务器响应时间)、虚拟并发用户数。应用实例:“新华社多媒体数据库V1.0”性能测试中国软件评测中心(CSTC)根据新华社技术局提出的多媒体数据库(一期)性能测试需 求和GB/T 17544软件包质量要求和测试的国家标准,使用工业标准级负载测试工具 对新华社使用的“新华社多媒体数据库V1.0”进行了性能测试。性能测试的目的是模拟多用户并发访问新华社多媒体数据库,执行关键检索业务,分析系统 性能。性能测试的重点是针对系统并发压力负载较大的主要检索业务,进行并发测试和疲劳测试, 系统采用B/S运行模式。并发测试设计了特定时间段内分别在中文库、英文库、图片库中进 行单检索词、多检索词以及变检索式、

15、混合检索业务等并发测试案例。疲劳测试案例为在中 文库中并发用户数200,进行测试周期约8小时的单检索词检索。在进行并发和疲劳测试的 同时,监测的测试指标包括交易处理性能以及UNIX (Linux)、Oracle、Apache资源等。 测试结论:在新华社机房测试环境和内网测试环境中,100M带宽情况下,针对规定的各并 发测试案例,系统能够承受并发用户数为200的负载压力,最大交易数/分钟达到78.73,运 行基本稳定,但随着负载压力增大,系统性能有所衰减。系统能够承受200并发用户数持续周期约8小时的疲劳压力,基本能够稳定运行。通过对系统UNIX (Linux)、Oracle和Apache资源的

16、监控,系统资源能够满足上述并发和 疲劳性能需求,且系统硬件资源尚有较大利用余地。当并发用户数超过200时,监控到HTTP 500、connect和超时错误,且Web服务器报内存 溢出错误,系统应进一步提高性能,以支持更大并发用户数。建议进一步优化软件系统,充分利用硬件资源,缩短交易响应时间。疲劳强度与大数据量测试疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务, 通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。 疲劳强度测试可以采用工具自动化的方式进行测试,也可以手性能测试图像工编写程序测试,其中后者占的比例较大。一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获 取交易执行指标数据和系统资源监控数据。如出现错误导致测试不

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

当前位置:首页 > 学术论文 > 其它学术论文

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