谈软件自动化测试工具的应用

发表于:2008-05-28来源:作者:点击数: 标签:工具自动化应用软件
在测试技术飞速发展的今天, 自动测试 工具的使用也越来越广泛.在这里,将主要介绍三种主流 测试工具 在实际应用环境中的使用, MI ( Mercury Interactive) 公司的 自动测试软件 WinRunner, 压力测试 软件LoadRunner和 测试管理 软件TestDirector. LoadRunner

  在测试技术飞速发展的今天,自动测试工具的使用也越来越广泛.在这里,将主要介绍三种主流测试工具在实际应用环境中的使用,MI(Mercury Interactive) 公司的自动测试软件WinRunner,压力测试软件LoadRunner和测试管理软件TestDirector.

 

LoadRunner

当一个企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问? 这类问题最常见于采用联机事务处理(OLTP)方式数据库应用,WEB浏览和视频点播等系统.这种问题的解决要借助于科学的软件测试手段和先进的测试工具.

比如电信计费软件,众所周知,每月二十日左右是市话交费的高峰期,全市几千个收费网点同时启动.收费过程一般分为两步,首先要根据用户提出的电话号码来查询出其当月产生费用,然后收取现金并将此用户修改为已交费状态.一个用户看起来简单的两个步骤,但当成百上千的终端同时执行这样的操作时情况就大不一样了,如此众多的交易同时发生,对应用程序本身,操作系统, 中心数据库服务器,中间件服务器,网络设备的承受力都是一个严峻的考验. 决策者不可能在发生问题后才考虑系统承受力, 预见软件的并发承受力, 这是在软件测试阶段就应该解决的.

如何模拟实际情况呢? 找若干台电脑和同样数目的操作人员在同一时刻进行操作,然后拿秒表记录下反应时间? 这样的手工作坊式的测试方法不切实际且无法捕捉程序内部变化情况,这样就需要压力测试工具的辅助, LoadRunner便是其中的一种.

LoadRunner可以记录下客户端的操作,并以脚本的方式保存,然后建立多个虚拟用户,在一台或几台PC机上模拟上百或上千虚拟用户同时操作的情景,同时记录下每一事务处理的时间,中间件服务器峰值数据,数据库状态等,并根据测试结果分析系统瓶颈,输出各种定制压力测试报告, 工程项目实践证明,其测试结果与实际情况完全符合. 预先知道了系统的承受力,就为最终用户规划整个运行环境的配置提供了有力的依据.

在各种类型的并发测试中,基于Web 的应用也占了很大的比例.现在有相当数目的联机事务处理(OLTP) 类型系统采用Web方式,还有一些网站,对并发连接的数量和自己网站对大量访问的支持能力,都表示出了相当程度的关心. 对于LoadRunner,它更提供了对web页面压力测试的完整解决方案,包括用户模拟,Web服务器监控,页面每秒钟点击率统计,单独页面加载时间分析等针对web的特性.

在测试阶段使用LoadRunner进行压力测试,还可以模拟数据库死锁情况,结合压力分析SQL效率,优化应用程序和数据库配置等工作,使软件更健壮和高效. 如在测试某省的大型电信业务网上受理系统时,2 00并发用户同时联机时速度正常,但当达到用户量达到500的时候,受理速度明显变慢,通过监控发现Web服务器的流量却有所降低, 而表空间对应的数据文件中发生的磁盘物理读的次数却大于正常水平.最后通过诊断确定有部分复杂的SQL查询(如:大表连接操作,嵌套查询等)没有利用合适的索引和采用最优的解释方案,而造成全表扫描.而且数据库配置参数DB_BLOCK_BUFFERS太小,不能适应500用户或更大规模并发情况. 经过测试人员和开发人员对系统的共同调整,再次测试的时候一切恢复正常,500用户的并发测试顺利通过. 发现应用程序在效率上的隐患,也是采用LoadRunner的测试目的之一.

WinRunner

WinRunner是比较常用的自动功能测试软件.其功能是是为了确保应用能够按照预期设计执行而将业务处理过程记录到测试脚本中。当应用被开发完成或应用升级时,WinRunner支持测试脚本的编辑、扩展、执行和报告测试结果,并且保证测试脚本的可重复使用,贯穿于应用的整个生命周期。功能测试的结果也是衡量软件产品是否符合设计需求的标准之一.

当一个应用开发完毕后,程序界面基本定型,这个时候,针对该应用的自动测试应该展开.

传统的手工测试是测试人来执行测试用例,然后根据实际的结果去和预期的结果相比较并记录测试结果.自动测试的引入,大大的提高了测试的效率和测试的准确性,而且测试专业人员一次设计的脚本,可以在软件生命周期的各个阶段重复使用. 尤其在软件交付后,随着企业的发展,你的应用就会随续在数量和范围上增长,为了满足应你的业务的需求,应用的改变会很频繁。对于这些需求,将可以通过小范围修改WinRunner脚本来完成.

对于WinRunner的使用,比较重要的是测试录制规划问题, 如何规划一次录制使它具有良好的可扩展性,重用性,整个TSL脚本能够有清晰的层次和最大适应以后的程序的修改?

这些也是在实际工程中用户最普遍遇到的问题,它的实施就需要有经验的软件测试人员介入并结合应用来进行具体分析.

 

三.TestDirector

TestDirector是一套测试管理软件.通过它的使用,来规范科学的测试管理流程,建立起针对项目的测试方案和计划.

测试在类型上包括:功能测试和性能测试。在测试过程中,要涵盖单元测试,集成测试,系统测试,回归测试,交付测试的各个阶段.如何有效的组织管理起这些不同阶段的测试尤为重要.TestDirector与LoadRunner和WinRunner有各自的接口,通过这些接口,来统一的管理各种测试用例,自动测试脚本,运行场景与测试结果,并且可以面向发生问题的部分进行错误跟踪,达到与开发部门实时交互.

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