您的位置:首页 > 其它

基于开源工具的测试平台搭建

2013-01-06 12:56 597 查看
1、  简介

随着web系统的越来越复杂,规模越来越庞大,使得软件测试在软件质量保证环节变得越来越重要。近些年来,商业化的软件测试工具越来越多,使用越来越繁琐,价钱越来越昂贵,这无疑对中小型公司的web产品的质量保证的成本越来越高。笔者通过研究众多的windows平台的开源测试工具,比对这些工具的优越性和差异性,最后设计了包含自动功能测试、前端性能评价、性能测试、故障诊断以及测试管理系统在内的一套基于开源软件的web系统测试平台。其结构图如下所示:



2、  自动化功能测试和前端性能评价

2.1 相关工具简介

         自动化功能测试是通过selenium实现的,selenium是一个web应用程序自动化测试工具,通过Selenium IDE可以将其直接运行在火狐浏览器中,就如同真是用户访问行为。本平台采用Selenium IDE部署在Firefox之上进行自动化功能测试。

         前端性能检测工具YSlow,YSlow是由雅虎公司开发的免费前端性能检测工具,YSlow通过检测页面上的所有组件,其中包含了JavaScript动态创建组件、分析页面前端性能。该工具依据桑德斯提出的前端性能优化黄金法则进行测试,对不满足项会提出改进意见,是前端性能评价的优秀工具。

         前端性能评价结果收集是通过ShowSlow工具实现的,showslow能够存储YSlow、PageSpeed等工具的测试结果,帮助前端工程师分析页面载入耗时的历史变化,由此来帮助web项目的前端性能提升。

         通过2.2中介绍的方法,selenium、YSlow和ShowSlow工具已经集成为一个平台,每次做自动化功能测试的时候,只要启动了YSlow自动运行,那么ShowSlow会自动收集前端性能信息到Mysql数据库中。

2.2 安装部署过程

上述工具下载和firefox安装再次不再累述,本平台应用了appserv-win32-2.5.9提供php和mysql服务,YSlow和Selenium的都安装firefox插件在firefox的扩展程序找到安装即可。下面详述一下配置过程:

第一步:将ShowSlow解压到appserv的www文件夹下,修改config.sample.php文件的

$showslow_root = '/path/to/showslow/root/';

$showslow_base = 'http://www.example.com/showslow/'; # don't forget the trailing slash

 

# Database connection information

$db = 'showslow';--

$user = 'root';--mySQL用户名一般不用改

$pass = 'chenlei';--用户名密码

$host = 'localhost';--mySQL服务器IP地址

第二部:配置数据库:MySQL创建数据库

//创建一个数据库,名字和第二步你填写的保持一致

create database showslow ‘;

//切换到新建的数据库

use showslow;

// 将ShowSlow文件夹的tables.sql(数据库表)导入到新建的数据库中,注意无分号

source c:\tables.sql

//查看下是否导入成功了,貌似有个表名叫showslow,汗

show tables;

第三步:修改appserv的php.ini

;;;;;;;;;;;;;;;;;;;;;;

; Dynamic Extensions ;

;;;;;;;;;;;;;;;;;;;;;;

;extension=php_mbstring.dll

;extension=php_bz2.dll

;extension=php_curl.dll

;extension=php_dba.dll

extension=php_dbase.dll

;extension=php_exif.dll

;extension=php_fdf.dll

;extension=php_filepro.dll

extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_ifx.dll

;extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_ldap.dll

extension=php_mbstring.dll

;extension=php_mcrypt.dll

;extension=php_mhash.dll

;extension=php_mime_magic.dll

;extension=php_ming.dll

;extension=php_mssql.dll

;extension=php_msql.dll

extension=php_mysql.dll

extension=php_mysqli.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_oracle.dll

;extension=php_pgsql.dll

;extension=php_shmop.dll

;extension=php_snmp.dll

extension=php_sockets.dll

;extension=php_sqlite.dll

;extension=php_sybase_ct.dll

;extension=php_tidy.dll

;extension=php_xmlrpc.dll

;extension=php_xsl.dll

;extension=php_pdo.dll

;extension=php_pdo_sqlite.dll

;extension=php_winbinder.dll

第四步:配置YSlow

1.打开Firefox输入:about:config

2.filter中输入:yslow

3.修改以下三条数据

extensions.yslow.beaconUrl = http://localhost/showslow/beacon/yslow/

如果测试和服务器不在同一机器上,请将localhost改成实际地址

extensions.yslow.beaconInfo = grade

extensions.yslow.optinBeacon = true

         上述配置完成后,重启Firefox,平台搭建好了可以开始前端性能优化之旅了,平台如下图所示。



3、  性能测试及故障诊断

3.1 相关工具介绍

         性能测试及故障诊断部分主要应用开源性能测试工具fwptt和glassbox,其中fwptt是基于.net平台开发的web应用负载测试工具,它可以记录http交互请求,记录Ajax交互。可以用来测试asp.net、JSP、PHP等web应用,该工具能够将录制的http交互信息转换成c#代码,方便阅读。

         Glassbox是是一个自动故障排除和监控的应用程序。通过一次点击诊断常见的问题。无论是在生产或测试,你都可以拖放到您现有的Java应用服务器中。它故障排除的知识很简单,任何人都可以找出失败的原因。通过笔者的研究,除了目前通用的tomcat、apache等中间件外,也能部署在国产的金蝶、东方通等中间件之上。  上述两个工具下载安装部分本文就不再累述。

3.2 安装部署过程

         首先介绍一下fwptt工具的应用方法,该工具的执行包是一个绿色版本,但是需要.NET支持。下载启动后如下图所示:



         这是一个功能的集成界面,通过开始录制(start recording)启动录制页面,录制页面提供了一个代理的地址和端口号,是fwptt工具集成的代理功能。

         将被测试浏览器的代理设置成如上图所示,然后点击开始录制(start recording),接可以将访问过程的http信息记录到录制页面中,如上图所示,点击停止录制(stop recording)结束录制,录制完成后可以直接关闭录制页面,系统会返回到集成界面。

         点击开始测试(runtests),进入压力测试部分,该部分可以设置并发线程数,每次响应的等待时间(本部分建议600ms以上),执行策略等。设置完成后,点击开始,该工具会开始进行压力测试公司统计各部分响应时间等信息。该工具还提供了对记录下来的脚本的保存,参数的修改等功能。

         其次,介绍一下Glassbox诊断工具以及相关配置方法。Glassbox是基于中间件的故障诊断工具,通过部署在中间件之上监控运行在中间件上各个服务的响应时间、资源利用等信息,通过对比其自身的分析模型,预警故障服务并提供可能产生原因和解决方法等辅助信息。本文以部署在tomcat上为例进行简单介绍。运行tomcat进入tomcat管理部分(进入时需要用户名和密码,是当初安装时设定的)。

 输入正确的用户名和密码后,进入tomcat的管理界,然后 在部署war文件部分选择,选择呢glassbox.war文件所所在位置。点击部署按钮。然后进入glassbox的安装界面:http://(tomcat的服务器地址):(端口):glassbox/Install.form;    进入安装界面,点击安装按钮,进行安装。

安装完成后,停止tomcat服务,双击tomcat图标进入tomcat的属性配置界面,选择java标签。在javaoption中添加如下启动项,然后重启tomcat服务。

-Dglassbox.install.dir=(tomcat所在目录)commonlibglassbox

-Djava.rmi.server.useCodebaseInly=true

-javaagent: (tomcat所在目录)commonlibaspectjweaver.jar

 最后,在浏览器上输入http://(tomcat服务器):(tomcat配置端口)/glassbox/Client.form

    就可以进入并看到glassbox监控的内容了。



4、  测试管理

4.1 相关工具介绍

         本文介绍的测试管理工具是TestLink,TestLink是基于web的测试管理系统,能够分项目、分角色的管理测试项目,测试构建之间相互独立。测试结果也可以通过接口导出到excel中,方便测试结果的保存归档。本文使用自动化功能和前端性能模块中应用的appserv-win32-2.5.9提供相关php和mysql的支持。

4.2 安装部署过程

         在Testlink网站上下载TestLink解压到www目录中。通过http://localhost/testlink/install/index.php进行选择newinstallation进行安装。通过一系列下一步后,到达配置数据库页面。其中上面的用户名密码是数据库的管理用户名和密码,



         配置完数据库连接后,点击process TestLink Setup按钮,即可开始应用TestLink了。系统默认用户名和密码都是admin。

5、  总结

本文介绍了笔者在实际工作中通过开源工具搭建的web系统测试平台,其中覆盖了自动化功能、前端性能、性能测试、故障诊断以及测试管理等相关功能。该平台完全采用开源工具,自动化实现测试。但是该平台在单元测试部分还需进一步完善。

参考:

1)  http://seleniumhq.org/
2)  https://github.com/marcelduran/yslow/wiki/User-Guide
3)  桑德斯. 高性能网站建设指南. 刘彦博译. 北京: 电子工业出版社, 2008:5-102.
4)  http://www.showslow.com/
5)  http://glassbox.sourceforge.net/glassbox/Home.html
6)  http://fwptt.sourceforge.net/
7)  http://sourceforge.net/projects/testlink/
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息