自动化测试-从关键字视图到自然语言视图

作者:AutoRunner自动化测试   发布时间:2021-09-27

AutoRunner即将推出自然语言视图,即使用自然语言作为测试工程师编写与维护测试脚本的语言:

自然语言

如上图所示,没一行都使用自然语言来描述一个动作,使用者一目了然。

而且自然语言脚本也支持if、if-else、while、for等各种控制流和循环语句,能够支持比较复杂的控制逻辑。

引入自然语言脚本,对于自动化测试而言的最大优势在于,能够使不熟悉自动化测试的工程师方便的编写和维护自动化测试脚本。

这是一个巨大的进步:

用户通过录制,即在录制模式下,操作一遍需要自动化执行的过程,即可生成脚本,而无需通过所谓的画图方式来创建脚本。

创建完成的脚本,通过中文自然语言来展示,没有编程基础的人也可以看懂、修改这些测试脚本。

如果需要增加测试脚本的功能,只需要通过拖拽的方式就可以实现,无需复杂的编程。

每一步都可以看到操作的对象是哪一个,操作的对象通过AutoRunner的对象指示器来显示。

可以方便的查看对象的属性信息。

AutoRunner采用beanshell作为测试脚本语言(兼容java语法,beanshell也是java标准之一),带来的优势是:高扩展性(凡是java支持的jar包都可以扩展,也可以支持jni调用dll扩展),开发测试脚本的高效率(对于熟练使用java的自动化测试工程师)。

为了支持不熟悉java的测试工程师,以及满足熟悉业务但不会编程序的其他人员使用,AutoRunner在早期的版本支持了关键字视图,能够使用结构化的方式来显示没一行测试脚本。比如,我们需要给一个输入字段赋值,脚本是 setValue(“field1”, “给字段filed1赋值”),使用关键字视图,我们看到的是对象“filed1“,和操作”setValue“,以及具体的值”给字段field1赋值“。

某些厂商使用了配置或者自然语言脚本,其实内部是xml文件格式。执行脚本的时候,实际上是通过一个分析解释xml文件来进行执行的。Xml格式能够方便的编辑和显示,但是也存在很多缺点:

扩展性。如果遇到无法实现的功能,比如发送一个短信,必须要修改解释执行程序才能够实现,这样就带来巨大的问题,我们知道自动化测试是非常复杂的,具有复杂的应用场景和使用环境,这就导致扩展性层出不穷,最终解释程序无法承载(除非你做成jvm)。另外一个问题就 在于,只有产品开发者才能修改这些解释程序,使用者很难做到。其实这个问题,自动化测试工具开发者早就发现,所以QTP使用的是微软的vb来作为自动化测试语言,使用微软vb自有的解释器来执行,而不是自己编写一个,都是为了扩展方便。

复杂业务逻辑处理。在自动化测试实践中,会遇到很多复杂的逻辑,比如计算手续费、计算基数、利息等算法。那么使用xml的配置,基本上都无法实现——因为算法太复杂了。

AutoRunner是如何提供方便的自然语言脚本,并且避免这些问题的呢?

AutoRunner使用的语言,并不是xml,而是beanshell。使用java的标准之一beanshell作为脚本语言,就可以像java一样扩展功能,不受到限制。

Java的beanshell可以编写跟java代码一样复杂的控制逻辑。

用户可以直接编写测试脚本,AutoRunner会自动把它(脚本)转化为自然语言脚本,这个很神奇吧!!!因为我们写了一个java的编译器,用来把java脚本编译成一颗语法树,再把语法树转化为自然语言脚本,就是你在IDE上看见的那个!

功能强大的脚本视图,适合有开发经验的测试工程师使用。

自然语言视图,适合缺乏开发经验与初学者来使用。


本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2021 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.