对未来测试的幻想

发表于:2019-8-22 10:49  作者:朱少民   来源:质量屋

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试

  最近在和测试同仁交流之时,偶尔会阐述自己对未来测试的幻想。
  1. 背景一:
  早期的自动化测试是录制回放,用户在进行测试,工具录制用户的行为,把它转换成自动化脚本。许多功能测试工具至今还保留了这种功能,虽然这类工具生成的脚本是非结构化的脚本,不容易维护,而且回放时也不稳定,但还是说明,人们的测试执行是可以转换成自动化脚本的,这也是自动化测试的最初的、最直接的实现。
  2. 背景二:
  多年前,人们就推出比monkey测试覆盖度更高、路径更可控的“遍历测试”,其操作方式比较接近人工测试的自然行为,能够很大程度代替人工进行一键式的、多终端的兼容性测试,包括:
  通过白名单或黑名单控制多次点击或不点击的区域(UI元素);
  根据关键字和控件类型触发Back Key等;
  定义特殊位置点击及其方式;
  能够进行任意方向及长度的滑动;
  …..
  在每个功能点的测试完成之后,会自动产生相应的测试报告,基本实现了一键式测试,即用户提交被测应用之后,用户不需要做什么,静候测试报告。
  3. 背景三:
  之前写过几篇文章,介绍人工智能(AI)应用于软件测试
  AI测试:让软件测试变得聪明伶俐(上)
  AI测试:让软件测试变得聪明伶俐(下)
  未来已来,人工智能测试势不可挡:介绍9款AI测试工具
  可以看到,AI 可以帮助我们模拟玩家完成相应的游戏测试;AI也能够帮助我们全面分析App应用中的每个界面、元素和操作流,从而实现App的性能测试和易用性测试;AI也能帮助我们生成更有效、更完整的测试数据、生成测试用例、扩展和完善测试用例等。
  4. 背景四:
  之前写过一篇文章 软件测试的一个新公式引起的思考 ,其中主要思想是:
  测试  = (已知的) 检测 + (未知的)试验
  再进一步就是:
  (已知的) 检测 是可以完全自动化的;
  (未知的)实验需要探索,包括手工探索、机器随机/模糊探索;
  所以“探索式测试 + 自动化测试” 是一种完美的组合。
  5. 未来测试的幻想
  “测试 =(已知的)检测 +(未知的)试验”会表现得更淋漓尽致,这种淋漓尽致的表现会是怎样的?
  虽然测试计划、测试分析没有变,这是基础。在测试计划与测试需求分析上,AI不容易代替人类,但AI可以辅助人们分析,包括从以自然语言的需求文档中获得学习(可能会借助最近兴起的知识图谱、质量语言处理的AI技术或新定义的DSL等)、从已有的代码中获得学习、从运行日志中获得学习、从过去所发现的缺陷中获得学习……制定出更全面、更有效的测试计划,确保测试的设计基础是坚实的,没有遗漏的测试项(或测试区域),能够列出各种测试场景或测试点。
  然后,采用探索式测试完成测试的设计、执行和学习,而在其背后:
  借助测试设计方法补充测试用例;
  借助AI 不断试错,以优化遍历算法和路径;
  借助AI 优化脚本结构,并能够分离数据(脚本参数化);
  借助AI 等进行业务规则学习,能够生成绝大多数的验证点;
  可以适当引入人机交互,完成验证点的校验。
  从而获得所要测试的自动化脚本,确保后续的回归测试是自动化的。概括起来,未来的测试是人只要做探索式测试,其它测试的执行交给工具,即:
  探索在前、自动在后
  研发/测试人员先做探索式测试,自动化测试脚本同时自动生成
  探索式测试的覆盖率衡量和改进也是自动进行的
  之前的公式应稍微调整一下,变为:
  测试 =(未知的)探索试验 +(已知的)自动检测
  目前只是幻想,但有人已经开始行动,大家静候佳音,哪怕几年。

      上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理

评 论

论坛新帖



建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海信义律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2021, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道