自动化功能测试实践二:自动化测试框架

上一篇 / 下一篇  2015-09-14 20:14:46 / 个人分类:功能测试

上一文有提到利用QTP可以录制自动化测试脚本,对于测试web界面是非常方便的。但是,金融行业的核心是资金流。用户需使用界面的内容相对较少,而更多的是后台数据流转。所以,如何模拟后台数据流程,且设置不同的检查点进行功能测试?这是我们需要思考的问题。

        很有幸公司有高人做了这样的尝试,而我也有机会参与其中。我们使用的技术是python+RobotFrameworkpython脚本的使命是完成测试功能的实现和函数封装,RobotFramework负责调用python脚本实现所有的测试用例

 

         Python是一门高级编程语言,他的语法非常简单,学过编程的人很容易上手,如果是新手建议读一下廖雪峰的博客(http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000),由浅入深,把知识点剖析得非常到位。脚本的基本思路是分模块,例如主流程模块、数据库模块、Redis模块、日志模块等,在每个模块中实现相关功能。主流程模块能够模拟TCP/IP协议发送和接收报文。其他都是辅助模块。数据库模块实现数据库的连接和数据处理,Redis模块负责Redis缓存的连接和数据处理,日志模块负责测试报告的日志输出等。

        脚本实现过程考验的是编程能力,难度最大的就是报文的拆解、修改并重新**,这样的实现才能搞接收各种测试数据。Python相对而言是非常优秀的语言,我们用几千行代码实现了java开发几万行的内容。当然由于脚本开发者是位经验丰富且思路清晰的工程师,肯定有细节处理上非常精妙。比较而言,python非常适合我们的功能自动化。

        有了脚本这一层后,我们使用RobotFramework实现测试用例的内容,包括发送请求和各种检查点。RobotFramework也有自己的一些函数,使用非常简单,具体可以参考官网http://robotframework.org/robotframework/latest/libraries/BuiltIn.html。这些函数能帮助我们实现部分数据处理。当用例较个性化时,使用它们也非常方便。通用的内容建议写入python脚本中。使用这个框架的好处是一般的测试人员都可以快速上手,不需要python的编程能力即可完成自动化功能测试用例的配置和执行。

        代码不方便公开,简单的描述一下设计思路,希望对大家有所帮助。


TAG:

 

评分:0

我来说两句

Open Toolbar