软件测试之功能测试、性能测试经验谈

发表于:2009-4-16 16:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

分享:

  4.在新版应用程序执行测试脚本

  当应用程序有新版本发布时,我们会对应用程序的各种功能包括新增功能进行测试,这时当然不可能再来重新录制和编写所有的测试脚本。我们可以使用已有的脚本,批量运行这些测试脚本测试旧的功能点是否正常工作。可以使用一个call命令来加载各测试脚本。还可在call命令中加各种TSL脚本来增加批量能力。

  5.分析测试结果

  分析测试结果在整个测试过程中最重要,通过分析可以发现应用程序的各种功能性缺陷。当运行完某个测试脚本后,会产生一个测试报告,从这个测试报告中我们能发现应用程序的功能性缺陷,能看到实际结果和期望结果之间的差异,以及在测试过程中产生的各类对话框等。

  6.回报缺陷(defect)

  在分析完测试报告后,按照测试流程要回报应用程序的各种缺陷,然后将这些缺陷发给指定人,以便进行修改和维护。

  性能测试的三大步骤

  第一步 准备和组织是性能测试过程的第一步,在这个阶段,需要明确性能测试的目标和需求,并组织起合适的人员,制订性能测试计划。

  一般来说,性能测试的应用领域分为能力验证、能力规划、性能调优和缺陷修复四个方面。其中能力验证表明测试的目的是验证系统能力是否达到预期的性能标准; 能力规划是要考察系统的可扩展性; 性能调优则是为了找到系统的性能瓶颈,为性能调优提供依据; 缺陷修复是为了找出系统中存在的并发等方面的缺陷。

  明确目标也就是要把性能测试的目的归到相应的应用领域,而确定需求则是要更详细地确定性能测试的基准。对产品的性能测试需求的来源是软件需求、设计文档或是用户备忘录等设计和需求相关的文档。当然,并非所有的性能测试需求都在这些文档中以明确的方式标识出来,此时就需要根据不十分明确的文档描述进行进一步的细化。我们的经验是在文档评审时高度关注所有与性能相关的描述,例如“要求操作响应时间小于……”、“要求……能够快速……”、“要求……能够支持……用户访问”、“要求……能快速稳定运行”等,然后进行进一步的细化,从而作为测试的依据。

  性能测试涉及的设备、环境、技术、工具较多,性能测试人员的组织也必须兼顾这些方面。一个性能测试组最好包括系统工程师(负责测试环境搭建、服务器和应用服务器的配置)、网络工程师(负责网络环境的维护和验证)、性能分析工程师(负责测试计划的拟定,对性能测试结果进行分析,给出性能测试报告)、自动化工程师(负责测试脚本的编写和测试工具实施)、数据库工程师(负责对数据库层进行性能问题定位)。在条件允许的情况下,还可以包括开发工程师和客户代表,辅助对性能测试结果进行分析和确认。

  性能测试计划是用来指导性能测试过程的主要文档,在测试计划中除了要写明本次测试的测试目标、测试需求外,还需要在测试计划中给出明确的测试退出条件和测试的时间和资源计划。

  第二步 第二步测试设计,也是性能测试的主要内容。测试设计一般基于测试场景进行,一个测试场景就是一个用户的实际使用系统的剖面。

  在性能测试过程中,明确每个场景的参与者人数、比例和具体行为是非常重要的,这些都是构成性能测试脚本的基础。根据经验,可以从应用服务器的日志中分析用户行为。例如,对于一个OA系统,我们从日志中分析出在上午9:00~9:30时段内有200个查看邮件页面的page view,且查看时间基本集中在前10分钟; 而在9:00~9:30时间段内对BUG显示页面的查看量是300个page view,对页面的访问基本平均分配在整个时间段,则我们可以建立两个脚本,前一个脚本模拟查看邮件操作(脚本1),后一个脚本模拟查看BUG操作(脚本 2),考虑运行15分钟的测试场景,则只需在前5分钟运行脚本1,在整个过程中运行脚本2,通过调整think time使得page view达到实际的数值即可。

  当然,并不是每个不同的用户应用剖面都需要作为测试场景来设计,在多数情况下,可以通过对测试场景出现的几率、重要性、风险等进行分析,从而最终确定需要设计的测试场景。明确了场景之后,根据性能测试应用领域的不同,可以采用不同的性能测试方法来达到性能测试的目标。另外需要提醒的是,性能测试设计还应该包括测试环境、测试数据等的设计,因为影响系统性能的因素很多,保持测试过程中环境和数据的可控性是非常重要的。

  第三步 第三步性能测试结果分析,是性能测试过程中最困难,也是最重要的步骤。它需要分析人员对测试结果中的各项数据有准确的认识,明确各指标之间的关系。如果各项数据指标间没有明显联系,在多数情况下需要综合考虑各种因素,才能得出最终结论。

  根据经验,在性能测试过程中最容易发生的问题是数据库访问层问题、应用服务器配置问题以及网络问题。因此建议一般按照“从简至繁”的原则,先排除网络问题,其次对应用服务器配置进行分析,然后在数据库访问层进行性能分析,重点是索引、数据库Cache、死锁等问题的分析。在确认所有这些因素都不是性能瓶颈的情况下,才对代码进行分析和检查,找出导致性能问题的因素。

  只要看看现代软件的规模和功能点数就可以明白,功能测试早已跨越了单靠手工敲敲键盘、点点鼠标就可以完成的阶段。而性能测试则是控制系统性能的有效手段,在软件的能力验证、能力规划、性能调优、缺陷修复等方面都发挥着重要作用。

22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号