爱自己 爱生活 爱测试

[转]关于我的自动化测试系统

上一篇 / 下一篇  2008-05-19 11:40:03 / 个人分类:自动化测试

 

首先,这里介绍的是architecture,我基本上想设计一个open, flexible, extensible的系统。并且我也希望能学习新的知识和技术,因此用到了对我来说比较新的东西。

系统共分4层,所以是一个layered framework。从上往下,依次是application layer, service layer, module layer and environment layer.

1.      Application layer:就是一个网站,作用是system configuration, test case creation, test case distribution, test case schedulingtest execution monitoring, and test results reporting.也就是说在这个网站上进行测试系统的配置,测试用例的生成与分发,schedule, 监视测试用例的执行情况,还有就是观看最后生成的测试报告。

用到的技术有:C#, ASP.NET, ActiveX, Web service, SOAP, XML

2.      Service layer:就是一个Web service,作用是从Application layer接受到所有的测试任务(写在xml里),负责解释XML,并且调度测试机,给测试机发命令,回收测试结果,组合结果返回给Application layer.

用到的技术有:C#, ASP.NET, Web service, SOAP, XML, TCP/IP, Client/Server.

另外一个在Service layer的是一个Windows service,它的作用是接受Web service的命令,执行并返回结果。

用到的技术有:C#, TCP/IP, Client/Server.

3.      Module layer:就是一个动态链接库dll,负责给Service layer提供basic interface,把一些公用的功能封装起来。

用到的技术有:C#, Dll, TCP/IP, XML

这层是整个系统的技术核心,其他层都是从这个层扩展出去的。

4.      Environment layer:就是测试环境层。这一层就完全是根据所测试产品的需要来设计了。我的设计是一台real machine上边运行VMware,这台machine的作用不是进行测试,是负责根据需要打开不同的虚拟机。真正的测试是在虚拟机上进行的。虚拟机上的测试有command lineGUI两种。Commandline就直接运行,GUI的测试是用Test Complete + Jscrīpt来实现的。

用到的工具与技术有:Jscrīpt, Java, Test Complete, VMware workstation.

 

有一些关键的设计有一定的原因。Application Layer就是一个网站,它具有能力去集成所有需要测试的项目。每个项目需要具有一个Web service,因此多个项目就会有多个Web service。每个项目的的XML文件的输入格式都是不一样的,这个可以在Application layer在自定义。Application layer只是负责编辑XML, Service layer需要进行解释,也只有它才能进行解释。这是因为,每个项目的测试工程师才真正的明白他们想测什么,想怎么测。由于Service layer把不同的项目分隔开,因此,不同的项目也可以设计不同的Environment layer。测试的logic是掌握在Service layer的手里。

 

因此整个一个测试的流程是这样的:在网站上自定义XML的结构,因此生成相应的Test case界面。进行系统和test case的设计,生成相应的XML文件。通过Web service,传送XMLService layer, Service layer解释XML,一个case,一个cased的去执行。每一个case需要不同的虚拟机,Service layer告诉那台real machine去打开相应的虚拟机,之后告诉虚拟机需要执行什么样的任务。虚拟机启动command line命令,或者调用Jscrīpt脚本通过Test complete来执行GUI的操作。之后返回结果给Service layer。所有case执行完毕,Service layer生成最后的报告传递给Application layerApplication layer负责显示报告给用户。还有就是Service layer间隔一定时间把测试情况返回给Application layer,这样用户可以监视测试的状态。

 


TAG: 自动化测试

天行健,君子当自强不息 引用 删除 rickyzhu   /   2008-05-20 10:04:27
very aggressive design and architect.
looking to forward to it
 

评分:0

我来说两句

日历

« 2024-03-22  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

我的存档

数据统计

  • 访问量: 2824
  • 日志数: 4
  • 建立时间: 2008-05-07
  • 更新时间: 2008-05-19

RSS订阅

Open Toolbar