性能测试模型(转帖)

上一篇 / 下一篇  2011-01-18 11:25:25 / 个人分类:转帖

压力测试:确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。

负载测试:在被测系统上不断增加压力,直到性能指标达到极限,响应时间超过预定指标或者某种资源已经达到饱和状态。这种测试可以找到系统的处理极限,为系统调优提供依据。

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

配置测试:通过测试找到系统各资源的最优分配原则。

可靠性测试:可以施加cpu资源保持70%-90%使用率的压力,连续对系统加压运行8小时,然后根据结果分析系统是否稳定。即加载一定压力的情况下,使系统运行一段时间。

并发测试:多以发现一些算法设计上的问题。

性能测试以用户并发测试为主的测试。

性能测试主要是为了发现软件问题和硬件瓶颈。

对于性能方面给系统留有30%左右的扩展空间即可。

Web全面性能测试模型

预期指标的性能测试

主要指需求分析和设计阶段提出的一些性能指标。

针对每个指标都要编写一个或者多个测试用例来验证系统是否达到要求。

预期指标的性能测试用例通常以单用户为主,如果涉及并发用户内容,则归并到并发用户测试用例中进行设计。

并发性能测试

选择具有代表性、关键的业务来设计用例,并且用户的设计应该面向“模块”

用户并发性能测试分为:独立核心模块并发性能测试,组合模块并发性能测试

独立核心模块并发:完全一样功能的并发测试;完全一样操作的并发测试;相同/不同的子功能并发。

针对独立核心模块用户并发性能的测试用例设计,可发现一些核心算法或者功能方面的问题,如一些多线程、同步并发算法在单用户模式下测试是很难发现问题的,通过模拟多用户的并发操作,更容易验证其是否正确和稳定。

核心模块测试一般属于基本的性能测试,它较多地关注模拟的“功能”,一般不会对服务器进行测试。

组合模块并发:具有耦合关系的核心模块进行组合并发测试;彼此独立的、内部具有耦合关系的核心模块组的并发测试;基于用户场景的并发测试。

组合模块测试一般发现接口方面的功能问题,并尽早发现综合性能问题。

在实际中,各种类型的用户都会对应一组模块,相当于不同的业务组在并发访问系统,要充分考虑实际场景,如话费管理系统中的每月10日左右的收费高峰等场景。

在编写组合模块用户并发性能测试用例时,不但要考虑用户使用场景,还要注意并发点的运用,并发点是指一定数量的用户开始执行同一功能或者操作的时间点,一组测试场景通常包含多个并发点,从而实现了核心模块同一功能或者操作的真正并发。

独立业务性能测试

独立业务实际是指一些核心业务模块对应的业务。这些模块通常具有功能比较复杂,使用比较频繁,属于核心业务等特点。主要测试这类模块和性能相关的一些算法、还要测试这类模块对并发用户的响应情况。

用户并发测试是核心业务模块的重点测试内容。

组合业务性能测试

是最接近用户实际使用情况的测试,也是性能测试的核心内容。

组合并发的突出特点是根据用户使用系统的情况分成不同的用户组进行并发,每组的用户比例要根据实际情况来进行匹配。

用户并发测试是组合业务性能测试的核心内容。“组合”并发的突出特点是根据用户使用系统的情况分成不同的用户组进行并发,每组的用户比例要根据实际情况来进行匹配。

网络性能测试

为准确展未带宽、延迟、负载和端口的变化是如何影响用户的响应时间的。主要是测试应用系统的用户数目与网络带宽的关系。

调整性能最好的办法就是软硬相结合。

大数据量测试

主要是针对对数据库有特殊要求的系统进行的测试,主要分为三种:

1.实时大数据量:模拟用户工作时的实时大数据量,主要目的是测试用户较多或者某些业务产生较大数据量时,系统能否稳定地运行。

2.极限状态下的测试:主要是测试系统使用一段时间即系统累积一定量的数据时,能否正常地运行业务

3.前面两种的结合:测试系统已经累积较大数据量时,一些实时产生较大数据量的模块能否稳定地工作。

大数据量测试用例的设计:1,历史数据引起的大数据量测试和2运行时大数据量测试

首先确定系统数据的最长迁移周期和选择一些前面的核心模块或者组合模块的并发用户测试用例作为其主要内容即可.

服务器性能测试

性能测试的主要目的是在软件功能良好的前提下,发现系统瓶颈并解决,而软件和服务器是产生瓶颈的两大来源,因此在进行用户并发性能测试,疲劳强度与大数据量性能测试时,完成对服务器性能的监控,并对服务器性能进行评估。

服务器性能测试用例设计就是确定要采集的性能计数器,并将其与前面的测试关联起来。

设计性能测试用例注意的原则:

可以满足预期性能指标测试用例要求的,就没有必要设计更多的内容,因为用例越多,执行的成本也越高。

一定要服从整体性能测试策略,千万不能仅从技术角度来考虑设计“全面”的测试用例,“全面”应该以是否满足自己的测试要求作为标准。

适当裁剪原则

只有根据实际项目的特点制定合理的性能测试策略、编写适当的性能测试用例,并在测试实施中灵活地变通才可以做好性能测试工作。

测试计划:主要包含测试范围、测试环境、测试方案简介、风险分析等,测试计划要进行评审后方可生效。

测试报告:主要包含测试过程记录、测试分析结果、系统调整建议等。

测试经验总结:不断总结工作经验是建立学习型团队的基础,实践-总结-再实践

我推荐各位Web 2.0开发测试人员使用Microsoft 的Web Application Stress Tool这个工具软件,这个微软提供的小工具仅9.58M,很小巧且实用。虽然功能上比不了专业的LoadRunner,但LoadRunner体积庞大,价格不菲,一般的企业也不会花那么多钱去购买LoadRunner,而微软的WAS则是完全免费,并且主要的功能都有,够用就行。

  Microsoft Web Application Stress Tool能有效测试一个网站的负载性能,这个软件可以通过脚本模拟100个强并发用户的访问,并模拟实际用户的一些点击操作,WAS还可以连接上远程Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能(CPU/内存等)的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销,CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。

每次测试运行结束后WAS会生成详细的报表,WAS报表可以从View菜单选择Reports查看。

十大测试工具

  另外,CSDN也总结了一些其他的测试工具,包括性能测试工具和功能测试工具,前十大测试工具排名如下:

  业级自动化测试工具WinRunner

  Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

  工业标准级负载测试工具Loadrunner

  LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

  全球测试管理系统testdirector

  TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。

  功能测试工具Rational Robot

  IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

  单元测试工具xUnit系列

  目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为 JUnitjava),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和 Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit.

  功能测试工具SilkTest

  Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。

  性能测试工具WAS

  Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。

  自动化白盒测试工具Jtest

  Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。

  功能和性能测试的工具JMeter

  JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

  性能测试和分析工具WEBLODE

  webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

网站代码验证 没人可以细致到保证自己的网站代码都是正确的,你可以通过以下测试来验证网站代码是否正确。
1 . WDG HTML Validator 一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。( 强烈推荐 )
2 . W3C Markup Validation Service 对 HTML 和 XHTML 都能进行代码测试,自称是互联上第一个(也是使用者最多的)的 HTML 验证工具。
3 . W3C CSS Validation Service 用于验证 css 源代码,能够标注出不好的 css 代码设计。例如:“Same colors for color and background-color in two contexts”。
4 . RUWF XML Syntax Checker 用于查找 XML 文件的错误。
5 . W3C Feed Validation Service 用于查找 Atom 和 RSS feed 中的错误语法。( 这个我经常用到 )
6 . W3C Link Checker 用于搜寻查明你网站内的所有链接里是否有断链。( 强烈推荐 )
7 . Juicy Studio Link Analyser 测试网站内的链接的 URL 是否存在死链,与 W3C Link Checker 很类似。

网站的使用性
我们常常看到网站设计者把重点放在怎网站的吸引力上,而完全不考虑会不会影响来访者的使用,一个浏览难度很大 的网页是注定要失败,要让你的来访者方便的得到他要的信息(从而成为重复访客),你的网站应当遵循 WCAG section 508 易用性规则。
8 . Watchfire WebXACT 所有严谨的设计师和开发者都必须使用的工具,它会生成一个非常详尽的报告书,包括:网站质量,易用性和隐私等。(强烈推荐 )
9 . ATRC Web Accessibility Checker 测试网站的 WCAG 2.0 Level2 兼容性,它会生成一份报告,提出一系列建议,如:如何提升页头,链接,数据,图表和文字的访问速度。
10 . WAVE 3.0 Web Accessibility Tool 高度可定制的工具,它采用了图形化模型展示网站兼容性问题( WCAG 1.0 and section 508 )。( 强烈推荐 )
11 . TAW Web Accessibility Test 测试网页是否存在冲突( WCAG 1.0 兼容性),通过图形模式生成一份依据 wcag 优先模式为基础的网站修改建议。
12 . HiSoftware CynthiaSays portal 采用了非常严格的规则来测试网页( 根据 section 508 和 WCAG 1.0 规则 ),生成的报告也极为详细( 详细到很难看懂 )。
13 . HERA Accessibility testing with Style. 使用一种极为复杂但容易理解方式指出网页的 wcag1.0 兼容性问题。
14 . Juicy Studio CSS Analyser 进行了色彩对比测试,以确保你的网站的色调会符合 WCAG 1.0 的要求。
15 . Juiciy Studio Readability Test 分析你网站上的文字是否有语法错误或拼写错误等问题,容易让人理解不( 根据 the Flesch Reading Ease 和 Flesch-Kincaid grade level algorithms 规则 )。( 适合英文网站使用 )

网站的速度
打开你的网站的速度快慢,是来访者会不会再次访问网站的关键因素,在一般情况下,一个网络不是很快的来访者是不 愿意访问一个充满着图片、flash 动画、多媒体文件的网站。为了使你的网站覆盖人群的范围最大化,你必须优化你的网站,使它的打开速度尽可能的快。
16 . Web Page Analyzer from Website Optimization 一个很好的工具,它在分析完一个网页后,会为减少加载时间提出优化建议,着重优化物体的数目,图片和网站的总体大小。( 强烈推荐 )
17 . WebSitePulse Test Tools 有一系列的工具来确定网站的加载速度和主机信息。
18 . Internet Supervision Url Check 从世界各地不同的服务器来测试你的网站的加载时间,用于确定是不是各地的来访者都能顺利快速的打开你得网站。

浏览器模拟工具
这是一个普遍的问题,因为现在有着很多的操作系统和浏览器,你得网站必须得兼容它们,但这绝不是一件容易的 事。通过下列工具,你可以了解你得网站在各种浏览器上的显示效果。
19 . Browsershots 能给出你的网站在不同浏览器下显示效果的截图,包括:Firefox 和 Internet Explorer ( Windows )、Firefox 和 Safari ( Mac OS X )、Iceweasal 和 Konqueror ( Linux ),但是结果要在 1 – 3 小时后才能出来。
20 . IE NetRenderer 实时生成你的网站在 Internet Explorer 5.5 、6.0 和 7.0 下的截图。
21 . MobiReady Report 分析使用手机访问网页的兼容性问题,会生成一份详细的报告,并提供了在两种不同类型的手机浏览器上你得网站可能显示的样子。

搜索引擎优化 (SEO)
一个网站,如果对搜索引擎有着比较好的友好度,一定会比较有竞争力。
22 . UrlTrends 会显示网站的访客是如何通过搜索引擎来到你的网站,还有各个流量是多少。这些数据是包括 Google, Yahoo, MSN, Alexa, AlltheWeb, AltaVista 和其他一些网站。( 强烈推荐 )
23 . iWEBTOOL Backlink Checker 一个很好的工具,它能找出有什么站点链接到你的站点,那些站点是什么类型的站点。
24 . iWEBTOOL Multi-Rank Checker 显示你网站的 Alexa 和 Google PageRank 数值。
25 . Microsoft adCenter Labs: Advertising and Keyword Research Tools 一个极好的工具,用于分析和预测你网站的来访者和市场。( 强烈推荐 )
26 . Domain Tools Whois lookup 一个 WHOIS 网络工具。
27 .


TAG:

 

评分:0

我来说两句

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 105187
  • 日志数: 69
  • 建立时间: 2011-01-04
  • 更新时间: 2011-05-10

RSS订阅

Open Toolbar