软件测试是质量的保证。 2008年大家一起努力吧!

发布新日志

  • 软件测试常识

    2008-04-14 19:23:57

        软件开发和使用的历史已经留给了我们很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使我们这些测试工程师们必须采取强有力的检测措施来检测未发现的隐藏的软件缺陷

     

    生产软件的最终目的是为了满足客户需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷( Software Bug )的具体含义包括下面几个因素:

    •  软件未达到客户需求的功能和性能

    •  软件超出客户需求的范围

    •  软件出现客户需求不能容忍的错误

    •  软件的使用未能符合客户的习惯和工作环境

     

    考虑到设计等方面的因素,我们还可以认为软件缺陷还可以包括软件设计不符合规范,未能在特定的条件(资金、范围等)达到最佳等。可惜的是,我们中的很多人更倾向于把软件缺陷看成运行时出现问题上来,认为软件测试仅限于程序提交之后。

    在目前的国内环境下,我们几乎看不到完整准确的客户需求说明书,加以客户的需求时时在变,追求完美的测试变得不太可能。因此作为一个优异的测试人员,追求软件质量的完美固然是我们的宗旨,但是明确软件测试现实与理想的差距,在软件测试中学会取舍和让步,对软件测试是有百益而无一弊的。

    下面是一些软件测试的常识,对这些常识的理解和运用将有助于我们在进行软件测试时能够更好的把握软件测试的尺度

     

    •  测试是不完全的(测试不完全)

    很显然,由于软件需求的不完整性、软件逻辑路径的组合性、输入数据的大量性及结果多样性等因素,哪怕是一个极其简单的程序,要想穷尽所有逻辑路径,所有输入数据和验证所有结果是非常困难的一件事情。我们举一个简单的例子,比如说求两个整数的最大公约数。其输入信息为两个正整数。但是如果我们将整个正整数域的数字进行一番测试的话,从其数目的无限性我们便可证明是这样的测试在实际生活中是行不通的,即便某一天我们能够穷尽该程序,只怕我们乃至我们的子孙都早已作古了。为此作为软件测试,我们一般采用等价类和边界值分析等措施来进行实际的软件测试,寻找最小用例集合成为我们精简测试复杂性的一条必经之道。

     

    •  测试具有免疫性(软件缺陷免疫性)

    软件缺陷与病毒一样具有可怕的 “ 免疫性 ” ,测试人员对其采用的测试越多,其免疫能力就越强,寻找更多软件缺陷就更加困难。由数学上的概率论我们可以推出这一结论。假设一个 50000 行的程序中有 500 个软件缺陷并且这些软件错误分布时均匀的,则每 100 行可以找到一个软件缺陷。我们假设测试人员用某种方法花在查找软件缺陷的精力为 X 小时 /100 行。照此推算,软件存在 500 个缺陷时,我们查找一个软件缺陷需要 X 小时,当软件只存在 5 个错误时,我们每查找一个软件缺陷需要 100X 小时。实践证明,实际的测试过程比上面的假设更为苛刻,为此我们必须更换不同的测试方式和测试数据。该例子还说明了在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试。

     

    •  测试是 “ 泛型概念 ” (全程测试)

    我一直反对软件测试仅存在于程序完成之后。如果单纯的只将程序设计阶段后的阶段称之为软件测试的话,需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。需求缺陷、设计缺陷也是软件缺陷,记住 “ 软件缺陷具有生育能力 ” 。软件测试应该跨越整个软件开发流程。需求验证(自检)和设计验证(自检)也可以算作软件测试(建议称为:需求测试和设计测试)的一种。软件测试应该是一个泛型概念,涵盖整个软件生命周期,这样才能确保周期的每个阶段禁得起考验。同时测试本身也需要有第三者进行评估(信息系统审计和软件工程监理),即测试本身也应当被测试,从而确保测试自身的可靠性和高效性。否则自身不正,难以服人。

    另外还需指出的是软件测试是提高软件产品质量的必要条件而非充分条件,软件测试是提高产品质量最直接、最快捷的手段,但决不是一个根本手段。

     

    •  80-20 原则

    80% 的软件缺陷常常生存在软件 20% 的空间里。这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临其高危多发 “ 地段 ” 。在那里发现软件缺陷的可能性会大的多。这一原则对于软件测试人员提高测试效率及缺陷发现率有着重大的意义。聪明的测试人员会根据这个原则很快找出较多的缺陷而愚蠢的测试人员却仍在漫无目的地到处搜寻。

    80-20 原则的另外一种情况是,我们在系统分析、系统设计、系统实现阶段的复审,测试工作中能够发现和避免 80% 的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的 80% ,最后的 5% 的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。因为软件测试只能够保证尽可能多地发现软件缺陷,却无法保证能够发现所有的软件缺陷。

    80-20 原则还能反映到软件测试的自动化方面上来,实践证明 80% 的软件缺陷可以借助人工测试而发现, 20% 的软件缺陷可以借助自动化测试能够得以发现。由于这二者间具有交叉的部分,因此尚有 5% 左右的软件缺陷需要通过其他方式进行发现和修正。

     

    •  为效益而测试

    为什么我们要实施软件测试,是为了提高项目的质量效益最终以提高项目的总体效益。为此我们不难得出我们在实施软件测试应该掌握的度。软件测试应该在软件测试成本和软件质量效益两者间找到一个平衡点。这个平衡点就是我们在实施软件测试时应该遵守的度。单方面的追求都必然损害软件测试存在的价值和意义。一般说来,在软件测试中我们应该尽量地保持软件测试简单性,切勿将软件测试过度复杂化,拿物理学家爱因斯坦的话说就是: Keep it simple but not too simple 。

     

    •  缺陷的必然性

    软件测试中,由于错误的关联性,并不是所有的软件缺陷都能够得以修复。某些软件缺陷虽然能够得以修复但在修复的过程中我们会难免引入新的软件缺陷。很多软件缺陷之间是相互矛盾的,一个矛盾的消失必然会引发另外一个矛盾的产生。比如我们在解决通用性的缺陷后往往会带来执行效率上的缺陷。更何况在缺陷的修复过程中,我们常常还会受时间、成本等方面的限制因此无法有效、完整地修复所有的软件缺陷。因此评估软件缺陷的重要度、影响范围,选择一个折中的方案或是从非软件的因素(比如提升硬件性能)考虑软件缺陷成为我们在面对软件缺陷时一个必须直面的事实。

     

    •  软件测试必须有预期结果

    没有预期结果的测试是不可理喻的。软件缺陷是经过对比而得出来的。这正如没有标准无法进行度量一样。如果我们事先不知道或是无法肯定预期的结果,我们必然无法了解测试正确性。这很容易然人感觉如盲人摸象一般,不少测试人员常常凭借自身的感觉去评判软件缺陷的发生,其结果往往是把似是而非的东西作为正确的结果来判断,因此常常出现误测的现象。

     

    •  软件测试的意义 - 事后分析

    软件测试的目的单单是发现缺陷这么简单吗?如果是 “ 是 ” 的话,我敢保证,类似的软件缺陷在下一次新项目的软件测试中还会发生。古语说得好, “ 不知道历史的人必然会重蹈覆辙 ” 。没有对软件测试结果进行认真的分析,我们就无法了解缺陷发生的原因和应对措施,结果是我们不得不耗费的大量的人力和物力来再次查找软件缺陷。很可惜,目前大多测试团队都没有意识到这一点,测试报告中缺乏测试结果分析这一环节。

     

    结论:

    软件测试是一个需要 “ 自觉 ” 的过程,作为一个测试人员,遇事沉着,把持尺度,从根本上应对软件测试有着正确的认识,希望本文对读者对软件测试的认识有所帮助。

  • 关于WEB测试

    2008-04-14 11:49:17

    关于web测试
    1  页面部分
    (1) 页面清单是否完整(是否已经将所需要的页面全部都列出来了)
    (2) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示)
    (3) 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)
    (4) 页面特殊效果(如特殊字体效果、动画效果)是否显示
    (5) 页面特殊效果显示是否正确

    2 页面元素部分
    (1)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
    (2)素是否显示(元素是否存在)
    (3)页面元素是否显示正确(主要针对文字、图形、签章)
    (4)页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)
    (5) 页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)
    (6) 页面元素的容错性列表(如输入框、时间列表或日历)
    (7) 页面元素的容错性是否存在
    (8) 页面元素的容错性是否正确

    3 功能部分
    (1) 数据初始化是否执行
    (2) 数据初始化是否正确
    (3) 数据处理功能是否执行
    (4) 数据处理功能是否正确
    (5) 数据保存是否执行
    (6) 数据保存是否正确
    (7) 是否对
    其他功能有影响
    (8) 如果影响其他功能,系统能否作出正确的反应
    (9) 其他错误
    (10) 对模块的具体功能进行
    测试时可以列出功能模块的所有功能,进行排列组合,测试所有情况
    如:某一功能模块具有最基本的增删改查功能,则需要进行以下测试
    单项
    功能测试(增加、修改、查询、删除)
    增加——>增加——>增加 (连续增加测试)
    增加——>删除
    增加——>删除——>增加 (新增加的内容与删除内容一致)
    增加——>修改——>删除
    修改——>修改——>修改 (连续修改测试)
    修改——>增加 (新增加的内容与修改前内容一致)
    修改——>删除
    修改——>删除——>增加 (新增加的内容与删除内容一致)
    删除——>删除——>删除 (连续删除测试)
    (11)查询功能分为两种情况,验证操作结果。
    一、打开页面时自动显示结果,则不特别强调;
    二、需要手工操作进行查询,则每次在其他功能完成后进行。


    4 提示信息
    (1) 成功、失败提示
    (2) 操作结果提示
    (3) 确认提示
    (4) 危险操作、重要操作提示
    (5) 返回页面 提示后显示的页面


    5 容错性
    注意以下几种情况
    (1) 为空、非空
    (2) 唯一性
    (3 )字长、格式
    (4) 数字、邮政编码、金额、电话、电子邮件、ID号、密码
    (5) 日期、时间
    (6) 特殊字符 (对
    数据库)英文单、双引号,&符号


    6 权限部分
    功能权限: 指定用户可以使用那些功能,不能使用那些功能
    数据权限: 指定用户可以处理那些数据,不可以处理那些数据。可
    以合并到功能测试
    操作权限: 在逻辑关系上,操作前后顺序、数据处理情况。可以合
    并到功能测试
    权限变化: 可以合并到功能测试

    (1) 功能权限是否存在
    (2 )功能权限是否正确
    (3) 数据权限是否存在
    (4) 数据权限是否正确
    (5)操作权限是否存在
    (6) 操作权限是否正确
    (7) 引起权限变化的功能列表
    (8) 功能权限变化还是数据权限变化,或两者兼有
    (9) 权限变化是否正确

    7 键盘操作
    (1) Tab键的使用
    (2) 上下方向键的使用
    (3) Enter键的使用
    (4) 系统设定快捷键的使用(如果设置有快捷键)

    8 测试中还应注意的其他事项
    (6) 完整性:是否是一个整体,没有功能缺损
    (7) 易用性:使用是否方便
    (8) 一致性:类似的问题用类似的方法处理
    (9) 提示信息:提示信息是否完整、正确、详细
    (10) 帮助信息:是否提供帮助信息,帮助信息的表现形式(页面文字、提示信息、帮助文件),帮助信息是否正确、详细
    (11) 兼容性:包括
    操作系统兼容和应用软件兼容,可能还包括硬件兼容
    (12) 可扩展性:是否由升级的余地,是否保留了接口
    (13) 稳定性:运行所需的软硬件配置,占用资源情况,出现问题时的容错性,对数据的保护
    (14) 运行速度:运行的快慢,带宽占用情况

    有几点:
    1.功能点测试:是否满足需求所要求的功能
    2.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.
    3.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.
    4.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.
    5.中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.
    6.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.
    7.界面测试:界面的正确性、一致性、友好性、易用性。

    用户界面测试是从最终的使用者用户的角度来看软件,软件难以理解,不易使用就是软件缺陷。可以从以下几个方面重点来检查用户界面:
    1.易用性检查:确保软件易于理解,方便使用。
    2.一致性检查:
    a.注意系统页面的风格是否一致,如字的大小、颜色、字体要相同。
    b.提示信息的表达方式是否一致。
    c.按钮排列顺序是否一致。
    d.back, cancel等按钮跳转页面处理是否一致。
    e.各字段的名称,位置、长度、类型是否和设计文档要求一致,如Employee No和LoginName不一致。
    3.正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
    4.友好性检查:
    a.提示信息是否友好.
    b.系统应该在用户执行错误的操作之前提出警告,提示信息.
    c.页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
    5.合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
    6.检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。
    7.页面最大化检查:测试最大化/最小化/还原时页面是否做了对应的处理。

     

  • LoadRunner中性能数据翻译

    2008-04-14 11:43:32

    Transactions(用户事务分析)
    用户事务分析是站在用户角度进行的基础性能分析。
    1、Transation Sunmmary(事务综述)
    对事务进行综合分析是性能分析的第一步,通过分析测试时间内用户事务的成功与失败情况,可以直接判断出系统是否运行正常。
    2、Average Transaciton Response Time(事务平均响应时间)
    “事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。
    例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势。
    3、Transactions per Second(每秒通过事务数/TPS)
    “每秒通过事务数/TPS”显示在场景运行的每一秒钟,每个事务通过、失败以及停止的数量,使考查系统性能的一个重要参数。通过它可以确定系统在任何给定时刻的时间事务负载。分析TPS主要是看曲线的性能走向。
    将它与平均事务响应时间进行对比,可以分析事务数目对执行时间的影响。
    例:当压力加大时,点击率/TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务开始出现瓶颈。
    4、Total Transactions per Second(每秒通过事务总数)
    “每秒通过事务总数”显示在场景运行时,在每一秒内通过的事务总数、失败的事务总署以及停止的事务总数。
    5、Transaction Performance Sunmmary(事务性能摘要)
    “事务性能摘要”显示方案中所有事务的最小、最大和平均执行时间,可以直接判断响应时间是否符合用户的要求。
    重点关注事务的平均和最大执行时间,如果其范围不在用户可以接受的时间范围内,需要进行原因分析。
    6、Transaction Response Time Under Load(事务响应时间与负载)
    “事务响应时间与负载”是“正在运行的虚拟用户”图和“平均响应事务时间”图的组合,通过它可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据,为扩展用户系统提供参考。此图可以查看虚拟用户负载对执行时间的总体影响,对分析具有渐变负载的测试场景比较有用。
    7、Transaction Response Time(Percentile)(事务响应时间(百分比))
    “事务响应时间(百分比)”是根据测试结果进行分析而得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。通过它可以分析在给定事务响应时间范围内能执行的事务百分比。
    8、Transaction Response Time(Distribution)(事务响应时间(分布))
    “事务响应时间(分布)”显示在场景运行过程中,事务执行所用时间的分布,通过它可以了解测试过程中不同响应时间的事务数量。如果系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定服务器性能是否在可以接受的范围内。

    Web Resources(Web资源分析)
    Web资源分析是从服务器入手对Web服务器的性能分析。
    1、Hits per Second(每秒点击次数)
    “每秒点击次数”,即使运行场景过程中虚拟用户每秒向Web服务器提交的HTTP请求数。
    通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。
    2、Throughput(吞吐率)
    “吞吐率”显示的是场景运行过程中服务器的每秒的吞吐量。其度量单位是字节,表示虚拟用在任何给定的每一秒从服务器获得的数据量。
    可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。
    “吞吐率”图和“点击率”图的区别:
    “吞吐率”图,是每秒服务器处理的HTTP申请数。
    “点击率”图,是客户端每秒从服务器获得的总数据量。
    3、HTTP Status Code Summary(HTTP状态代码概要)
    “HTTP状态代码概要”显示场景或会话步骤过程中从Web服务器返回的HTTP状态代码数,该图按照代码分组。HTTP状态代码表示HTTP请求的状态。
    4、HTTP Responses per Second(每秒HTTP响应数)
    “每秒HTTP响应数”是显示运行场景过程中每秒从Web服务器返回的不同HTTP状态代码的数量,还能返回其它各类状态码的信息,通过分析状态码,可以判断服务器在压力下的运行情况,也可以通过对图中显示的结果进行分组,进而定位生成错误的代码脚本。
    5、Pages Downloader per Second(每秒下载页面数)
    “每秒下载页面数”显示场景或会话步骤运行的每一秒内从服务器下载的网页数。使用此图可依据下载的页数来计算Vuser生成的负载量。
    和吞吐量图一样,每秒下载页面数图标是Vuser在给定的任一秒内从服务器接收到的数据量。但是吞吐量考虑的各个资源极其大小(例,每个GIF文件的大小、每个网页的大小)。而每秒下载页面数只考虑页面数。
    注:要查看每秒下载页数图,必须在R-T-S那里设置“每秒页面数(仅HTML模式)”。
    6、Retries per Second(每秒重试次数)
    “每秒重试次数”显示场景或会话步骤运行的每一秒内服务器尝试的连接次数。
    在下列情况将重试服务器连接:
    A、初始连接未经授权
    B、要求代理服务器身份验证
    C、服务器关闭了初始连接
    D、初始连接无法连接到服务器
    E、服务器最初无法解析负载生成器的IP地址
    7、Retries Summary(重试次数概要)
    “重试次数概要”显示场景或会话步骤运行过程中服务器尝试的连接次数,它按照重试原因分组。将此图与每秒重试次数图一起使用可以确定场景或会话步骤运行过程中服务器在哪个时间点进行了重试。
    8、Connections(连接数)
    “连接数”显示场景或会话步骤运行过程中每个时间点打开的TCP/IP连接数。
    借助此图,可以知道何时需要添加其他连接。
    例:当连接数到达稳定状态而事务响应时间迅速增大时,添加连接可以使性能得到极大提高(事务响应时间将降低)。
    9、Connections Per Second(每秒连接数)
    “每秒连接数”显示方案在运行过程中每秒建立的TCP/IP连接数。
    理想情况下,很多HTTP请求都应该使用同一连接,而不是每个请求都新打开一个连接。通过每秒连接数图可以看出服务器的处理情况,就表明服务器的性能在逐渐下降。
    10、SSLs Per Second(每秒SSL连接数)
    “每秒SSL连接数”显示场景或会话步骤运行的每一秒内打开的新的以及重新使用的SSL连接数。当对安全服务器打开TCP/IP连接后,浏览器将打开SSL连接。

    Web Page Breakdown(网页元素细分)
    “网页元素细分”主要用来评估页面内容是否影响事务的响应时间,通过它可以深入地分析网站上那些下载很慢的图形或中断的连接等有问题的
    元素。
    1、Web Page Breakdown(页面分解总图)
    “页面分解”显示某一具体事务在测试过程的响应情况,进而分析相关的事务运行是否正常。
    “页面分解”图可以按下面四种方式进行进一步细分:
    1)、Download Time Breaddown(下载时间细分)
    “下载时间细分”图显示网页中不同元素的下载时间,同时还可按照下载过程把时间进行分解,用不同的颜色来显示DNS解析时间、建立连接时间、第一次缓冲时间等各自所占比例。
    2)、Component Breakdown(Over Time)(组件细分(随时间变化))
    “组件细分”图显示选定网页的页面组件随时间变化的细分图。通过该图可以很容易的看出哪些元素在测试过程中下载时间不稳定。该图特别适用于需要在客户端下载控件较多的页面,通过分析控件的响应时间,很容易就能发现那些控件不稳定或者比较耗时。
    3)、Download Time Breakdown(Over Time)(下载时间细分(随时间变化))
    “下载时间细分(随时间变化)” 图显示选定网页的页面元素下载时间细分(随时间变化)情况,它非常清晰地显示了页面各个元素在压力测试过程中的下载情况。
    “下载时间细分”图显示的是整个测试过程页面元素响应的时间统计分析结果,“下载时间细分(随时间变化)”显示的事场景运行过程中每一秒内页面元素响应时间的统计结果,两者分别从宏观和微观角度来分析页面元素的下载时间。
    4)、Time to First Buffer Breakdown(Over Time)(第一次缓冲时间细分(随时间变化))
    “第一次缓冲时间细分(随时间变化)”图显示成功收到从Web服务器返回的第一次缓冲之前的这段时间,场景或会话步骤运行的每一秒中每个网页组件的服务器时间和网络时间(以秒为单位)。可以使用该图确定场景或会话步骤运行期间服务器或网络出现问题的时间。
    First Buffer Time:是指客户端与服务器端建立连接后,从服务器发送第一个数据包开始计时,数据经过网络传送到客户端,到浏览器接收到第一个缓冲所用的时间。
    2、Page Component Breakdown(页面组件细分)
    “页面组件细分”图显示每个网页及其组件的平均下载时间(以秒为单位)。可以根据下载组件所用的平均秒数对图列进行排序,通过它有助于隔离有问题的组件。
    3、Page Component Breakdown(Over Time)(页面组件分解(随时间变化))
    “页面组件分解(随时间变化)”图显示在方案运行期间的每一秒内每个网页及其组件的平均响应时间 (以秒为单位)。
    4、Page Download Time Breakdown(页面下载时间细分)
    “页面下载时间细分”图显示每个页面组件下载时间的细分,可以根据它确定在网页下载期间事务响应时间缓慢是由网络错误引起还是由服务器错误引起。
    “页面下载时间细分”图根据DNS解析时间、连接时间、第一次缓冲时间、SSL握手时间、接收时间、FTP验证时间、客户端时间和错误时间来对每个组件的下载过程进行细分。
    5、Page Download Time Breakdown(Over Time)(页面下载时间细分(随时间变化))
    “页面下载时间细分(随时间变化)”图显示方案运行期间,每一秒内每个页面组件下载时间的细分。使用此图可以确定网络或服务器在方案执行期间哪一时间点发生了问题。
    “页面组件细分(随时间变化)”图和“页面下载时间细分(随时间变化)”图通常结合起来进行分析:首先确定有问题的组件,然后分析它们的下载过程,进而定位原因在哪里。
    6、Time to First Buffer Breakdown(第一次缓冲时间细分)
    “第一次缓冲时间细分”图显示成功收到从Web服务器返回的第一次缓冲之前的这一段时间内的每个页面组件的相关服务器/网路时间。如果组件的下载时间很长,则可以使用此图确定产生的问题与服务器有关还是与网络有关。
    网络时间:定义为第一个HTTP请求那一刻开始,直到确认为止所经过的平均时间。
    服务器时间:定义为从收到初始HTTP请求确认开始,直到成功收到来自Web服务器的一次缓冲为止所经过的平均时间。
    7、Time to First Buffer Breakdown(Over Time)(第一次缓冲时间细分(随时间变化))
    “第一次缓冲时间细分(随时间变化)”图显示成功收到从Web服务器返回的第一个缓冲之前的这段时间内,场景运行的每一秒中每个网页组件的服务器时间和网络时间。可以使用此图确定场景运行期间服务器或网络出现问题的时间点。
    8、Downloader Component Size(KB)(已下载组件大小)
    “已下载组件大小”图显示每个已经下载的网页组建的大小。通过它可以直接看出哪些组件比较大并需要进一步进行优化以提高性能。

  • TD 自动运行WR和QTP脚本及发送邮件的配置说明

    2008-04-14 10:49:50

    基本步骤:

     

     Setp 1:安装必须的插件

     

         欲自动运行WR需要在本机上装如下插件:

         TD add-ins页面中下载安装:TestDirector ConnectivityTestDirector System Test Remote AgentTestDirector Client Side Setup

         欲自动运行QTP需要在本机上装如下插件:

         More TD add-ins 页面中下载安装: QuickTest Professional/Astra QuickTest Add-in( 注意版本的匹配性)

    接下来以QTP脚本为例,WRLR的处理类似

     

     

    Step2: QTP连接TD并将脚本同步至TD

     

         A:tool中选择Quality center connection

           server处输入: http://TD服务器IP/tdbin  connect

           project connection里填写正确的domainprojectuserpassword connect .

           注意勾选上:reconnect on stratupsave password

         B:本地录制编辑完脚本后,选择file->save as,出现一个保存界面,在左边的category里将脚本同步到TD服务器的相关位置,右边的file system里保存至本地。

         备注:将脚本同步到TD,有很多方法,可以直接在TDlaunch QTP来录制脚本,也可以利用一些工具如Import Tests 来同步脚本。

     

     

    Step3:在配置自动运行的环境:

     

           A: QTP tool->options->run 中勾选 allow other mercury products to run tests .

           B: TD中已经保存相应脚本的project中进行如下操作:

               Test lab->host->host manager  中配置远端主机。

           C:配置脚本测试集及运行环境

          首先:在test lab->exection flow-> slecct tests 选择待测试的脚本,并配置各脚本的关联关系。        

     

         其次:设置定时器:右键点击脚本,选择test run schedule,配置定时器     

         最后:点击run test set ,配置运行环境,最后点runrun all,所配置的脚本进入等待运行状态,定时运行。

        注意:如果是控制远端机运行脚本,必须把默认勾选的run all test locally去掉

        PS:以上步骤也可以在test labexection grid中完成。

     

     

    Step4:配置自动邮件:

     

         A:TD SiteAdmin->td server中配置mail protocol

          B:TD相应projecttestlab->test set properties 中配置notifications项添加邮件接收人,邮件基本内容等。

         C:通过在tool->change user properties可以设置发件人的邮箱名。

    完成以上配置后,大功告成,在脚本自动运行完后,就可以接收到运行结果的邮件了

     

     

  • 软件测试常用单词

    2008-01-23 12:29:55

    软件测试常用单词:


    1.静态测试:Non-Execution-Based Testing或Static testing
        代码走查:Walkthrough
        代码审查:Code Inspection
        技术评审:Review
    2.动态测试:Execution-Based Testing
    3.白盒测试:White-Box Testing
    4.黑盒测试:Black-Box Testing
    5.灰盒测试:Gray-Box Testing
    6.软件质量保证SQA:Software Quality Assurance
    7.软件开发生命周期:Software Development Life Cycle
    8.冒烟测试:Smoke Test
    9.回归测试:Regression Test
    10.功能测试:Function Testing
    11.性能测试:Performance Testing
    12.压力测试:Stress Testing
    13.负载测试:Volume Testing
    14.易用性测试:Usability Testing
    15.安装测试:Installation Testing
    16.界面测试:UI Testing
    17.配置测试:Configuration Testing
    18.文档测试:Documentation Testing
    19.兼容性测试:Compatibility Testing
    20.安全性测试:Security Testing
    21.恢复测试:Recovery Testing
    22.单元测试:Unit Tes
    23.集成测试:Integration Test
    24.系统测试:System Test
    25.验收测试:Acceptance Test
    26.测试计划应包括:
        测试对象:The Test Objectives,
        测试范围: The Test Scope,
        测试策略: The Test Strategy
        测试方法: The Test Approach,
        测试过程: The test procedures,
        测试环境: The Test Environment,
        测试完成标准:The test Completion criteria
        测试用例:The Test Cases
        测试进度表:The Test Schedules
        风险:Risks Etc
    27.主测试计划: a master test plan
    28.需求规格说明书:The Test Specifications
    29.需求分析阶段:The Requirements Phase
    30.接口:Interface
    31.最终用户:The End User
    31.正式的测试环境:Formal Test Environment
    32.确认需求:Verifying The Requirements
    33.有分歧的需求:Ambiguous Requirements
    34.运行和维护:Operation and Maintenance.
    35.可复用性:Reusability
    36.可靠性: Reliability/Availability
    37.电机电子工程师协会IEEE:The Institute of Electrical and Electronics Engineers)
    38.要从以下几方面测试软件:
    正确性:Correctness
    实用性:Utility
    性能:Performance
    健壮性:Robustness
    可靠性:Reliability

    关于Bugzilla:
    1.Bug按严重程度(Severity)分为:
    Blocker,阻碍开发和/或测试工作
            Critical,死机,丢失数据,内存溢出
            Major,较大的功能缺陷
            Normal,普通的功能缺陷
            Minor,较轻的功能缺陷
    Trivial,产品外观上的问题或一些不影响使用的小毛病,如菜单或对话框中的文字拼写或字体问题等等
        Enhancement,建议或意见
    2.Bug按报告状态分类(Status)
      待确认的(Unconfirmed)
          新提交的(New)
        已分配的(Assigned)
      问题未解决的(Reopened)
          待返测的(Resolved)
          待归档的(Verified)
          已归档的(Closed)
    3.Bug处理意见(Resolution)
                  已修改的(Fixed)
    不是问题(Invalid)
                  无法修改(Wontfix)
        以后版本解决(Later)
              保留(Remind)
                    重复(Duplicate)
              无法重现(Worksforme)

数据统计

  • 访问量: 3394
  • 日志数: 5
  • 建立时间: 2008-01-23
  • 更新时间: 2008-04-14

RSS订阅

Open Toolbar