2011.11.1好日子,今天博客访问量超过1000了。
2012.01.29,访问量突破2000了.
2012.02.01,访问量突破3000了.继续进步
自动化实现中级阶段-程序化
上一篇 /
下一篇 2011-10-30 02:38:17
/ 个人分类:测试管理
在我们完成了脚本化的阶段之后,我们想把一些例如环境分配还有发送请求等调度的任务自动化的时候,这时我们就来到了程序化的阶段了。
在程序化阶段中,其实这个概念在我投入自动化的时候是比较难拿捏的一个阶段,不过这里还是以调度为主的目的来实现程序化。
首先,我们要把脚本存放到一个地方,让它们管理起来比较方面,这时候我们很多项目都用到了SVN这个工具。他的好处有:可以实施的修改,增加,删除用例,还有一点比较简单的是SVN可以支持批处理对他进行操作下载到本地作为待执行脚本。这样子我们就不用担心每次更新了脚本,都跑到每个执行机上面更新一遍脚本了。(由于一些原因,偶在家里尝试写个新的SVN更新工具,后续放在博客中)
然后就是存储信息的地方,一般我们可以利用SQL Server 2000来创建一个数据库,用于存储一些信息。例如我们一个web网页测试项目,需要知道被测web网页的地址,后台的地址,执行用例的执行机地址。当我们知道了这些信息之后,我们就录入进去我们的数据库。
创建用作环境管理的数据库表:
CREATE TABLE ENVDB (
ENV_Id SMALLINT, 环境ID号
ENV_Name VARCHAR(50), 该环境的姓名
ENV_Type VARCHAR(30), 该环境的类型,例如是前台还是后台地址。
SW SMALLINT, 该环境的使用状态,是否在使用
CL SMALLINT, 是否可以并发使用,可以就忽略SW的信息
IFM VARCHAR(50), 该环境的详情。
……………….还有一些密码,帐号,端口之类
)
当我们碰到一个比较大的测试环境后,通过一个数据库表对其拓扑进行信息统计后,无论是通过编程语言还是批处理去读取和修改他是非常方面的。
下一步我们就要了解到,当我们获取到这些环境信息之后,我们就要开始通过我们获取的字段一个个通过脚本写入到一个文件当中,这里我们举个例子用到ini文件。首先我们读取到执行机的ip地址和登录帐号密码后,通过编程语言或者批处理socket连接到该执行机。这时候我们修改一个我们在执行机创建的ini文件,例如:
SW = 0; 0的时候为不作任何操作,为1的时候开始匹配下列信息。
Web Adress = null;
Background Adress =null;
….
把开关修改为1的时候,把下面的信息都修改为我们从数据库读取到的信息,当本地代理监听到该ini文件开关打开后,就会启动SVN和编译器开始对提供的环境进行测试用例的执行。
当我们把以上说到的三个要素放在一个服务器中进行管理调度,其实我们就差不多做到了程序化的阶段了,此时我们只要在调度服务器上面进行管理,组内的同学只要把自己的用例更新到SVN上就行了。这样我们就不会愁着这个用例有没跑,这个脚本是不是新的,哪个服务出问题,想做有层次的压力测试不用亲自出马看着屏幕了。
但是,虽然我们做到了程序化的阶段,但是我们仍然缺很多东西。我们的确把一堆批处理和工具之类都集合到一个服务器,但是这个东东只有少数人知道,少数人会用,突然哪个老大想自己操作,或者你休长假的时候,此时别人就不会用你这个调度的东东了。所以想做到可视化的管理还有一些统计和呈现进度的功能时,就要往平台化方向发展了。
收藏
举报
TAG: