性能测试流程介绍
性能测试什么时候开始:
一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取、环境申请等。
一、制定性能测试目标
在特定的并发用户数下测试特定场景的响应时间
在一定的响应时间的要求下来测试特定场景的最大并发用户数
测试特定场景的TPS
1、线上系统
对线上系统的日志进行分析以获取到这个系统每个功能的访问情况、最大的并发用户量、平均/最大/最小响应时间。然后通过每日的增长趋势来确定最大的并发用户数、响应时间参考日志分析的结果,即与平均响应时间相当。
2、全新项目
开发过程相关文档
项目开发计划书、需求规格说明书、设计说明书等文档都可能涉及性能测试的要求。通过收集这些材料,可以找到初步的性能需求。但这些性能测试需求往往不够准确,需要性能测试人员进行专业的引导。
类似项目
公司的其他产品或以往项目会累积出一些数据,可以作为参考。
用户使用模型
分析用户使用模型是获取性能测试需求的有效手段,考虑哪些用户使用系统的哪些典
型的业务,在什么时段有多少用户进行了什么功能的操作。例如:某OA系统每天早上
8:00会有200个用户在10分钟内登录系统;每天查询交易的高峰是在9:00~11:00和下
午的14:00~16:00等,然后根据这个用户使用模型并结合80/20原则计算OA系统的登
录以及交易查询业务的并发量。
80/20原则
80/20原理就是系统在每个工作日有80%的业务是在20%的时间内集中完成,或者
系统80%的用户会在20%的时间内集中进行应用操作。下面我们来举两个例子说明:(1)某网站每日的总访问人数为10万,其中浏览单品页占30%,搜索业务占20%,登录+购买业务占50%。采用80~20原则,8小时的20%作为基准时间,计算各个业务
的并发数。
搜索业务:(100000*20%*80%)/(8*3600*20%)=2.78取整为3
浏览单品页:(100000*30%*80%)/(8*3600*20%)=4.17取整为5
登录+购买:(100000*50%*80%)/(8*3600*20%)=6.94取整为7
(2)系统每年的业务集中在8个月完成,每个月平均有20个工作日,每个工作日8小时,按照80/20原则,即每天80%的业务在1.6小时完成。去年全年处理业务约100
万笔,其中15%的业务处理中每笔业务需对应用服务器提交7次请求,其中70%的业务
处理中每笔业务需对应用服务器提交5次请求,剩余15%的业务处理中每笔业务需对应用服务器提交3次请求。根据以往的统计结果,每年的业务增长量为15%,考虑到今后3年的业务发展需要,测试需按现有业务量的两倍进行请求数来计算系统应该达到的TPS。
每年的总请求数=(100万*15%*7+100万*70%*5+100万*15%*3)*2=1000万
TPS=(10000000*80%)/(8*20*8*3600*20%)=8.68,取整即TPS=9
响应时间标准
2秒以内,用户感受良好
2~5秒,用户觉得可以接受
5~10秒,用户会觉得很烦躁,无法接收,会频繁刷新页面
10秒以上,用户完全无法接收,直接离开
二、性能测试场景获取
1、线上系统
单场景:
根据对线上系统的日志分析结果,访问量排在前面的功能、本次改动的以及可能会影响到的功能、和钱有关的功能。为保险起见最好再和开发确认一下会影响到的功能。
混合场景:
还是根据线上系统的日志分析结果,得到系统级别的最大并发数,再根据每日的增长趋势做一个增量从而得到最终的最大并发数。然后根据日志分析结果中的各个重要功能的占比数来进行用户分配。
稳定性场景:
确定好单场景和混合场景后,还应该考虑稳定性场景。其目的是测试系统是否有内存泄漏现象发生,同时也可以测试系统的平均无故障时间。所以,可以用混合场景做长时间的稳定性测试。
2、全新项目
单场景:
重要、核心的功能
常用功能
业务流程复杂的功能
资源占用严重的功能(比如多表查询或向多张表中插入数据)
混合场景:
根据一定的比例把所有重要的功能都加入混合场景
稳定性场景:
可以考虑用混合场景做长时间的稳定性测试。
三、性能测试数据确定
性能测试中很重要的一点就是场景数据的设计。比如一个数据查询场景,如果该场景对应的数据库表只有10条数据,那么查询结果肯定相对较快。但是,如果这个查询场景对应的数据库表有1000万条数据,那么查询结果肯定会比只有10条数据的查询结果要慢
一些。如果性能测试不考虑数据量,那么性能测试的结果是不准确的,上线后由于未考虑
数据量的因素而引发的性能问题几率会很大。
对于线上系统来说,各表的数据量可以根据线上系统的各表数据量以及增量来确定。
而新系统需要根据开发文档以及和相关项目干系人(如:客户代表、项目经理、需求分析员、系统架构师以及产品经理一起调研和讨论来决定)
四、性能测试用例设计
1、单场景
场景描述:模拟用户进行登录操作
并发量:分别模拟并发用户数为1、10、50三种情况进行测试
压测时间:每次15分钟
数据量:MySQL的user表中有70万账户
集合点:不使用集合点
重点关注指标:响应时间、事物成功率、应用服务器资源使用情况(CPU、内存、IO)、MySQL数据库资源使用情况(CPU、内存、IO)、应用日志是否有死锁等错误、数据库日志是否有死锁等错误、JVM内存使用情况和GC情况
预期指标:响应时间在2秒内、事物成功率为100%、应用服务器和数据库服务器CPU使用率≤60%、没有内存泄漏、数据库死锁、线程死锁等现象
2、混合场景
混合场景不是把所有的测试场景糅合在一起形成一个大的场景,而应该先考虑不同的
混合场景组合,如数据库查询操作的混合场景、数据库写操作的混合场景、数据库查询与
写操作都包含的大混合场景。如下:
场景描述:模拟系统不用用户进行数据库读写操作的混合场景,场景包括用户登录、
广告词默认查询、新建广告组、广告词默认创建、广告审核、广告生效、广告词按价格排序。
并发量:总共模拟300个用户同时操作,其中登录操作占比20%、广告词默认查询
占比25%、新建广告组占比15%、广告词默认创建8%、广告审核10%、广告生效15%、广告词按价格排序7%
压测时间:每次15分钟
数据量:MySQL的cpc表有150万条数据、plan表有10万条数据、group表有
50万条数据、audit表有100万条数据,MongoDB的report表有1TB数据、user表
有90万条数据。
集合点:不使用集合点
重点关注指标:响应时间、事物成功率、应用服务器资源使用情况(CPU、内存、IO)、MySQL数据库资源使用情况(CPU、内存、IO)、应用日志是否有死锁等错误、数据库日志是否有死锁等错误、JVM内存使用情况和GC情况
预期指标:登录、广告词默认查询、新建广告组等操作响应时间在2秒内,广告词默认创建、广告审核、广告生效、广告词按价格排序等操作响应时间在3秒内,事物成功率
为100%、应用服务器和数据库服务器CPU使用率≤60%、没有内存泄漏、数据库死锁、线程死锁等现象
3、稳定性场景
场景描述:模拟系统不用用户进行数据库读写操作的混合场景,场景包括用户登录、
广告词默认查询、新建广告组、广告词默认创建、广告审核、广告生效、广告词按价格排序。
并发量:总共模拟300个用户同时操作,其中登录操作占比20%、广告词默认查询
占比25%、新建广告组占比15%、广告词默认创建8%、广告审核10%、广告生效15%、广告词按价格排序7%
压测时间:持续2*24小时
数据量:MySQL的cpc表有150万条数据、plan表有10万条数据、group表有
50万条数据、audit表有100万条数据,MongoDB的report表有1TB数据、user表
有90万条数据。
集合点:不使用集合点
重点关注指标:JVM内存使用情况和GC情况
预期指标:无内存泄漏现象或迹象发生
五、性能测试环境准备与搭建
性能测试环境包括软件环境、硬件环境和网络环境。这三大环境不仅是指应用服务器
环境,还包括数据库服务器、缓存服务器、文件服务器以及其他中间应用服务器环境。
硬件环境包括:CPU、内存、磁盘等基本因素。
软件环境包括:操作系统版本号、配置,Linux磁盘分区、JDK版本、位数、厂商,中间件版本号、位数,数据库版本号、位数,以及这些软件的安装路径也最好与线上环境一致。配置文件包括JVM配置、中间件配置、数据库配置文件等。
网络环境包括:网络协议及网络带宽。
集群环境包括:应用相关服务器的负载均衡环境、数据库的热备或主从环境、集群环境等。
申请线下仿真测试环境的时候,应遵循以下原则:
(1)硬件环境尽可能地保持与生产环境一致
(2)如果是集群环境,测试环境就不可能申请到那么多台服务器,那么可以考虑申请3台与线上生产环境一致的机器来作为线下的性能测试机器。在性能测试的过程中,可以分别测试单机、双机和三机负载均衡时候的性能表现,然后根据3种情况下性能表现计算出线上生产环境(比如说100台)进行负载均衡时的性能损耗率,从而较为真实的计算出线上100台机器进行负载均衡时候的性能指标。
(3)如果数据库集群环境太庞大,比如数据库是8组32台,那么线下测试不会申请32台机器进行性能测试。一般这种情况只会申请一组数据库(一主三从)作为性能测试的数据库即可。因为大型数据库的集群基本都是采用拆库分表策略,所以会导致数据库集群庞大。申请一组数据库机器就可以开展性能测试,只需要保证性能测试所用的用户数据都落在申请的这组数据库即可。
(4)如果实在无法保证硬件环境与线上一致,那么只能按照低配置环境进行测试,如果低配置环境测出的结果能满足线上要求,那么线上高配置环境肯定也能满足既定的性能要求。如果无法满足,则不建议做建模估算,因为如果CPU颗粒数、高速缓存、物理内存大小、磁盘转速不同,性能建模得出的性能结果也不够准确。如果在低配置的机器测试达不到要求,则要在测试报告中写明测试环境,并说明不能保证因为测试环境的提升而达到要求。
Mock Server准备:
在互联网行业叫Mock Server,在银行等金融行业叫做性能测试挡板。有时候系统的业务联调需要调用到其他系统的接口,但是其他系统的开发并未完成。对于这种情况,常见的解决方案是搭建一个临时的server,模拟那些服务,提供数据进行联调和测试。Mock Server的使用通常会带来以下好处:
(1)隔绝由其他模块或系统出错引起的本模块的测试错误。
(2)隔绝其他模块的开发状态,只要定义好接口,不用管开发有没有完成。
(3)一些速度较慢的操作,可以用Mock Object代替,快速返回。
六、做脚本
这里就不做详细描述。
七、跑场景
根据测试用例来跑测试场景。
八、做监控
在性能测试的过程中,先用命令来监控,发现有问题再连上工具进行监控。
九、分析调优
每一个调优后,配置信息及测试结果都需要详细的记录下来。
十、回归测试
回归测试后,全部的目标达成后编写性能测试报告并发送给项目组成员。
十一、出图写报告
1、测试目标
哪些场景、并发用户数、响应时间、TPS
2、测试结论
通过/不通过
3、本次测试的优化
某某场景:开始测试的时候TPS为5,优化后TPS达到30,发现了什么问题,怎么解决的。
4、优化改动项
代码
JVM
数据库
中间件
Linux服务器
5、具体测试情况系统架构
测试环境
测试方法
测试结果
6、后续优化建议
性能测试流程 性能测试流程全景图 性能测试的工作可以分为三大部分: 一、前期准备阶段 二、执行和调优阶段 三、总结阶段 前期准备阶段工作: 性能需求调研: 客户能接受的响应时间,每日单交易处理能力,系统资源利用率,系统环境搭建方式、并发用户数、日交易数量等。 确定业务模型: 根据需求调研,分析哪些交易是每日需要处理使用的功能,哪些交易是月底或者年底需要批量处理,来划分测试交易的等级。 确定测试方案: 测试方案的目的是确定此次系统测试的目的,定义一个性能测试的入口准则,出口准则,并确定测试的交易业务模型、业务指标、测试模型、测试指标,以及发起测试的测试策略、执行策略、监控分析策略、以及测试内容、测试环境、工具、数据、脚本的准备、测试风险策略等。 确定测试计划:
制定测试计划的目的是为了约束测试各个活动的起止时间,为性能测试的准备、执行、分析与报告、总结等环节给出合理时间估算。 建立测试环境: 建立测试环境主要是在需求调研后根据实际上线系统环境的网络拓扑结构搭建模拟测试环境,准备测试数据等。 准备测试工具、脚本及测试数据: 根据分析系统架构模式对自动化测试工具选型、对脚本的录制调试以及测试系统存量数据的准备。 准备测试监控工具: 在性能测试的开始前,需要配置完成监控工具,用于监控每个虚拟用户的状态,及时采集交易的响应时间、吞吐量,以及各主机的CPU、I/O和内存等硬件资源利用率信息。 测试环境预热: 环境预热就是在环境搭建完成后录制调试完脚本对录制好的脚本都执行一次,因为一些程序在服务器重启时期需要编译。 各个服务器参数化调整:
环境搭建好后根据硬件配置,软件配置对系统各个环境进行系统参数调整、WEB服务器参数调整、应用服务器参数调整、数据库服务器参数调整,并将调整好的参数进行备份。 (此处加入各环节参数配置建议值,并以此建立环境参数基线) 性能测试执行阶段 执行测试: 执行测试包括以下六个部分:单交易基准测试、单交易负载测试、混合场景测试、稳定性测试、异常测试、极限测试。 单交易基准测试: 测试原理:在测试环境经过确认,脚本预验证之后,针对每支选定的交易或操作,在系统无压力的情况下,单交易用户迭代若干次,获取每个交易或操作的平均响应时间,以此作为多用户并发测试的基准和参考。 测试方法:使用性能测试工具LR模拟客户端向目标系统发送交易请求,在系统无压力的情况下重复50-100次(或10分钟),每次迭代间等待1秒,获取交易的平均响应时间、TPS、点击率作为衡量指标。 单交易负载测试: 测试原理:在完成单交易基准测试后,针对测试模型中的每一支交易或每一个操作,采用多个(5-10,是具体情况而定)虚拟用户数进行负载测试,获取业务处理性能和系统资源利用率等数据,并验证交易是否存在并发性问题。 测试方法:实用LR模拟客户端向目标用户发送业务请求,并接受返回结果的脚本。采用梯度发送的方式逐步增加系统请求的压力,每个梯度测试持续运行10-15分钟并记录测试相关数据,获取该交易最大处理能力,同时进行资源监控,问题定位测试结果分析。 混合场景: 测试原理:在既定的测试模型下,在给定的测试限制条件下,通过在被测试系统上逐步增加的并发用户数,梯度增加压力,获得系统响应时间、吞吐量、CPU和内存的使用等性能数据。确定在各种工作负载下系统的性能指标,直到突破限定条件。获取在不同压力下的性能表现,以及交易的TPS、响应时间、系统资源利用率等指标数据。经过测试分析获取应用系统在该测试环境下的最大处理能力。
性能测试培训(一) ——基础知识 1.软件性能测试的概念 1.1软件性能与性能测试 软件性能:覆盖面广泛,对一个系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。 性能测试:为保证系统运行后的性能能够满足用户需求,而开展的一系列的测试组织工作。 1.2不同角色对软件性能的认识 用户眼中的软件性能: ?软件对用户操作的响应时间 如用户提交一个查询操作或打开一个web页面的链接等。 ?业务可用度,或者系统的服务水平如何 管理员眼中的软件性能:
开发人员眼中的软件性能: 1.3性能测试的对象 服务器端: ?负载均衡系统; ?服务器(单机、双机热备、集群); ?存储系统、灾备中心; ?数据库、中间件。 网络端: ?核心交换设备、路由设备; ?广域网络、专线网络、局域网络、拨号网络等; 应用系统: 由此可见,性能测试是一个系统性的工作,被测对象包括系统运行时使用的所有软硬件。但在实际操作时,将根据项目的特点,选择特定的被测对象。 1.4性能测试的目标 评价系统当前的性能:
?系统刚上线使用,即处于试运行时,用户需要确定当前系 统是否满足验收要求; ?系统已经运行一段时间,如何保证一直具有良好的性能。分析系统瓶颈、优化系统: ?用户提出业务操作响应时间长,如何定位问题,调整性能; ?系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优 化性能。 预见系统未来性能、容量可扩充性: ?系统用户数增加或业务量增加时,当前系统是否能够满足 需求,如果不能,需要进行哪些调整?提高硬件配置?增 加应用服务器?提高数据库服务器的配置?或者是需要对 代码进行调整? 1.5性能测试的分类 按照测试压力级别: ?负载测试; ?压力测试; 按照测试实施目标: ?应用在客户端的测试; ?应用在网络的测试; ?应用在服务器端的测试; 按照测试实施策略:
Xxx系统性能测试报告 拟制:****日期:****审核:日期: 批准:日期:
1.概述 1.1.编写目的 本次测试报告为xxx系统的性能测试总结报告,目的在于总结性能测试工作,并分析测试结果,描述系统是否符合xxx系统的性能需求。 预期参考人员包括用户、测试人员、开发人员、项目管理者、质量管理人员和需要阅读本报告的高层经理。 1.2.项目背景 腾讯公司为员工提供一个网上查询班车的入口,分析出哪些路线/站点比较紧张或宽松,以进行一些合理调配。 1.3.测试目标 (简要列出进行本次压力测试的主要目标)完善班车管理系统,满足腾讯内部员工的班车查询需求,满足500个用户并发访问本系统。 1.4.名词解释 测试时间:一轮测试从开始到结束所使用的时间 并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。 平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 处理能力:在某一特定环境下,系统处理请求的速度。 cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。 用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一天的工作时间来统计。
XXX系统--版本号XXX 性能测试方案 XXX有限公司 XXXX年XX月XX日 修订历史记录
目录 1简介 (1) 1.1目的和软件说明 (1) 1.2内容摘要 (1) 1.3适用对象 (1) 1.4术语和缩略语 (1) 1.5参考文档 (1) 2系统概述 (2) 2.1项目背景 (2) 2.2系统架构 (3) 2.2.1架构概述 (3) 2.2.2运行环境 (3) 2.2.3处理流程 (4) 2.3技术方案设计 (4) 3测试目标 (5) 4测试范围 (6)
4.1测试对象 (6) 4.2需要测试的特性 (6) 4.3不需要测试的特性 (7) 5 4. 测试启动/结束/暂停/再启动准则 (8) 5.1启动准则 (8) 5.2结束准则 (8) 5.3暂停准则 (8) 5.4再启动准则 (9) 6测试人员 (10) 7测试时间 (11) 8测试环境 (12) 8.1系统架构图 (12) 8.2测试环境逻辑架构图 (12) 8.3测试环境物理架构图 (12) 8.4环境配置列表 (12) 8.4.1生产环境 (12)
8.4.2测试环境 (13) 8.4.3环境差异分析 (13) 8.4.4测试客户机 (14) 8.5测试工具 (14) 9测试策略 (15) 10测试场景设计 (16) 10.1总体设计思路 (16) 10.2业务模型 (16) 10.3测试场景设计 (17) 10.3.1......................................... 单交易负载测试 17 10.3.2....................................... 混合交易负载测试 18 10.3.3............................................. 稳定性测试 18 10.3.4...................................... 有/无缓存比对测试 19 10.3.5....................................... 网络带宽模拟测试 19 11测试实施准备.. (21) 11.1................................................. 测试环境准备 21
目录 1前言 (2) 1.1 文档目的 (2) 1.2 适用对象 (2) 2性能测试目的 (2) 3性能测试所处的位置及相关人员 (3) 3.1 性能测试所处的位置及其基本流程 (3) 3.2 性能测试工作内容 (4) 3.3 性能测试涉及的人员角色 (5) 4性能测试实施规范 (5) 4.1 确定性能测试需求 (5) 4.1.1 分析应用系统,剥离出需测试的性能点 (5) 4.1.2 分析需求点制定单元测试用例 (6) 4.1.3 性能测试需求评审 (6) 4.1.4 性能测试需求归档 (6) 4.2 性能测试具体实施规范 (6) 4.2.1 性能测试起始时间 (6) 4.2.2 制定和编写性能测试计划、方案以及测试用例 (7) 4.2.3 测试环境搭建 (7) 4.2.4 验证测试环境 (8) 4.2.5 编写测试用例脚本 (8) 4.2.6 调试测试用例脚本 (8) 4.2.7 预测试 (9) 4.2.8 正式测试 (9) 4.2.9 测试数据分析 (9) 4.2.10 调整系统环境和修改程序 (10) 4.2.11 回归测试 (10) 4.2.12 测试评估报告 (10) 4.2.13 测试分析报告 (10) 5测试脚本和测试用例管理 (11) 6性能测试归档管理 (11) 7性能测试工作总结 (11) 8附录:............................................................................................. 错误!未定义书签。
1前言 1.1 文档目的 本文档的目的在于明确性能测试流程规范,以便于相关人员的使用,保证性能测试脚本的可用性和可维护性,提高测试工作的自动化程度,增加测试的可靠性、重用性和客观性。 1.2 适用对象 本文档适用于部门内测试组成员、项目相关人员、QA及高级经理阅读。 2性能测试目的 性能测试到底能做些什么,能解决哪些问题呢?系统开发人员,维护人员及测试人员在工作中都可能遇到如下的问题 1.硬件选型,我们的系统快上线了,我们应该购置什么样硬件配置的电脑作为 服务器呢? 2.我们的系统刚上线,正处在试运行阶段,用户要求提供符合当初提出性能要 求的报告才能验收通过,我们该如何做? 3.我们的系统已经运行了一段时间,为了保证系统在运行过程中一直能够提供 给用户良好的体验(良好的性能),我们该怎么办? 4.明年这个系统的用户数将会大幅度增加,到时我们的系统是否还能支持这么 多的用户访问,是否通过调整软件可以实现,是增加硬件还是软件,哪种方式最有效? 5.我们的系统存在问题,达不到预期的性能要求,这是什么原因引起的,我们 应该进行怎样的调整? 6.在测试或者系统试点试运行阶段我们的系统一直表现得很好,但产品正式上 线后,在用户实际环境下,总是会出现这样那样莫名其妙的问题,例如系统运行一段时间后变慢,某些应用自动退出,出现应用挂死现象,导致用户对我们的产品不满意,这些问题是否能避免,提早发现? 7.系统即将上线,应该如何部署效果会更好呢? 并发性能测试的目的注要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。
选择题: 一、 1.下列软件属性中,软件产品首要满足的应该是 A 。 (A)功能需求 (B)性能需求 (C)可扩展性和灵活性 (D)容错、纠错能力 2.对于维护软件的人员来说。使用质量是 C 的结果。 (A)功能性 (B)可靠性 (C)可维护性 (D)效率 3.软件规划阶段实际上指的是 A 。 (A)需求获取和定义阶段 (B)数据获取和定义阶段 (C)测试用例设计规划阶段 (D)产品实施规划 4.在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档是 A 。 (A)用户手册 (B)外部设计规格说明 (C)内部设计规格说明 (D)测试计划手册 5.在模块测试的过程中,采用自底向上的测试比自顶向下的测试 A 。 (A)好 (B)差 (C)一样 (D)不确定 6.黑盒测试是从 C 观点出发的测试,而白盒测试是从观点出发的测试。 (A)开发人员、管理人员 (B)用户、管理人员 (C)用户、开发人员 (D)开发人、用户 7.从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为 D 。 (A)错误检测 (B)故障排除 (C)测试 (D)调试 8.下列关于逻辑覆盖的叙述,说法错误的是 D 。 (A)条件覆盖的检错能力较判定覆盖强,但有时达不到判定覆盖的要求 (B)判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试 (C)判定/条件覆盖包含了判定覆盖和条件覆盖的要求,实际上不一定达到覆盖的标准(D)凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准 9.传统集成测试的主要方法有两个,一个是 B ,另一个是。 (A)白盒测试方法、黑盒测试方法
性能测试详细测试方案 前言 平台XX项目系统已经成功发布,依据项目的规划,未来势必会出现业务系统中信息大量增长的态势。 随着业务系统在生产状态下日趋稳定、成熟,系统的性能问题也逐步成为了我们关注的焦点:每天大数据量的“冲击”,系统能稳定在什么样的性能水平,面临行业公司业务增加时,系统能否经受住“考验”,这些问题需要通过一个完整的性能测试来给出答案。 1第一章XXX系统性能测试概述 1.1被测系统定义 XXX系统作为本次测试的被测系统(注:以下所有针对被测系统地描述均为针对XXX系统进行的),XXX系统是由平台开发的一款物流应用软件,后台应用了Oracle11g数据库,该系统包括主要功能有:XXX等.在该系统中都存在多用户操作,大数据量操作以及日报、周报、年报的统计,在本次测试中,将针对这些多用户操作,大数据量的查询、统计功能进行如预期性能、用户并发、大数据量、疲劳强度和负载等方面的性能测试,检查并评估在模拟环境中,系统对负载的承受能力,在不同的用户连接情况下,系统的吞吐能力和响应能力,以及在预计的数据容量中,系统能够容忍的最大用户数。 1.1.1功能简介 主要功能上面已提到,由于本文档主要专注于性能在这里功能不再作为重点讲述. 1.1.2性能测试指标 本次测试是针对XXX系统进行的全面性能测试,主要需要获得如下的测试指标。
1、应用系统的负载能力:即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。 2、应用系统的吞吐量:即在一次事务中网络内完成的数据量的总和,吞吐量指标反映的是服务器承受的压力.事务是用户某一步或几步操作的集合。 3、应用系统的吞吐率:即应用系统在单位时间内完成的数据量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的数据量。 4、TPS:每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。 5、点击率:每秒钟用户向服务器提交的HTTP请求数。 5、系统的响应能力:即在各种负载压力情况下,系统的响应时间,也就是从客户端请求发起,到服务器端应答返回所需要的时间,包括网络传输时间和服务器处理时间。 6、应用系统的可靠性:即在连续工作时间状态下,系统能够正常运行的时间,即在连续工作时间段内没有出错信息。 1.2系统结构及流程 XXX系统在实际生产中的体系结构跟本次性能测试所采用的体系结构是一样的,交易流程也完全一致的。不过,由于硬件条件的限制,本次性能测试的硬件平台跟实际生产环境略有不同. 1.2.1系统总体结构 描述本系统的总体结构,包括:硬件组织体系结构、网络组织体系结构、软件组织体系结构和功能模块的组织体系结构. 1.2.2功能模块 本次性能测试中各类操作都是由若干功能模块组成的,每个功能都根据其执行特点分成了若干操作步骤,每个步骤就是一个功能点(即功能模块),本次性能测试主要涉及的功能模块以及所属操作如下表
XX系统性能测试方案 (仅供内部使用) 拟制: 日期:yyyy-mm-dd 审核: 日期:yyyy-mm-dd 审核: 日期:yyyy-mm-dd 批准: 日期:yyyy-mm-dd 博为峰教育科技(北京)有限公司 版权所有侵权必究
修订记录
目录 1概述 (6) 1.1被测试系统简介 (6) 1.2性能测试目的 (6) 2性能需求分析 (6) 3系统角色行为分析 (7) 3.1用户行为分析 (7) 3.2运营行为分析 (8) 3.3系统后台行为分析 (8) 4系统结构分析 (8) 4.1系统组成分析 (8) 4.2压力传递分析 (8) 4.3潜在瓶颈分析 (9) 4.4系统资源分析 (9) 4.5系统监测及其评价标准分析 (9) 5性能测试方案的确定 (10) 5.1基本流程的确定 (10) 5.2异常流程分析 (10) 5.3混合流程分析 (10) 5.4测试项的确定 (11) 5.5数据模型分析及数据规划 (11) 5.6妨碍性能测试持续开展的问题及其解决办法 (11) 5.7测试接口分析 (11) 5.8被测系统配置及其组网图 (11) 5.9测试工具的选定 (12) 5.10测试数据的准备 (12) 5.11测试用例设计建议 (12) 6附录 (12)
表目录List of Tables 表1 需求跟踪矩阵表........................................................................................ 错误!未定义书签。
图目录List of Figures 错误!未找到目录项。
一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 1. CMU SEI的Watts Humphrey指出软件产品必须首先提供用户所需 要的 (2分) A:性能 B:人机界面 C:可靠性 D:功能 2. Myers在1979年提出了一个重要观点,即软件测试的目的是为了 (2分) A:证明程序正确 B:查找程序错误 C:改正程序错误 D:验证程序无错误 3. 在代码检查的过程中发现大部分错误的人通常是 (2分) A:程序员 B:测试员 C:审查者 D:架构师 4. 以下哪一种选项不属于软件缺陷 (2分) A:软件没有实现产品规格说明所要求的功能 B:软件中出现了产品规格说明指明不应该出现的错误 C:软件实现了产品规格说明没有提到的功能 D:软件实现了产品规格说明所要求的功能但因受性能限 制而未考虑可移植性问题 5. 软件生存周期过程中,修改错误代价最大的阶段是 (2分) A:需求阶段 B:设计阶段 C:编程阶段