分布式自动化测试平台设计
更新时间:2022-02-22 09:25:53 作者:多测师 浏览:321
经过了一段时间的探索,对于自动化测试平台项目的设计,已经进入了一个初步阶段,即自动化测试平台的基本形式已经实现,想想,自动化测试平台从无到有,自动化测试框架从基于需求环境的探索到基本实现真的是一个很值得玩味的日子,且将实现方式与大家分享一下,希望大家有什么好的想法或者好的建议也一起分享和讨论一番。
感觉,这篇文算算是我自动化测试工作以来对自动化测试设计和理解的一个阶段性过程吧,分享出来与大家共勉吧。
一、自动化测试平台定位
我一直崇尚的自动化测试观点是“需求引导设计”,只有将需求分析清楚,将需求定位好,才能着手去进行所谓的自动化测试框架与平台的设计。
而所谓的自动化测试平台(也可以认为是一个集成的自动化测试框架),我认为可是是若干个小型框架的组成,而每个小型框架有各自独有的作用,他们都是作为自动化测试平台的一个组件或者可以说是一个服务。
因此,其自动化测试平台的原则就是
1) 1)普遍的可适用性。
2) 2)灵活的可插拔性。
二、自动化测试分布式平台设计
按照层次分的话,可以分为:
1) 用例抽象层,此层功能为:
a) 可以进行测试驱动,即调用测试用例驱动表进行测试(测试用例驱动表可以存储在本地端,存储方式可以为EXECL表格形式或者数据库形式)
b) 可以在本地客户端进行用例脚本的编写和生成。生成的脚本可以通过转换至与外部工具调用层次中的工具想对应的脚本。(其统一的脚本形式可以为XML实现)
2) 业务实现层,此层功能为:
a) 可以实现各种业务,即抽象出业务,通过不同的业务实现方式调用不同的测试框架实现。
b) 可以通过不同的业务实现方式调用不同的测试外部工具实现。
3) 分布式交互层
a) 客户端与服务器端进行交互的通道
b) 各种外部服务的接入的通道,例如:日志服务、测试监控服务、邮件通知服务等。
4) 外部工具调用层
a) 运行不同的驱动命令,调用不同的外部工具进行测试。
三、自动化测试服务器端设计
1) 自动化测试服务器端的功能
a) 本地服务器保存测试集脚本。(也可以说各种工具的小型框架都是保存在其上的,例如我将RFT分成的三层框架,都是保存在服务器上的)
b) 本地服务器调用外部工具进行测试(外部工具安装在服务端)
c) 进行用户的权限识别。
2) 自动化测试服务器端的设计
设计一个服务器,可以接收分布式框架发过来的请求信息,并且此服务器端依靠“多线程”处理机制,集成了各种外部工具的操作命令。
四、自动化测试客户端设计
1) 自动化测试客户端的功能
a) 进行用例驱动表的解析。
b) 进行自动化测试用例脚本的编辑和生成。(采用关键字驱动,即测试人员可撰写和识别的脚本)
c) 统一结果的导入与查看。
d) 详细日志的导入与查看。
2) 自动化测试本地客户端设计
设计一个客户端,main程序是实现一个界面,通过其界面进行测试用例的选择,测试用例脚本的撰写和生成、结果和日志查看等。
五、自动化测试平台应用分析
优点:
1) 通过此平台,层次定位清楚,将测试执行与测试驱动分隔。
2) 通过此平台,流程结合容易,在流程上可以和产品的测试周期相结合,把握好其进度。
3) 通过此平台,职责细分清晰,最重要的是能够将职责细分,这个在后期的想写的一篇文章将阐述。
4) 通过此平台,用例复用性高,统一用例适用于各种不同的语言。
5) 通过此平台,业务拓展灵活,可以任意进行各种工具调用,能够进行各种业务的测试。
6) 通过此平台,结果分析简单,可以方便进行结果查看和日志调用查看。
缺点:
1) 因为服务器端安装的工具,所以在测试人员在调试上很麻烦。
2) 根据详细的日志往往不能够清楚定位问题,还需要测试人员人工定位,不能一次性定位出问题。
3)还有很多问题等待大家挖掘,提出宝贵的意见……
六、自动化测试平台设计心得
1) 这次设计,对编程而言,是个很大的挑战,其实个人觉得,java的设计模式与其自动化测试框架的思想很是相近,其在这次自动化测试本地客户端设计上就采用了其模式的思想,因为java设计模式的理念就是降低耦合,增强灵活性和复用性。所以,学习软件思想对于自动化测试设计很重要。
2) 自动化测试,就算有了平台,但是在进行自动化测试效用分析上上才是一个很大的难点,因为只有将效用定位清楚,才能将平台用到实处。
3) 实践指导理论,再多的理论只有实践之后才知道,而且不能过多的追求技术完美,不然等到技术研究透彻,黄花菜都要凉了
以上内容为大家介绍了分布式自动化测试平台设计,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
下一篇:自动化测试的效益分析之道