软件测试方法和技术PPT文档格式.ppt
《软件测试方法和技术PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《软件测试方法和技术PPT文档格式.ppt(66页珍藏版)》请在冰豆网上搜索。
p序列为空;
p序列仅有一个数据;
p序列为满,用猜错法补充一下测试用例;
p序列已经按要求排好序;
p序列的顺序与要求的顺序恰好相反;
p序列中的所有数据全部相等。
因为错误最容易发生在边界值附近,所以边界值分析法对于多变量函数的测试很有效,尤其是对于像C/C+数据类型要求不是很严格的语言有利。
错误推测法错误推测法这个错误到底在哪?
这个错误到底在哪?
因果图法因果图法组合分析法组合分析法组合分析是一种基于每对参数组合的测试技术,主要考虑参数之间的影响是主要的错误来源和大多数的错误起源于简单的参数组合。
在产品汉化过程在产品汉化过程中哪个组合出错中哪个组合出错了?
了?
3系统测试系统测试p压力测试压力测试(Stresstest)p容量测试容量测试(Capacitytest)p性能测试性能测试(Performancetest)p安全测试安全测试(Securitytest)p容错测试容错测试(Recoverytest)回归测试的目的回归测试的目的p所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;
p不影响软件原有功能的正确性。
回归测试的方法回归测试的方法p再测试全部用例p基于风险选择测试p基于操作剖面选择测试p再测试修改的部分回归测试回归测试回归测试回归测试4性能测试性能测试性能测试通常会使用特定的测试工具,来模拟超常的数据量、负载等,性能测试通常会使用特定的测试工具,来模拟超常的数据量、负载等,监测系统的各项性能指标,如监测系统的各项性能指标,如CPUCPU和内存的使用情况、响应时间、反应和内存的使用情况、响应时间、反应速度等。
速度等。
一定要设法破坏一定要设法破坏它它!
性能测试概念和目的性能测试概念和目的性能测试的目的:
性能测试的目的:
为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。
性能测试指标的来源:
用户对各项指标提出的明确需求;
如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。
(需求+经验)主要的性能指标:
主要的性能指标:
服务器的各项指标(CPU、内存占用率等)、后台数据库的各项指标、网络流量、响应时间性能测试要点性能测试要点p测试环境应尽量与产品运行环境保持一致,应单独运行尽量避免与其他软件同时使用。
p性能测试一般使用测试工具和测试人员编制测试脚本来完成。
p性能测试的重点在于前期数据的设计与后期数据的分析。
p性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不大,所以做性能测试的重复使用率一般比较高。
性能测试的方法和技巧性能测试的方法和技巧两种负载类型两种负载类型“flat”测试ramp-up测试对于企业级的系统,性能测试的方法主要有:
性能规划测试渗入测试峰谷测试两种负载类型两种负载类型“FlatFlat”测试测试:
对于一次给定的测试,应该取响应时间和吞吐量的平均值。
精确地获得这些值的唯一方法是一次一次加载所有的用户加载所有的用户,然后在预定的时时间段内持续间段内持续运行。
虚拟用户的数量虚拟用户的数量两种负载类型两种负载类型Ramp-upRamp-up测试测试:
用户是交错上升的(每几秒增加一些新用户)。
ramp-up测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在不断地变化。
其优点是,可以看出随着系统负载的改变,测量值是如何改变的据此选择要运行的flat测试的范围。
性能规划测试性能规划测试性能规划类型的测试其目标是找出在特定的环境下,给定应用程序的性能可以达到何种程度。
例如,如果要以5秒或更少的响应时间支持8,000个当前用户,需要多少个服务器?
要确定系统的容量,需要考虑几个因素:
用户中有多少是并发与服务器通信的。
每个用户的请求间时间间隔是多少。
如何加载用户以模拟负载状态?
最好的方法是模拟高峰时间用户与服务器通信的状况。
如果用户负载状态是在一段时间内逐步达到的,选择ramp-up测试,每隔几秒增加x个用户;
如果所有用户是在一个非常短的时间内同时与系统通信,就应该使用flat测试,将所有的用户同时加载到服务器什么是确定容量的最好方法?
什么是确定容量的最好方法?
结合两种负载类型的优点,并运行一系列的测试如:
首先使用ramp-up测试确定系统支持的用户范围该范围内不同的并发用户负载进行一系列的flat测试,更精确地确定系统的容量。
性能规划测试性能规划测试
(2)渗入测试渗入测试渗入测试是一种比较简单的性能测试。
渗入测试所需时间较长,它使用固定数目的并发用户测试系统的总体健壮性。
这些测试将会通过内存泄漏、增加的垃圾收集(GC)或系统的其他问题,显示因长时间运行而出现的任何性能降低。
建议运行两次测试一次使用较低的用户负载(要在系统容量之下,以便不会出现执行队列),一次使用较高的负载(以便出现积极的执行队列)。
峰谷测试峰谷测试兼有容量规划ramp-up测试和渗入测试的特征,目标是确定从高负载(例如系统高峰时间的负载)恢复、转为几乎空闲、然后再攀升到高负载、再降低的能力。
性能测试的过程性能测试的过程评估系估系统制定制定测试资产执行基行基线&
基准基准测试分析分析结果果验证需求需求完完成成调试系系统识别探索性探索性测试非决定性非决定性结果果不符合不符合标准准调试之后重新之后重新进行基准行基准测试开开发探索探索性的性的测试符合所符合所有的有的标准准故障转移测试故障转移测试FailoverFailover测试测试:
故障转移故障转移(Failover)(Failover)和故障恢复和故障恢复(Failback).(Failback).服务器的服务器的FailoverFailover测试的目的测试的目的:
检查系统是否具备某种灾难性恢复的手段.当系统局部或全部出错时,能否在指定时间内修正错误.具有良好故障恢复的系统,当遇到软件原因或无法克服的自然原因时,能够进行故障的转移与恢复.使用户最低限度的感受到故障的发生在服务器的在服务器的Failover测试中测试中,将包括多种情况将包括多种情况,如如:
客户机或服务器掉电;
客户机与服务器网络中断;
服务器相关的程序CRASH;
系统中全部或部分CORESERVER出现掉电/网络中断情况.Failover测试的方法和技巧测试的方法和技巧p将测试系统全部对象描绘出来-系统结构图p对图中的所有可能发生的故障点设计测试用例.5压力测试压力测试在一种需要反常(如长时间的峰值)数量、频率或资源的方式下,执行可重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈找出性能瓶颈。
从本质上来说,测试者是想要破坏程序。
步骤:
测试压力估算测试压力估算测试环境准备测试环境准备问题的分析问题的分析累积效应累积效应压力测试例图压力测试例图试试这个游戏站点的承受力试试这个游戏站点的承受力压力测试类型压力测试类型并发性能测试(重点)并发性能测试(重点)疲劳强度测试疲劳强度测试大数据量测试大数据量测试并发性能测试并发性能测试考察客户端应用的性能,测试的入口是客户端并发性能测试的过程,是一个负载测试和压力测试的过程。
即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。
并发性能测试是负载压力测试中的重要内容。
ramp-upramp-up测试测试疲劳强度测试疲劳强度测试通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
疲劳强度测试案例制定的原则是保证系统长期不间断运行的业务量,并且应该尽量去满足该条件。
大数据量测试大数据量测试独立的数据量测试独立的数据量测试针对某些系统存储、传输、统计、查询等业务进行大数据量测试综合数据量测试综合数据量测试和压力性能测试、负载性能测试、并发性能测试、疲劳性能测试相结合的综合测试方案系统瓶颈分析举例系统瓶颈分析举例-1交易的响应时间交易的响应时间如果很长,远远超过系统性能需求,表示耗费CPU的数据库操作,例如排序,执行aggregatefunctions(例如sum、min、max、count)等较多,可考虑是否有索引以及索引建立的是否合理;
尽量使用简单的表联接;
水平分割大表格等方法来降低该值。
系统瓶颈分析举例系统瓶颈分析举例-2UNIX资源监控(NT操作系统同理)中指标内存页交换速率内存页交换速率(Pagingrate),如果该值偶尔走高,表明当时有线程竞争内存。
如果持续很高,则内存可能是瓶颈。
也可能是内存访问命中率低。
“Swapinrate”和“Swapoutrate”也有类似的解释。
系统瓶颈分析举例系统瓶颈分析举例-3UNIX资源监控(NT操作系统同理)中指标CPU占用率占用率(CPUutilization),如果该值持续超过95%,表明瓶颈是CPU。
可以考虑增加一个处理器或换一个更快的处理器。
合理使用的范围在60%至70%。
系统瓶颈分析举例系统瓶颈分析举例-4UNIX资源监控(NT操作系统同理)中指标磁盘交换率磁盘交换率(Diskrate),如果该参数值一直很高,表明I/O有问题。
可考虑更换更快的硬盘系统、重新部署业务逻辑等,另外设置TempdbinRAM,减低maxasyncIO,maxlazywriterIO等措施都会降低该值。
6安全性测试,可靠性和容错性测试安全性测试,可靠性和容错性测试安全性测试、可靠性测试和容错性测试的测试目的不同,其手段和方法也不同,但都属于系统测试的范畴,有一定的联系,如软件可靠性要求通常包括了安全性的软件可靠性要求通常包括了安全性的要求要求。
安全性测试、可靠性测试和容错性测试的技术比较深、实施比较难,但在应用系统中越来越重要。
安全性测试安全性测试根据根据CMMI3的定义,安全性是的定义,安全性是“使伤害或损害的风险使伤害或损害的风险限制在可接受的水平内限制在可接受的水平内”。
安全性测试安全性测试安全性测试是检查系统对非法侵入的防范能力。
安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。
例如:
p想方设