自动化测试平台设计开发心得

上一篇 / 下一篇  2012-02-09 19:50:53 / 个人分类:自动化测试设计-平台策略

               自动化测试平台策略

          之自动化测试平台设计开发心得

 

   序言:负责自动化测试平台产品的开发已经有好一段时间了,从开始着手需求分析到概要设计、然后到原型的开发只至到现在出了第一个beta版本。月底要发布正式版,趁着现在平台测试基本稳定之时,总结一下设计过程吧。

 

一、平台的设计需求来源

什么时候需要平台?当自动化测试发展到一定规模后,即根据不同的测试需求,有了一些零散的自动化测试框架(包含脚本)、一些零散的自动化工具(满足某些特性功能的测试)。测试人员在利用这些脚本和工具提高了一些效率,但是却没有一个统一的平台将这些框架和工具集成起来,按照一定程序去进行测试。

例如:QQ是一个通讯工具、QQ空间是一个SNSQQ游戏是网络游戏,这些单独分开的娱乐方式,腾讯公司提供了一个平台,即接口,将这些方式进行了整合,你打开QQ,能通话之外,还能去访问QQ空间和游戏,而联系这些的就是QQ账号。

所以,创建一个自动化测试平台的目的,就是使这些工具和功能框架无缝链接,由测试人员按照各自需求,去定制自己的测试方式,而联系这些的就是测试用户账号,而账号联系的就是各个定制的测试任务。

总之,平台只是一个空架子,例如:腾讯门户没用QQ用户,再多的功能需求也没法,所以必须测试需求到达到一定程度,平台才是有需要的

 

二、平台的设计开发过程

平台的整个设计大致过程为:

1、进行平台方案的讨论,务必要确认平台的设计定位,我们是定位为分布式的自动化测试平台,然后划分模块(或者称为服务),我们这里划分为控制端、任务管理端、脚本管理端、执行端、拓扑管理端、设备管理端等,并且确定好模块间的通信方式。

2、之后,进行平台模块的概要设计撰写,这里务必要做好的是定义好各个模块的具体接口消息。

3、之后,进行具体开发,首先,按照定义好的迭代式设计过程,先快速开发出一个原型,能够满足基本功能,在原型的基础上,根据所需要的测试方式去迭代开发;这种迭代开发过程中,特别注意的是程序的注释必须清楚,否则对维护和交接带来巨大的工作量。

4、当平台迭代到一定需求之后,则可以发布beta试用版,在小范围试用。必须注意:测试人员的耐心是有限的,而且对一个产品问题特别敏感,所以要尽量的保证测试平台的稳定性。

5、之后,发布平台正式版,需要注意的是平台要提供接口方便以后测试工具和功能框架的集成。

 

三、平台的设计开发心得

1、 整个平台设计开发比预计划节约了大量时间,可以说是与整个团队的紧密合作是分不开的,一个良好的团队不论在做什么事上,都会是快速的。一个人的力量再强大,但其局限性不仅体现在个人思路上,更是体现在心灵上。一个人遇上挫折容易放弃,但是一个互相依靠的团队能够通过鼓励,快速排除困难;而且一个团队不是人越多越好,而是有一个平衡,通过这次平台设计开发,真的是对团队的合作有了深刻的认识。

2、 做产品一定要保持谦虚严谨的态度,我之前在这点上没做好,容易陷入自己的思路,记得,刚开始,对于我刚开发出来平台的主界面,上级指出其界面布局的不合理性,但是我却从代码的角度上考虑,这样更改太过于麻烦,不予理会,结果到了后面,询问几个测试人员后,都觉得这个主界面带有迷惑性,不够简便,只好进行了更改,结果却导致更加麻烦,所以,在听到不同意见后,一定要严谨考虑,进行多人询问和调研,这样有助于扩展思路。

3、 平台的设计过程中,一定要紧密结合需求,每隔一段时间,要讨论现在的平台设计方向是否和公司需求脱轨,大多时候测试开发人员对测试需求了解不够深,容易在设计开发平台模块时陷入自己的思路,从而脱离需求,所以每天短暂的交流和一段时间的讨论是必须的。

 

总结:平台开发完后,将要回到部门继续负责产品线的自动化测试工作,那时会以需求、流程和应用为主,其平台到底是一个空架子,如何用上还得不断调研和分析,路途遥远,共勉之。


TAG:

wozeny的个人空间 引用 删除 wozeny   /   2013-11-15 11:20:29
5
fwq1991的个人空间 引用 删除 fwq1991   /   2012-11-13 15:05:25
5
T_ifk的个人空间 引用 删除 T_ifk   /   2012-11-13 11:59:18
5
引用 删除 ilovemyyang   /   2012-11-11 19:18:47
5
libin6133的个人空间 引用 删除 libin6133   /   2012-02-27 14:19:07
5
散步的SUN的个人空间 引用 删除 散步的SUN   /   2012-02-13 09:23:33
没问题啊,已经给你发站内短消息了~
原帖由sataerman于2012-02-12 18:09:42发表
能否交换一个联系方式,想和你深入讨教一下关于测试平台的相关的问题
Yes We Can 引用 删除 sataerman   /   2012-02-12 18:09:42
能否交换一个联系方式,想和你深入讨教一下关于测试平台的相关的问题
xin_晴的个人空间 引用 删除 xin_晴   /   2012-02-10 11:27:55
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/27/n-807327.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
散步的SUN的个人空间 引用 删除 散步的SUN   /   2012-02-10 10:18:09
测试平台用到了java、python和c++,不同的语言编写各自不同的模块就可以了。脚本用了tcl和python,执行端构造了两个解释器,用的是python自带的tcl包来构造的tcl解释器,不过只能是8.5版本的
原帖由pengpengfly于2012-02-10 09:21:11发表
请问下你们的测试平台用的什么语言开发的,自动化测试脚本又都用了些什么语言。
江南鱼米的个人空间 引用 删除 pengpengfly   /   2012-02-10 09:21:11
请问下你们的测试平台用的什么语言开发的,自动化测试脚本又都用了些什么语言。
 

评分:0

我来说两句

Open Toolbar