基本概念功能测试课件.ppt
1,4.1基本概念4.2系统测试层次4.3系统测试方法4.4系统静态测试4.5功能测试4.6性能和缩放性测试4.7可用性测试4.8安全性测试4.9指标协议测试4.10安装卸载测试4.11兼容性测试4.12本地化测试4.13系统测试过程4.14其他阶段测试4.15测试案例分析,14.1基本概念,2,4.5 功能测试,链接或界面切换测试业务流程测试,24.5 功能测试链接或界面切换测试,3,4.5.1链接(界面切换)测试,测试所有链接是否按指示的那样确实链接到了该链接的页面; 测试所链接的页面是否存在; 保证Web应用系统上没有孤立的页面 。界面设计文档是依据(上海交通银行,电力负荷管理系统例子),34.5.1链接(界面切换)测试测试所有链接是否按指示的那样,4,4.5.2业务流程测试,主要是系统应用功能的测试。基于用例场景设计测试用例。用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。,44.5.2业务流程测试主要是系统应用功能的测试。,5,4.5.3业务流程测试,54.5.3业务流程测试,6,4.5.3业务流程测试,遵循上图中每个经过用例的可能路径,可以确定不同的用例场景:场景 1 基本流场景 2 基本流 备选流1场景 3 基本流 备选流1 备选流2场景 4基本流 备选流3场景 5基本流 备选流3 备选流1场景 6基本流 备选流3 备选流1 备选流 2场景 7基本流 备选流4场景 8基本流 备选流3 备选流4,64.5.3业务流程测试遵循上图中每个经过用例的可能路径,可,7,4.5.3业务流程测试,例子,74.5.3业务流程测试例子,8,4.5.3业务流程测试,提款用例的基本流和某些备用流,84.5.3业务流程测试提款用例的基本流和某些备用流,9,4.5.3业务流程测试,第一次迭代中,根据迭代计划,我们需要核实提款用例已经正确地实施。此时尚未实施整个用例,只实施了下面的事件流:基本流 - 取预设金额(10元、20元、50元、100元)备选流 2 - ATM 内没有现金备选流 3 - ATM 内现金不足备选流 4 - PIN 有误备选流 5 - 帐户不存在/帐户类型有误备选流 6 - 帐面金额不足,94.5.3业务流程测试第一次迭代中,根据迭代计划,我们需要,10,4.5.3业务流程测试,场景设计,104.5.3业务流程测试场景设计 场景描述基本流备选流场景,11,4.5.3业务流程测试,测试用例设计,114.5.3业务流程测试测试用例设计,12,4.5.3业务流程测试,测试用例数据选择,124.5.3业务流程测试测试用例数据选择,13,4.1基本概念4.2系统测试层次4.3系统测试方法4.4系统静态测试4.5功能测试4.6性能和缩放性测试4.7可用性测试4.8安全性测试4.9指标协议测试4.10安装卸载测试4.11兼容性测试4.12本地化测试4.13系统测试过程4.14测试案例分析,134.1基本概念,14,4.6性能和缩放性测试,性能:性能是表明软件系统对于其及时性要求的符合程度。其次,性能是软件产品的一种特性,可以用时间来进行度量。性能的及时性用响应时间或吞吐来衡量。,144.6性能和缩放性测试性能:,15,4.6性能和缩放性测试,对软件性能的关注是多层面的用户关注管理人员关注开发人员关注,154.6性能和缩放性测试对软件性能的关注是多层面的,16,4.6性能和缩放性测试,用户对软件性能的关注,发出请求,请求,应用服务器,DB服务器,返回数据,用户感受到响应,呈现时间,系统响应时间,164.6性能和缩放性测试用户对软件性能的关注发出请求请求应,17,4.6性能和缩放性测试,管理人员对软件性能的关注在多个用户并发时响应时间系统支持多少个并发用户系统资源利用率系统瓶颈在什么地方系统可扩展性系统稳定性,174.6性能和缩放性测试管理人员对软件性能的关注,18,4.6性能和缩放性测试,开发人员对软件性能的关注架构设计是否合理数据库设计是否合理内存分配使用是否合理线程同步方式是否合理系统中是否存在不合理的资源竞争,184.6性能和缩放性测试开发人员对软件性能的关注,19,4.6性能和缩放性测试,软件性能的几个指标响应时间并发用户数吞吐量,194.6性能和缩放性测试软件性能的几个指标,20,4.6性能和缩放性测试,软件性能的几个指标响应时间,204.6性能和缩放性测试软件性能的几个指标响应时间,21,4.6性能和缩放性测试,软件性能的几个指标并发用户数,214.6性能和缩放性测试软件性能的几个指标并发用户数,22,4.6性能和缩放性测试,软件性能的几个指标并发用户数系统用户数同时在线用户人数,224.6性能和缩放性测试软件性能的几个指标并发用户数,23,4.6性能和缩放性测试,软件性能的几个指标并发用户数计算公式C=nL/TX=c+3*(c)1/2,234.6性能和缩放性测试软件性能的几个指标并发用户数,24,4.6性能和缩放性测试,软件性能的几个指标吞吐量单位时间内系统处理的客户请求的数量,直接体现系统的性能承载能力表示:请求数/秒 页面数/秒 人数/天 处理的业务数/小时反映服务器承受的压力协助分析系统性能瓶颈,244.6性能和缩放性测试软件性能的几个指标吞吐量,25,4.6性能和缩放性测试,软件性能的几个指标吞吐量计算方式F=N*R/T,254.6性能和缩放性测试软件性能的几个指标吞吐量,26,4.6性能和缩放性测试,性能测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力,保证产品发布后系统的性能能够一般观点:找一个点(200用户)满足用户需求。实际:一条曲线,264.6性能和缩放性测试性能测试是指在一定约束条件下测试系,27,4.6性能和缩放性测试,性能测试的目的可以概括以下几个方面: 在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况; 分析系统瓶颈、优化系统。,274.6性能和缩放性测试性能测试的目的可以概括以下几个方面,28,4.6性能和缩放性测试,系统的缩放性指的是在系统中增加计算资源的能力。增加了计算资源后,在特定的负载条件下,就可以获得可接受的或改进的响应时间、稳定性和数据吞吐量。在这里,负载指的是同一时间内系统处理客户端业务功能数量。,284.6性能和缩放性测试系统的缩放性指的是在系统中增加计算,29,4.6性能和缩放性测试,WEB系统体系结构允许在WEB、应用程序和数据库服务器层的每一层进行缩放,这些层可以按下面几种方式缩放: 垂直缩放 水平缩放 功能缩放 系统性能与缩放性密切相关,因此在进行性能测试时必须考虑系统缩放性。,294.6性能和缩放性测试WEB系统体系结构允许在WEB、应,30,4.6.1性能测试内容,系统的性能应该包括两方面 :一方面是系统完成用户业务功能的响应时间 另一方面是系统实现用户业务功能时的资源利用率分析,304.6.1性能测试内容系统的性能应该包括两方面 :,31,4.6.1性能测试内容,性能测试数据的收集客户机:响应时间 服务器: CPU,占全部处理器时间的百分比;内存,用字节数和每秒出现的页面错误率表示;硬盘的I/O WEB服务器:除了上述项目外,WEB服务器还包括最大的同时连接数目 。数据库服务器:所有数据库服务器都应当包含交易/秒和缓存命中率等数据 网络:监视每个服务器之间的带宽数据,314.6.1性能测试内容性能测试数据的收集,32,4.6.1.1客户端性能测试,主要是测试在多个客户并发时,系统完成用户业务功能的响应时间。具体性能指标参数如下:并发客户端数 业务处理响应时间 业务处理通过率,324.6.1.1客户端性能测试主要是测试在多个客户并发时,,33,4.6.1.1客户端性能测试,WEB系统为例,响应时间性能因素包括下面几项: 请求提交:客户浏览器为了与网站进行连接并传输用户提供的数据所需的时间。 处理时间:请求被一台或多台服务器处理以执行用户所需功能的时间。 响应:处理请求后,将页面或者数据返回给用户,传输这些页面或者数据所需要的时间即为响应时间。,334.6.1.1客户端性能测试WEB系统为例,响应时间性能,34,4.6.1.1客户端性能测试,响应时间=N1+N2+N3+N4+A1+A2+A3+A4,344.6.1.1客户端性能测试响应时间=N1+N2+N3+,35,4.6.1.2系统资源利用率分析,网络资源利用率分析 服务器资源利用率分析 通过监测操作系统、数据库以及中间件服务器,354.6.1.2系统资源利用率分析网络资源利用率分析,36,4.6.1.2系统资源利用率分析-网络资源利用率分析,364.6.1.2系统资源利用率分析-网络资源利用率分析,37,4.6.1.2系统资源利用率分析-操作系统资源利用率,操作系统资源利用率,374.6.1.2系统资源利用率分析-操作系统资源利用率,38,4.6.1.2系统资源利用率分析-数据库资源利用率,数据库资源利用率,384.6.1.2系统资源利用率分析-数据库资源利用率 数,39,4.6.1.2系统资源利用率分析-中间件服务器利用率,中间件服务器利用率,394.6.1.2系统资源利用率分析-中间件服务器利用率,40,4.6.1.3系统性能优化,硬件优化软件优化应用程序本身的优化 数据库管理系统的配置优化 中间件的配置优化,404.6.1.3系统性能优化硬件优化,41,4.6.2性能测试类型,基准性能测试负载测试压力测试数据容量测试,414.6.2性能测试类型基准性能测试,42,4.6.3性能测试配置,以WEB系统为例,424.6.3性能测试配置以WEB系统为例,43,43,44,4.6.3性能测试配置,在上述系统中与性能有关的测试可以使用不同的配置元素执行 服务器硬件和服务器数量 数据库大小 测试客户机的位置 SSL与非SSL,444.6.3性能测试配置在上述系统中与性能有关的测试可以使,45,4.6.4性能测试实施,454.6.4性能测试实施,46,4.6.4.1性能测试需求分析,性能测试需求的内容要包含以下几个关键点 性能测试需求的内容要包含以下几个关键点 测试的对象是什么,例如“被测系统中有负载压力需求的功能点包括哪些” 测试的对象是什么,例如“被测系统中有负载压力需求的功能点包括哪些”,464.6.4.1性能测试需求分析性能测试需求的内容要包含以,47,4.6.4.1性能测试需求分析,分析方法 任务分布图法 交易混合图法8020原理法,474.6.4.1性能测试需求分析分析方法,48,4.6.4.1性能测试需求分析-任务分布图法,使用任务分布图法应关注下面两点 有哪些交易任务 在一天的某些特定时刻系统有哪些主要操作,484.6.4.1性能测试需求分析-任务分布图法 使用任务,49,4.6.4.1性能测试需求分析 -任务分布图法,494.6.4.1性能测试需求分析 -任务分布图法 登录2,50,4.6.4.1性能测试需求分析-交易混合图法,使用交易混合图应关注下面三点 使用交易混合图应关注下面三点 数据操作有哪些 如果任务失败,那么商业风险有多少,504.6.4.1性能测试需求分析-交易混合图法 使用交易,51,4.6.4.1性能测试需求分析-交易混合图法,514.6.4.1性能测试需求分析-交易混合图法 交易名称,52,4.6.4.1性能测试需求分析-80-20原理法,一个新的系统在开始建设时往往很难估计每个时刻用户并发访问数,客户只能提供一年内会有多少笔业务需要处理,这时需要运行80-20原理法进行分析。80-20原理即每个工作日中80%的业务在20%的时间内完成。例如,每年业务量集中在8个月,每个月20个工作日,每个工作8小时即每天80%的业务在1.6小时内完成。,524.6.4.1性能测试需求分析-80-20原理法 一个,53,4.6.4.1性能测试需求分析-80-20原理法,全年处理业务约100万笔,其中15%的业务处理每笔业务需对应用服务器提交7次请求;70%的业务处理每笔业务需对应用服务器提交5次请求;其余15%的业务每笔业务向应用服务器提交3次请求。根据以往统计结果,每年的业务增量为15%,考虑到今后三年业务发展的需要,测试需按现有业务量的2倍进行。 每年总的请求数量为:(100*15%*7+100*70%*5+100*15%*3)*2=300万次/年。每天的请求数量为:300/160=1.875万次/天。每秒的请求数量为:(18750*80%)/(8*20%*3600)=2.60次/秒。正常情况下,应用服务器处理请求的能力应达到:3次/秒。,534.6.4.1性能测试需求分析-80-20原理法 全年,54,4.6.4.2性能测试场景设计,544.6.4.2性能测试场景设计登录222521记帐101,55,4.6.4.3编写性能测试脚本或程序,自写或嵌入源代码录制生成,554.6.4.3编写性能测试脚本或程序 自写或嵌入源代码,