有没有一种自动化测试是不需要编写测试脚本的呢?了解一下

上一篇 / 下一篇  2022-03-30 17:18:52 / 个人分类:自动化测试

自动化测试的痛点

说到功能自动化测试,我们可能首先会想到QTP、Selenium等诸多的自动化测试工具和解决方案,如何使脚本开发变得简单、如何使脚本维护变得容易、如何提高脚本开发的效率等话题,一直以来都是自动化测试领域关注的焦点问题。加我VX:atstudy-js 回复“测试”,进入 自动化测试学习交流群~~

然而无论是哪种工具哪种解决方案,都离不开测试脚本的开发,有过脚本开发经历的人应该有体会,虽然设计良好的自动化测试架构可以简化脚本开发,但是面对成百上千上万的功能,开发和维护脚本始终不是一件容易的事,其复杂度绝不亚于一个开发项目。

脚本开发和维护工作量会与被测系统的复杂程度和变更有关,下面是一些举例:

页面输入项越多,脚本编写工作量越大;

页面输入项名称的改变,脚本也需要调整修改,例如将“移动电话”改成了“手机号码”;

页面必填输入项的增减,会使得脚本不得不跟着调整;

页面输入项的类型改变,脚本也必然要做修改,例如“学历字段”原来是文本输入框,后来改成了下拉选择框;

菜单名称修改,测试菜单的脚本需要调整。

自动化测试之所以实施起来困难重重,究其根源还是测试脚本导致,那么有没有一种自动化测试是不需要编写一个个测试脚本的呢?

做过安全测试的应该知道AppSan这个工具,只要告诉AppSan要检测的系统地址,进行一些简单的用户登录的配置,AppScan就可以自动对被测系统进行检测,找出可能的安全性问题并生成报告,不需要去写任何的测试用例和测试脚本(手动探测还是需要录制脚本的)。

如果在做功能自动化测试时,也有一个像AppScan之类的工具,不需要写那些繁琐的测试用例和测试脚本,只要扫描一下,就能测试出系统的功能性问题,那将是多么令人兴奋的事情!

然而,市场上并没有也不可能有这样的通用工具,毕竟功能测试与非功能测试不同,是与被测试系统紧密相关的,即使有这样一个工具也一定是专门针对某一个被测系统的。

幸运的是,笔者的被测系统是典型的信息处理类的web系统,模块多、菜单多、功能点多、页面风格及交互方式统一规范,正是由于这些特点,使得这种无脚本自动化测试成为可能。

下面就来介绍一下这种扫描式的自动化测试是如何进行的。

扫描式自动化测试

针对被测系统的特点,采用的自动化测试策略是:只针对基本的增删改查功能进行自动化测试。

按照粗略的统计,被测系统中功能模块近30个,菜单近800个,按照平均一个菜单内有5个功能点计算,总的功能个数将达到4000个(实际功能数应该远高于此),假设在这4000个功能中,基本的增删改查功能占到25%,将会有1000个功能需要进行自动化测试。

如果每个功能对应一个测试脚本,将会有至少1000个测试脚本需要开发和维护。

针对以上需求和特点,结合过往自动化测试的实践经历,笔者提出了“扫描式自动化测试”的方案。

其核心思想就是将操作步骤类似的测试用例或者测试脚本,抽取出通用的测试规则,针对测试规则去编写扫描测试程序,只要是符合测试规则的功能,都可以自动被扫描发现并被自动测试,无需编写一个一个的测试脚本。

……

因作者版权要求,我们只显示文章的一部分,完整版文章阅读,可以私信我获取。

添加微信:atstudy-js  或者扫描下方二维码,备注“博客”邀请你进入Python自动化测试学习交流群~


TAG: 软件测试

 

评分:0

我来说两句

Open Toolbar