基于Rational 的B/S 架构软件自动化测试研究[6]

发表于:2010-06-24来源:作者:点击数: 标签:自动化架构rationalRATIONALRational
基于 Rational 的B/S 架构软件 自动化测试 研究[6] 软件测试 4.2.2 实施 测试计划 建立测试项目后,考虑到对于B/S 架构的高校BBS 系统, 性能测试 是最重要的测试部分,本实验使用Rational 性能 测试工具 Rational Performance Tester(简称 RPT )对其进行性

  基于Rational 的B/S 架构软件自动化测试研究[6] 软件测试

  4.2.2 实施测试计划

  建立测试项目后,考虑到对于B/S 架构的高校BBS 系统,性能测试是最重要的测试部分,本实验使用Rational 性能测试工具Rational Performance Tester(简称RPT)对其进行性能测试,我们期望BBS系统在多个用户并发访问时的页面平均响应时间和服务器吞吐量等指标在可以承受的范围之内。

  在开始B/S系统性能测试之前,先介绍几个相关概念:“负载测试”是为了测量Web 系统在某一负载级别上的性能,以保证Web 系统在需求范围内能正常工作[9]。“虚拟用户”是模拟浏览器向Web 服务器发送请求并接收响应的一个进程或线程。

  “响应时间”就是浏览器向Web 服务器提交一个请求到收到响应之间的间隔时间,它反映了站点中每个完整页面(包括所有内嵌对象,JavaScript 文件,CSS 等) 下载到终端用户所花费的时间。“吞吐量” 是单位时间内Web 服务器成功处理的HTTP 页面或HTTP 请求数量。“页面尝试”指一个请求被发出。

  “命中”是服务器收到请求并返回响应。“思考时间”是浏览器在收到响应后到提交下一个请求之间的间隔时间。“并发用户数”指Web 服务器在一段时间内为处理浏览器请求而建立的HTTP 连接数或生成的处理线程数。当所有在线用户发送HTTP 请求的思考时间为零时,Web 服务器的并发用户数等于在线用户数。

  另外与一个性能测试的相关概念“响应时间标准偏差”主要用于衡量某操作过程中系统的稳定性情况。介绍完以上概念,开始使用RPT建立性能测试项目,录制测试脚本并创建性能调度WebResponse。通过调度搭建测试场景,可以创建和设置不同用户组并分配其所占比重,实现不同角色的模拟访问,重复操作并模拟真实环境中的用户在进行不同业务操作时可能存在的思考和等待时间。

  在本次实验中,按照70%和30%的比例分配正式用户和匿名访问游客,并根据实际可能情况设置不同用户循环重复操作的次数,运行RPT,使用RPT 模拟200 个虚拟用户访问BBS 在线系统,加入页面验证点和搜索功能,然后自动执行脚本以进行自动化测试。

  4.2.3 实验结果分析

  实验完成结果显示,在高校BBS 系统现有1000 个真实在线用户的基础上,利用APT 对系统增加200 个虚拟用户负载,此时得到的高校BBS 系统所有页面性能指标的总体情况。可以看出,随着BBS 系统页面的不断更新,页面VP 的通过率仅有75.5%,但是,在用户访问总数达到1200 人的情况下,

  高校BBS 系统所有页面的平均响应时间为3423 毫秒,是在可以接受的范围内,且用户操作的感觉良好。自动化性能测试完成后,RPT 将每个页面的测试内容列出以方便查看,展开各个页面,可以看到各个具体测试元素的详细信息,包括服务器、URL、数据、请求头、服务器的响应和延迟情况等。

  根据本次实验所得的RPT 性能报告查看各个页面的性能状况。本次实验表明,所有随机测试页面的平均响应时间均在3s 内,大多数的页面的最大响应时间也在5s 范围之内,其中搜索和登录页面的平均响应时间在1s 之内,都是用户可以接受的。

  本实验使用“递增加载”型的负载测试模型,即逐渐增加虚拟用户数量,平均每几秒增加一些新用户,交错上升,这种负载方式也称为“ramp-up”模式。借助这种负载方式的加载,可以很容易发现系统性能的拐点,也就是其性能瓶颈的所在。

  由于通过虚拟用户负载曲线可以很容易地找到某个时刻已完成的虚拟用户加载数,所以一旦系统性能出现拐点,即可马上查到出现拐点时的在线虚拟用户总数,以进行标示改进。通过RPT 性能报告不仅可以很方便查看B/S 系统的整体页面平均响应时间,找出比较慢的若干页面进行及时改进,

  另外还可以得到所有页面和服务器的实时吞吐量状况,各页面响应时间对比曲线,单页面命中率情况及其用户负载图等一系列性能状况数据,由于篇幅,这些数据不再逐一罗列说明。

  5 结束语

  本次实验实现了B/S架构下应用系统的自动化性能测试,首先通过使用Rational 系列工具建立和配置了测试环境,然后多次运行性能测试负载模型,录制脚本自动执行以获得一系列B/S 系统性能测试数据,最后根据性能测试报告分析了系统的实时性能状况并找到了系统的性能瓶颈。

  另外,若使用Rational 实现B/S 架构下应用软件的自动化功能测试,还可以启用验证点和数据池技术。“验证点”技术是通过比较控件的基准值与回放脚本时的值来判断程序是否按照预期的设想在执行,而使用数据池技术可以优化数据库的连接和管理,作为下一步的研究方向,

  将利用Rational Functional Tester(RFT)对B/S 软件实施自动化功能测试,分析功测试结果与测试效率,并着重关注系统安全性测试、成熟性测试等方面研究[11]。近年来,随着人们对B/S 架构软件质量要求的不断提高,传统软件测试已经无法满足现实系统的需求,

  使用Rational 可以比较方便地实现B/S 软件下的自动化测试,从而大大地提高测试效率。相信随着时间的推移,自动化测试技术一定会得到切实的发展,软件实施自动化的测试程度也会越来越高。

原文转自:http://www.ltesting.net