51Testing软件测试论坛

标题: 软考软件评测师复习重点知识 [打印本页]

作者: 楠族开心果    时间: 2013-8-15 17:47
标题: 软考软件评测师复习重点知识
第一部分:软件测试基础知识

  软件质量与软件测试

  软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试

  软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力

  软件测试与质量保证

  软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;

  质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产特

  软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量

  软件测试的目的

  测试是程序的执行过程,目的在于发现错误;

  一个好的测试用例在于发现了至今未发现的错误;

  一个成功的测试是发现了 至今未发现的错误的测试;

  软件测试原则

  所有的软件测试都应追溯到用户需求

  应当把“尽早地和不断地进行软件测试”作为测试者的座右铭

  完全测试是不可能的,测试需要终止

  测试无法显示软件潜在的缺陷;

  充分注意测试中的群集现象

  程序员应避免检查自己的程序

  尽量避免测试的随意性

  软件测试对象

  程序开发过程中的各个文档、源程序
作者: 楠族开心果    时间: 2013-8-15 17:49
软件测试过程模型[1]
软件测试过程模型-V模型

  是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;

  局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现 

  软件测试过程模型-W模型

  在V模型的基础上,增加了开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题

  局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整 

  软件测试过程模型-H模型



  在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行
X模型
  前置测试模型

  开发和测试相结合  
 对每一个交付内容进行测试

  在设计阶段进行计划和测试设计

  测试和开发结合在一起

  让验收测试和技术测试保持相互独立

  反复交替的开发和测试
作者: 楠族开心果    时间: 2013-8-15 17:54
测试模型使用
应该灵活的运用各种模型的特点,可以再W模型的框架下,运用H模型的思想进行独立的测试。当有变更发生时,按X模型和前置模型的思想进行处理。同时将测试和开发紧密结合,寻找适当的就绪点开始测试,并反复进行迭代测试,以达到按期完成预定的目标



[attach]86848[/attach]

  在实际工作中应灵活地运用各种模型的优点

  1.单元测试


[attach]86850[/attach][attach]86851[/attach]


  2.集成测试
[attach]86849[/attach]


  3.确认测试  
[attach]86853[/attach]
 4.系统测试
[attach]86852[/attach]
作者: 楠族开心果    时间: 2013-8-15 17:55
1.软件问题分类

  软件错误、软件缺陷、软件故障、软件失效

  软件错误:在软件生存周期内的不希望或不可接受的人为错误

  软件缺陷:存在于软件(文件、程序、数据)之中的不希望或不可接受的偏差

  软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。

  软件失效:软件运行时产生的一种不希望或不可接受的外部行为

  2.GB/T16260.1 产品质量-质量模型

  质量模型:代表软件质量属性的总体

  软件质量特性与度量:质量特性和子特性、外部度量、内部度量

  外部、内部质量的质量模型:质量属性包括:功能性、可靠性、易用性、效率、维护性和可移植性

  3.GB/T18905.1 软件工程 产品评价-概述

  概述了软件产品评价的过程,提供了评价需求和指南

  4.GB/T18905.5 软件工程 产品评价-评价者用的过程

  5.软件测试的国内外现状

  国外:软件测试已成为一个独立的产业,在软件公司占有重要的地位,软件测试理论研究蓬勃发展,软件测试市场繁荣,开发了大量的测试工具;

  国内:软件测试成为一个新兴产业,测试技术贫乏,从业人员少,测试服务没有足够规模;著名的软件公司已成立了专业的测试队伍,国家在职业资格中新增了‘软件评测师',企业资集认证时软件测试能务成为重要指标,软件产品增加了登记测试,成立第三方测试机构,软件测试成为一个独立课程
作者: 楠族开心果    时间: 2013-8-15 17:56
1.软件评测发展趋势

  测试工作将进一步前移

  软件架构师、开发工程师、QA人员、测试工程师将进行更新的融合

  测试行业将得到充分的尊重

  设置独立的测试部门将得到越来越多公司的软件公司的共识

  测试外包服务将快速增长

  2.测试过程的特性与要求
[attach]86855[/attach]


  3.软件测试与配置管理
[attach]86856[/attach]


  4.测试的组织与人员
[attach]86857[/attach]
[attach]86854[/attach]
作者: 楠族开心果    时间: 2013-8-15 17:58
.软件测试风险分析

  软件测试风险:是软件测试过程出现的或潜在的问题,造成的原因主要是测试计划的不充分、测试方法有误或测试过程的偏离,造成测试的补充以及结果不准确

  软件测试风险主要是对测试计划执行的风险分析与制定要采取应急措施;重点在措施

  测试计划的风险:一般指测试进度滞后或出现非计划事件;常见的有交付日期、测试需求、测试范围、测试资源、人员的能力、测试预算、测试环境、测试支持、测试工具;

  2.软件测试的成本管理

[attach]86859[/attach]

  3.文档测试的范围

[attach]86858[/attach]

  4.用户文档的内容

  包装上的文字及图案;宣传材料、广告及其他插页;授权/注册登记表;最终用户许可协议;标签和不干胶条;安装和设置指导;用户手册;联机帮助;指南、向导;样例、示例和模板;错误提示信息;
作者: 楠族开心果    时间: 2013-8-15 18:00
1.用户文档测试的要点

  明确读者群:根据读者群(如初级、中级、高级用户)的不同来检查文档内容,保证用户能够看得懂、能理解

  术语:文档中术语的描述要适合定位的读者群,用法一致,标准定义与业界规范相吻合

  文档内容的正确性:要保证所有信息是真实正确的

  文档内容的完整性:要完全根据提示逐步操作,检查是否存在遗漏的地方

  文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致

  文档的易用性:检查是否便于用户查找相应的内容

  图表与界面截图:检查所有图表与界面截图与发布的程序版本一致

  样例和示例:检查所有的样例和示例能够正确完成;

  语言:中文文档保证无错别字和二义性

  印刷与包装:印刷质量,包装质量

  2.用户手册的测试

  准确的按照手册的描述使用程序;尝试每一条建议;检查每条陈述;查找容易误导用户的内容;

  3.在线帮助的测试

  内容的准确性;帮助功能的可靠性;每一条索引和主题列表要逐条检查,是否能够由索引进入主题;帮助系统中的每一个超级链接;主题是否全部能够在索引中找到;帮助系统的风格应简洁;

  4.功能易用性测试
[attach]86860[/attach]
作者: 楠族开心果    时间: 2013-8-15 18:00
1.用户界面测试:界面整体、界面元素测试

  界面整体

  规范性测试:符合现行标准和规范

  合理性测试:界面与软件功能是否相融洽,界面的布局是否协调

  一致性测试:使用的控件、标签风格、错误提示信息、操作方法是否一致

  界面定制性测试:界面元素的可定制性;工具栏的可定制性;统计检索的可定制性;报表的可定制性

  界面元素

  窗口测试:大小、显示、窗口大小改变、多个窗口同时打开、支持操作方法等

  菜单测试:是否符合需求;措辞是否准确;顺序是否合理;图形布局是否一致

  图标测试:是否符合表达习惯;不同的目标是否采用不同的图标;图标尺寸是否合适;建议与对应功能相似;图标上是否有标注

  鼠标测试:交互环境中是否可以识别鼠标操作;多次点击是否识别;无规则点击是否会产生无法预料的结果;右键弹出菜单是否正确;

  文字测试:界面文字是否正确,准确,无二义性;

  2.硬件兼容性测试

  目的

  确认软件系统对于服务器端、客户端及网络所需的环境是否正确、合理

  测试内容

  最低配置是否能满足系统运行的需要;在推荐配置下系统的响应是否迅速;考察软件对运行硬件环境有无特殊说明;软件系统能否运行在多种硬件配置环境下

  与整机兼容性

  确认要求的最低配置和推荐配置的合理性和正确性;主要指标:机型的要求;CPU;内存;硬盘

  与板卡及配件兼容性

  独立板卡;主板芯片组;驱动程序中的自由软件

  与打印机的兼容性

  对不同厂商、不同型号的打印机进行以下测试:安装;打印测试页;调整纸张大小;选择分辨率;调整打印方向;逐页、多份打印;双面打印、网络打印

  其他

  红外线鼠标、键盘、扫描仪、视频软件,刻录软件的兼容性

  3.软件兼容性

  与操作系统的兼容性

  确认软件系统是否与多种类型的操作系统兼容,包括安装、关键流程的检查;操作系统包括Windows平台、Linux平台、UNIX平台;Macintosh 图形专用软件

  与数据库的兼容性

  确认软件系统在不同数据库的可移植性、互操作性,对完整性、应用系统测试;性能测试;数据库包括SQL;orcle、ODBC;JDBC;ADO;OLE DB;JDO

  与中间件的兼容性

  指对不同版本、不同补丁包的兼容性进行测试,检查应用程序是否能够正确运行,性能的变化;如数据流

  与浏览器的兼容性

  创建一个兼容性矩阵,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性;如Applets,JavaScript,ActiveX,VBScript,火狐,搜狗,360,ie

  与其他软件的兼容性

  与支持软件(财务软件导出Excel)的兼容性测试;与其他同类软件的兼容性(与其他同类软件同时在机器中使用);与其他非同类软件的兼容性
作者: 楠族开心果    时间: 2013-8-15 18:01
1.数据兼容性测试

  不同数据格式兼容性:确认软件之间能否正确地交互和共享信息,不同格式的信息是否兼容;包括系统与其他系统复制粘贴文字是否正确;旧版本信息在新版本是否能打开;新版本文件在旧系统中是否能打开;同类软件是否可以进行数据交换

  XML符合性:XML能够使不同来源的结构化的数据较容易地结合在一起,提供一个描述数据和交换数据的有效手段; 测试步骤:在测试工具中建立标准模板;用被测软件按要求导出数据;将导出的数据与标准模板进行对比匹配测试;输出测试结果;

  2.平台化软件兼容性测试

  平台化软件概述:用来构建与支撑应用软件的独立软件系统;基本要素包括支撑环境(应用系统开发与运行的基本条件)和开发体系(开发与维护管理应用软件的工具与方法);分类包括技术支撑型平台和应用实现平台

  平台化软件优点:应用的广泛性(各行业);良好的开发性(保证接口的统一);具有灵活性和扩展性;快捷的适应性

  平台化软件兼容性:测试内容:跨硬件平台能力(不同规模硬件平台上式);跨操作系统能力;支持多种数据库系统;客户端兼容性测试;数据兼容性测试

  3.新旧系统数据迁移测试

  新旧系统数据迁移:数据迁移:新旧系统进行切换时,将历史数据进行清理、转换,并装载到新系统的过程;

  数据迁移的实现:数据迁移的准备、数据迁移的实施、数据迁移后的校验

  数据迁移的测试:对旧系统到新系统、新系统到旧系统进行迁移测试;生成备份测试迁移后的数据完整可靠性;
作者: 楠族开心果    时间: 2013-8-15 18:03
1.安全测试-测试内容
[attach]86861[/attach]


  2.安全测试-测试策略
[attach]86862[/attach]
作者: 楠族开心果    时间: 2013-8-15 18:03
1.安全性测试方法

  功能验证:采用黑盒测试方法,对涉及安全的软件功能进行测试

  漏洞扫描:采用主机或系统漏洞扫描器自动检测远程或本机安全性弱点

  模拟攻击试验:采用冒充、重演、消息篡改、服务拒绝、内部攻击、外部攻击、陷阱门、特洛伊木马方法进行测试

  侦听技术:对数据进行截取分析的过程,主要用于对网络加密的验证

  2.软件产品安全测试

  侧重于用户对数据或业务功能的访问控制数据存储和数据通信的远程安全控制

  用户管理和访问控制

  用户权限控制:测试用户权限分配合理性、用户名、用户密码的各项限制

  操作系统安全性测试:测试是否关闭和卸载了不必要的服务和程序、是否存在不必要的账户、权限设置合理性

  数据库权限的测试测:试用户的权限,用于存储用户和口令的表信息尽量加密,程序中是否存在默认的用户名和密码

  通信加密

  测试软件系统通信息加密情况,采用验证和侦听技术完成,

  安全日志测试

  测试日志的完整性、正确性,是否提供安全日志的智能统计分析能力,

  3.网络系统全生命周期测试策略

  建设生命周期:生命周期测试策略

  规划设计阶段:利用仿真技术测试设计方案、网络设备评估,为网络选型提供依据;

  实施阶段:进行网络质量测试,如吞吐量、包转发率、丢包率,保证系统的可用性和稳定性,为网络应用系统开发提供基准值

  与应用系统集成阶段:完成应用系统的功能和性能测试,保证运行基本稳定后,将程序应用到网络上进行网络级测试,测试并发用户访问能力、响应时间、应用对网络资源占用情况,保证应用系统在网络平台上的性能
作者: 楠族开心果    时间: 2013-8-15 18:04
1.网络测试-网络仿真技术

[attach]86864[/attach]

  2.网络性能测试
[attach]86863[/attach]
作者: 楠族开心果    时间: 2013-8-15 18:05
1.网络测试-网络应用测试

  网络应用监控

  概述:监控功能主要能过网络探测器设备安装在某一网段上采集数据

  目标:及时准确了解网络状况,定位问题的根源

  工具:Network Vantage:全面应用监控和报告产品,帮助发现和优化网络上的应用性能; Sniffer:捕捉流量、监控网络活动、分析错误信息,定位问题

  网络故障分析

  步骤:清楚故障现象;收集需要的用于帮助隔离可能故障原因的信息;根据收集到的信息考虑故障原因;根据分析的故障原因,建立一个诊断计划;执行诊断计划;改变参数确认结果

  软件问题诊断:建立在网络应用分析的基础上,分析关键因素:会话信息(往返行程和流量信息)、包信息、响应时间信息、负载信息、高峰信息、线程信息、响应时间预测、带宽模拟  注意421页故障定位举例

  硬件问题诊断:物理层:连接方式、连接电缆、设备配置是否正确  使用show interface命令; 数据链路层:路由器的配置、连接端口、接口与通信设备封装;通过查看路由器配置检查封装,show命令 网络层:沿源到目标的路径,查看路由表,同时检查路由器接口的IP地址

  2.Web应用的测试策略

  按系统架构分类:客户端的测试、服务器端的测试、网络上的测试

  按职能分类:应用功能的测试、Web应用服务的测试、安全系统的测试、数据库服务的测试

  按软件质量特性分类:功能测试、性能测试、兼容性测试、安全性测试、易用性测试

  按开发阶段分类:设计测试、开发测试、应用测试

  3.Web应用设计测试

  设计测试的主要内容是对设计从全面性、适合性、标准性等方面进行检查

  总体架构设计测试

  采用瘦客户端或胖客户端是否合需求:瘦客户端 客户端只作少量处理、业务逻辑规则在服务器端执行;胖客户端 客户端即显示用户页面,又执行部分业务逻辑;验证设计中采用的模式是否适合需求

  确定Web架构的组成部分是否满足需求:验证各种服务器、中间件形成的架构是否满足需求,各种搭配是否兼容

  服务器的配置及分布是否满足需求:验证服务器的配置和分布是否满足用户的功能、性能、成本等需求

  客户端设计测试功

  能设置的测试:验证Web应用中各项功能设置是否满足需求,应主要实现信息服务、办公自动化、Internet支持

  信息组织结构设计的测试:信息组织结构设计模式包括线性结构、分层结构、非线性结构;验证设计模式是否符合用户需求,能否使用户直观、快捷的浏览到所需信息

  页面设计的测试:页面显示一致性、友好性、直观的导航系统、不同类型浏览器、布局

  服务器端设计测试

  容量规划测试:将所要求的延迟和带宽与该体系结构中每一环节的额定容量作一下比较,每个组成部分都必须满足需求;估算点击率是否满足需求;估算延迟和流量是否满足需求;估算Web应用系统所需服务器的资源消耗

  安全系统设计测试:对常识性安全策略、加密技术、防火墙、防毒体系进行测试

  数据库设计测试
作者: 楠族开心果    时间: 2013-8-15 18:05

1.Web应用开发测试


  对Web应用的源代码和组件进行测试,保证代码的正确性、组件的功能正常

  代码测试测试:源代码规则、链接测试、框架测试(窗口大小改变信息改变情况)、表格测试(大小调整情况)、图形测试

  组件测试:进行表单测试、Cookies测试、脚本测试、CGI(服务器端技术)、ASP测试(代码、不同浏览器)、ActiveX控件测试(客户端技术)

  使用Junit进行单元测试

  2.Web应用运行测试


作者: 楠族开心果    时间: 2013-8-15 18:06
负载压力测试概述

  1.负载压力

  指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。

  2.负载压力测试

  l指在一定测试约束条件下,测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力

  l负载压力测试是性能测试的重要组成部分

  3.性能测试

  用来保证产品发布后系统的性能能够满足用户需求,包括两种测试策略:性能评测、性能调优

  (1)性能评测-性能调优的基础

  l在真实环境下,检查系统服务等级的满足情况,评估并报告整个系统的性能

  l对系统的未来容量作出预测和规划

  (2)性能调优

  l性能调优步骤

  l查找形成系统瓶颈或者故障的根本原因

  l进行性能调整和优化

  l评估性能调整的效果

  4.负载测试

  通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试

  5.压力测试

  l通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试

  l压力测试是为了发现在什么情况下系统的性能会变得不可接受

  6.并发性能测试

  l并发性能测试的过程,是一个负载测试和压力测试的过程。

  l逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,能过综合分析交易执行指标,资源监控指标来确定系统并发性能的过程

  l并发性能测试是负载压力测试中的重要内容

  l并发性能测试包括:应用在客户端性能的测试、应用在网络上性能的测试、应用在服务器端上性能的测试三个方面

  7.疲劳强度测试

  采用系统稳定运行情况下所能支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程

  8.大数据量测试

  大数据量测试包括独立的数据量测试和综合数据量测试两类

  l独立的数据量测试:指针对某些系统存储、传输、统计、查询等业务进行的大数据量测试

  l综合数据量:指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试
作者: 楠族开心果    时间: 2013-8-15 18:06
负载压力测试的目的

  1.在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况

  2.预见系统负载压力承受力,在应用实际部署之前,评估系统性能

  3.分析系统瓶颈,优化系统

  (1)瓶颈:应用系统中导致系统性能大幅下降的原因。硬件,操作系统、数据库或开发的应用程序中都有可能存在瓶颈

  (2)建议首先消解决软件瓶颈,原因有三个:

  l软件瓶颈往往导致系统性能衰减更快,消除软件瓶颈,系统性能提升更快

  l人为因素更易导致软件瓶颈要消除软件瓶颈,开发人员会更主动,并且可以节省资源

  l盲目增加硬件则无形中增加维护费用,将来,软硬件不匹配的问题终究会暴露出来

  (3)负载压力性能问题分为需要优化的性能问题和非系统优化所能解决的性能问题

  4.为企业项目的实施提供信心,帮助用户正确地进行容量规划,实现软硬件投资合理化,最终交付高质量的系统,避免项目投产失败,保证用户的投资得到相应的回报
作者: 楠族开心果    时间: 2013-8-15 18:07
负载压力测试策略

  1.可以利用手工进行测试和利用自动化工具进行测试两种测试策略

  (1)手工测试:无法解决同步问题,无法捕捉程序内部的变化情况

  (2)自动化工具测试:可以解决手工测试中无法解决的问题

  2.自动化工具测试策略

  (1)利用商业化测试工具:LoadRunner,QALoad

  (2)利用开放资源测试工具:开放系统测试体系OpenSTA、TestMaker、Apache Jmeter

  (3)利用自主开发工具:核心内容是对与服务器的交互计时
作者: 楠族开心果    时间: 2013-8-15 18:07
产品生命周期中负载压力测试计划

  1.在需求分析中充分关注负载压力性能

  2.从设计中得到负载压力性能指标

  3.开发阶段创建一个负载压力性能测试环境

  (1)确保合理精确的测试环境,并且此环境可重用

  (2)为测试环境制定规则的负载压力性能测试的时间表,如果测试环境是共享的,负载压力性能测试不能与其他活动同时发生

  (3)选择一个负载压力性能测试工具

  (4)验收阶段在多等级范围内测试并调优

  (5)运行阶段持续监控系统负载压力性能

  负载压力测试的盲点

  在负载压力测试时,不进行功能校验,当功能发生错误时,测试工具不能够记录产生的错误,忽略了负载压力情况下的功能不稳定问题。所以负载压力测试期间必须要进行必要的功能内容校验,即在测试过程中记录所有虚拟用户的操作,及服务器的响应,才有助于判断功能错误,这是当前负载压力测试的最大挑战
作者: 楠族开心果    时间: 2013-8-15 18:07
负载压力指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。

  负载压力测试指在一定测试约束条件下,测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力,负载压力测试是性能测试的重要组成部分

  性能测试用来保证产品发布后系统的性能能够满足用户需求,包括两种测试策略:性能评测、性能调优

  负载测试通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试

  压力测试通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试压力测试是为了发现在什么情况下系统的性能会变得不可接受

  并发性能测试并发性能测试的过程,是一个负载测试和压力测试的过程; 逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,能过综合分析交易执行指标,资源监控指标来确定系统并发性能的过程; 并发性能测试是负载压力测试中的重要内容; 并发性能测试包括:应用在客户端性能的测试、应用在网络上性能的测试、应用在服务器端上性能的测试三个方面

  疲劳强度测试采用系统稳定运行情况下所能支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程

  大数据量测试:

  大数据量测试包括独立的数据量测试和综合数据量测试两类

  独立的数据量测试:指针对某些系统存储、传输、统计、查询等业务进行的大数据量测试

  综合数据量:指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试
作者: 楠族开心果    时间: 2013-8-15 18:08

负载压力测试解决方案

  一、并发性能测试

  并发压力过程与测试定位

  (1)并发负载压力的实施:客户端――应用客户端的测试

  (2)负载压力的传输介质:网络――应用网络上的测试

  (3)压力到达:各类服务器――应用服务器端的测试

  二、 并发性能测试-应用客户端性能测试

  目的:模拟大量并发用户执行不同业务操作,达到实施负载压力的目的

  1.测试环境

  (1)测试工具主控台(1个):负责管理各个测试工具代理,收集各类测试数据

  (2)负载生成器(多个):即代理,模拟虚拟用户

  (3)服务器

  2.测试过程

  (1)创建方案:方案信息包括    虚拟用户组(Vuser)

  Vuser将运行的测试脚本

  用于运行脚本的负载生成器

  (2)定义测试目标:  虚拟用户数:测试应用程序可以同时运行多少个Vuser

  每秒点击次数

  每分钟页面数    测试服务器稳定性

  每秒事务数


 事务响应时间:测试在期望的事务响应时间内可以同时运行多少个Vuser,在脚本中指定要测试的事务名称以及Vuser的范围

  (3)制定方案执行计划:制定方案执行的时间安排,如开始时间、执行持续时间、启动/停止多少个Vuser数量等、注:如果脚本中包含有集合点,方案将不会按计划运行;集合点:在方案中指定Vuser,各Vuser执行的脚本,运行的时间,启动方案后,并不能保证所有的Vuser能够达到同步操作的效果,设置集合点,Vuser执行到集合点时,会被Controller滞留在集合点,等待所有Vuser全部到达后,执行某一项指定操作,从而达到同步并发的效果

  3.影响服务器的负载级别

  (1)选择在方案运行过程中活动的集合点

  (2)选择加入每个集合的Vuser数

  4.控制服务器上的负载峰值

  (1)创建Vuser脚本,插入必要的集合点(采用录制功能将操作过程录制形成脚本,插入某一项操作的集合点)

  (2)创建方案(建立Vuser组,指定每组的user及数量、运行的脚本等信息)

  (3)向方案中添加Vuser组,搜索设置的集合点,并将集合点名称添加到‘集合信息’列表中

  (4)设置虚拟用户负载的级别

  (5)通过选择加入到方案中的集合点及加入每个集合的Vuser数,可以确定负载的精确级别

  (6)设置集合的属性

  (7)对于每一个集合,都可以设置集合策略

  (8)运行方案(在此之前,可以同时配置负载生成器和Vuser行为)

  5.客户端交易处理性能指标

  (1)并发用户数指标

  (2)交易处理指标:平均事务响应时间、每秒事务数、每秒事务总数、事务摘要、事务性能摘要、事务响应时间(负载下、百分比、分布)

  (3)Web请求指标:每秒点击次数、吞吐量、吞吐量摘要、HTTP状态代码摘要、每秒HTTP响应数、每秒下载页面数、每秒重试次数,重试次数摘要、连接数、每秒连接数、每秒SSL连接数

  (4)Web页面组件指标:激活网页细分、页面组件细分(随时间变化)、页面下载时间细分(随时间变化)、第一次缓冲时间细分(随时间变化)、已下载组件大小


作者: 楠族开心果    时间: 2013-8-15 18:09

 并发性能测试-应用网络上性能测试


  应用网络上性能测试包括:应用网络故障分析和网络应用性能监控

  1. 应用网络故障分析

  (1)测试目标:显示网络带宽,延迟、负载和TCP端口的变化是如何影响用户的响应时间的

  (2)作用

  l优化性能

  l预测系统响应时间

  l确定网络带宽需求

  l定位应用程序和网络故障

  (3)网络故障分析工具

  2. 网络应用性能监控指标

  (1)测试目标:在系统试运行之后,需要及时准确地了解网络上正在发生什么事;什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争

  (2)作用

  l分析关键应用程序的性能

  l定位问题的根源是在客户端、服务器、应用程序还是网络

  l哪些应用程序占用大量带宽

  l哪些用户产生了大量的网络流量

  (3)网络应用性能监控工具


作者: 楠族开心果    时间: 2013-8-15 18:10
并发性能测试-应用服务器端的测试

  (一) 概述

  1. 对应用服务器端的测试主要包括三方面:操作系统、数据库和中间件的监控

  2. 监控手段:可以采用工具自动监控,也可以使用操作系统、数据库、中间件本身提供的监控工具

  3. 利用工具监控的优点

  (1)减少故障诊断和分析时间

  (2)减少手工定位的时间和避免误诊

  (3)在问题发生前定位故障

  (4)验证可达到的性能水平和服务水平协议

  (5)持续的服务器、数据库和应用性能和可用性监控

  (6)故障诊断和恢复:自动报警、故障恢复程序、故障恢复信息

  (7)服务器、应用可用性和性能报告

  (二) 操作系统监控

  操作系统的监控涉及后台重要服务器的操作系统监控,对于主流的操作系统,主要关注:内存、CPU、硬盘

  监控建议:

  1.磁盘管理

  (1)采集物理读/写和逻辑读/写信息

  (2)收集操作系统和其他平台上的磁盘忙信息

  (3)监控I/O

  2.文件系统

  (1)显示每个文件系统的使用率,检测文件系统空闲空间的大小

  (2)剪裁文件系统-删除指定的CORE(核心)文件和其他文件

  (3)显示文件系统的mount on device、type、size

  (4)可以监控特殊的文件系统,如NFS(网络文件系统),CD-ROM

  (5)检测特定文件的存在及超出特定期限的文件存在

  3.内存

  (1)显示可用的内存数量

  (2)决定当前的内存短缺量

  (3)帮助分析内存问题

  (4)显示内存的实存、所有虚存和kernel(核心内存)的状态等信息

  4.CPU

  (1)记录CPU的使用率

  (2)监测CPU参数,包括CPU idle(空闲),CPU waits,CPU system usage,CPU user usage,run queue length(运行队列长度)

  (3)显示CPU context(上下关系) switches 的总数

  (4)显示CPU处理系统任务和完成用户任务的时间比例

  5.操作系统举例  

  (1)UNIX操作系统

  (2)Windows操作系统

  (三) 数据库监控

  1.共性的指标

  (1)监控数据库系统中关键的资源

  (2)监测读写页面的使用情况
(3)监控超出共享内存缓冲区的操作数

  (4)监测上一轮询期间作业等待缓冲区的时间

  (5)跟踪共享内存中物理日志和逻辑日志的缓冲区的使用率

  (6)监控磁盘的数据块使用情况以及被频繁读写的热点区域

  (7)监控用户事务或者表空间监控事务日志

  (8)监控数据库锁资源

  (9)监测关键业务的数据表的表空间增长

  (10)监控SQL执行情况

  2.监控建议-针对监控内存缓冲区、会话及磁盘等方面

  (1)监控超出共享内存缓冲区的操作:可以调整缓冲区大小,更好的支持系统运行

  (2)扩展的会话/用户检查以及参数控制:发现不合理顺序扫描操作,从而分配附加的资源,修改应用程序,降低对系统资源的要求

  (3)磁盘:监控数据块的使用情况以及被频繁读写的热点区域,可以平衡数据量的存储分配及I/O分配

  3.数据库举例

  (1)Oracle:内存统计、SQL分析、会话统计、事件统计

  (2)Sysbase:

  (3)DB2:

  (4)SQL Server:

  (四) 中间件监控

  1.中间件分类

  (1)Web服务器: Apache

  (2)Web应用服务器: Websphere、WebLogic

  (3)应用服务器: tuxedo

  2.中间件举例

  (1)TUXEDO:

  (2)WebSphere:队列性能计数器、通道性能计数器

  (3)WebLogicogBaroadcasterRuntime、ServerSecurityRuntime
作者: 楠族开心果    时间: 2013-8-15 18:10
 负载压力测试解决方案-疲劳强度测试

  强调长时间的考核,主要是过长时间运行系统,发现问题

  1.日常强度疲劳强度测试

  模拟系统的日常业务(正常情况),持续执行‘一段时间',暴露系统的性能问题,如内存泄露、资源争用

  2.高峰业务疲劳强度测试

  (1)  模拟系统的高峰业务(最大业务量),持续执行’一段时间‘,暴露系统的性能问题

  (2)  时间指标要满足: (1) 这段模拟时间所处理的交易量要达到系统疲劳强度需求的业务量 (2) 在这段测试周期中必须通过加大负载,以及尽可能长的测试周期来保证疲劳强度测试

  负载压力测试解决方案-大数据量测试

  1.大数据量测试类型

  (1)独立数据量测试:针对某些系统存储、传输、统计、查询等业务进行单用户大数据量测试,如大量的批处理任务

  (2)综合数据量测试:采用并发测试、疲劳强度测试以及大数据量测试相结合的综合测试方案

  2.自动生成大数据量

  (1)借助自动化测试工具,利用数据库测试数据自动生成工具,如TESTBytes

  (2)利用自动化负载压力测试工具,模拟用户业务操作,同时并发数百个或数千个用户生成相关数据

  (3)自主开发数据生成工具

  (4)数据库本身的辅助工具

  3.大数据量管理

  (1)手工管理:

  (2)自动化工具管理:File-Aid/CS 数据库管理工具 ,完成比较数据和数据库结构;转换关系数据库数据成XML数据;比较XML数据与关系数据库数据;比较XML文件;数据迁移
作者: 楠族开心果    时间: 2013-8-15 18:11
负载压力测试实施

1.负载压力测试指标分析


  主要包括客户端交易处理性能指标、服务器资源监控指标、数据库资源监控指标、Web服务器监控指标、中间件监控指标

  2.负载压力测试实施


作者: 楠族开心果    时间: 2013-8-15 18:11

网络应用性能监控指标


  (1)测试目标:在系统试运行之后,需要及时准确地了解网络上正在发生什么事;什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争

  (2)作用

  l分析关键应用程序的性能

  l定位问题的根源是在客户端、服务器、应用程序还是网络

  l哪些应用程序占用大量带宽

  l哪些用户产生了大量的网络流量

  (3)网络应用性能监控工具


作者: violet0214    时间: 2013-8-31 20:18
总结好全面。只可修看起来好费事
作者: leer_he    时间: 2013-10-9 15:17
有没有整理好的可下载文档阿?在网页上看好麻烦的
作者: Miss_love    时间: 2013-11-7 14:01
感谢分享
作者: 紫毓E    时间: 2013-12-2 21:46
多谢分享,我都粘贴到word上面有29页之多。真是辛苦楼主的。
貌似有点小重复。嘻嘻
我会好好拜读的。。
作者: linlin520    时间: 2013-12-3 13:17
谢谢  呵呵
作者: dolphin_lala    时间: 2014-9-25 15:18
辛苦了,非常感谢
作者: ruan件测试玩家    时间: 2015-8-26 08:48
楼主好人!
作者: 奈何桥过客    时间: 2017-8-16 14:25
不会下载啊   怎么下载啊




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2