关于自动化测试框架的思想和考虑

Java程序调试

关于自动化测试框架的思想和考虑


削个椰子皮 2016-11-25, 16:26 下午
96 Normal 0 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;}


 

接触过自动化测试的,应该对这几种自动化测试框架思想有所了解:模块化思想、库思想、数据驱动思想、关键字驱动思想

 

简单说说,我自己对目前自动化测试的一些想法

 

最初自动化测试依靠的是传统的“录制-回放”技术,这种技术与现在的工具的“录制-回放”思想不一样,其其实就是一个“模拟”的过程,即模拟操作而形成的,其基于对输入操作的原理,这种机制对环境的依赖性太强,对变化性太过于敏感,因此不可能发展成一种规模。

 

然后是脚本化的自动化测试,利用脚本进行结构化的自动化测试,此可以应用于CLI与API的自动化测试,在其就开始集成了模块化与库思想。

 

数据驱动与关键字驱动,是其伴随着对象化思想的产生,而且也造就了现在一系列的自动化测试软件,其实其中都集成了这些思想,从这时候开始,自动化就开始实现了一定的规模,开始运用在各个行业,并且发展趋势越来越快。

 

在说说自动化测试框架思想:

 

模块化思想,就是将一个测试用例中的几个不同的测试点拆分并且将其单个点的测试步骤进行了封装,形成了一个模块。一个测试用例要对一个登录程序进行测试,其中包括:用户名输入、密码输入、以及确定登录;那么就可以四个操作分别封装在四个不同的模块中。测试时,只需调用其模块即可。

 

测试库思想,其与模块化思想不同的是,其拓展了接口思想,即可以通过接口去传递参数,而不是一个封死的模块,可以说是一个多了一个“门”的交互型模块。

 

数据驱动思想,我的理解就是变量不变,数据驱动结果,不同的数据导致了不同的结果的产生。

 

关键字思想,其实关键字驱动就是一种面向对象的思想,对对象的抓取,可以将其测试对象封装为一个关键字,这样可以对其关键对象进行各种操作了,不同的对象可以驱动不同的测试流向与结果。

 

做好自动化测试,不是说你掌握了一个框架,而是要掌握其自动化的思想,然后根据这些思想,结合你不同的测试环境和流程来构建你自己的自动化测试框架。

 

在开始设计自动化测试框架之前,需要考虑下:

  

使用该框架写出来的自动化测试案例,需要给开发,手动测试,可能还有客户查看,所以写的测试案例需要尽量的清晰明了,不要有太多复杂逻辑,及比较好的可读性。

 

使用这个框架做自动化的人,不会有太深的编程能力,所以要提供足够好的,最好是傻瓜化的测试点验证方法,及很好的异常容错处理能力。

 

测试框架最好是app测试,网页测试,接口测试,统统都能支持。

 

 

Powered by Community Server Powered by CnForums.Net