没有脚本的自动化测试

发表于:2022-2-23 09:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:云竹    来源:51Testing软件测试网原创

  自动化测试的痛点
  说到功能自动化测试,我们可能首先会想到QTP、Selenium等诸多的自动化测试工具和解决方案,如何使脚本开发变得简单、如何使脚本维护变得容易、如何提高脚本开发的效率等话题,一直以来都是自动化测试领域关注的焦点问题。
  然而无论是哪种工具哪种解决方案,都离不开测试脚本的开发,有过脚本开发经历的人应该有体会,虽然设计良好的自动化测试架构可以简化脚本开发,但是面对成百上千上万的功能,开发和维护脚本始终不是一件容易的事,其复杂度绝不亚于一个开发项目。

  脚本开发和维护工作量会与被测系统的复杂程度和变更有关,下面是一些举例:
  页面输入项越多,脚本编写工作量越大;
  页面输入项名称的改变,脚本也需要调整修改,例如将“移动电话”改成了“手机号码”;
  页面必填输入项的增减,会使得脚本不得不跟着调整;
  页面输入项的类型改变,脚本也必然要做修改,例如“学历字段”原来是文本输入框,后来改成了下拉选择框;
  菜单名称修改,测试菜单的脚本需要调整。

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

  做过安全测试的应该知道AppSan这个工具,只要告诉AppSan要检测的系统地址,进行一些简单的用户登录的配置,AppScan就可以自动对被测系统进行检测,找出可能的安全性问题并生成报告,不需要去写任何的测试用例和测试脚本(手动探测还是需要录制脚本的)。
  如果在做功能自动化测试时,也有一个像AppScan之类的工具,不需要写那些繁琐的测试用例和测试脚本,只要扫描一下,就能测试出系统的功能性问题,那将是多么令人兴奋的事情!
  然而,市场上并没有也不可能有这样的通用工具,毕竟功能测试与非功能测试不同,是与被测试系统紧密相关的,即使有这样一个工具也一定是专门针对某一个被测系统的。
  幸运的是,笔者的被测系统是典型的信息处理类的web系统,模块多、菜单多、功能点多、页面风格及交互方式统一规范,正是由于这些特点,使得这种无脚本自动化测试成为可能。
  下面就来介绍一下这种扫描式的自动化测试是如何进行的。

  扫描式自动化测试
  针对被测系统的特点,采用的自动化测试策略是:只针对基本的增删改查功能进行自动化测试。
  按照粗略的统计,被测系统中功能模块近30个,菜单近800个,按照平均一个菜单内有5个功能点计算,总的功能个数将达到4000个(实际功能数应该远高于此),假设在这4000个功能中,基本的增删改查功能占到25%,将会有1000个功能需要进行自动化测试。
  如果每个功能对应一个测试脚本,将会有至少1000个测试脚本需要开发和维护。
  针对以上需求和特点,结合过往自动化测试的实践经历,笔者提出了“扫描式自动化测试”的方案。
  其核心思想就是将操作步骤类似的测试用例或者测试脚本,抽取出通用的测试规则,针对测试规则去编写扫描测试程序,只要是符合测试规则的功能,都可以自动被扫描发现并被自动测试,无需编写一个一个的测试脚本。



......
查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第六十四期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号