基于模型驱动的自动化测试设计

发布时间:2021-08-04 19:51:06

序言:一直在思考一个问题:业界自动化测试被大家认为应用的场景主要是产品稳定、周期较长的测试项目,而且自动化测试不是用来发现和定位问题的。大家应该知道,“杀虫剂效应”,虫子对农药产生抗体的,那产品何尝不会对反复不变的测试产品抗体呢,那么这样,自动化测试的效果只会越来越差,根本上只能去更改自动化测试脚本,让其变得更有适应性。这其实自然界的一种规律。而更好的方法,我觉得是只需要在自动化测试系统中添加相应的因子或者是模型,系统则会自动适应生成一系列的自动化测试用例,业界内流行的机器学*也是让程序变得有学*型,前两个月对自动化测试中的基于模型的技术进行了研究,还弄了个小专利,不过没有推广,因为其要求测试人员的一些编程功底,而且成熟度不够,但是却让我更相信证一个事实,那就是自动化测试是可以用来发现更多问题的。


  (PS:序言好像写的有点长了…)


  一、人工测试的场景


  为什么人工往往比自动化测试更具有效率,分析一下:


  1、人工具有反应性,发现产品异常不是去继续按用例执行,而是根据异常结果进行不同的处理,因而能快速发现问题。


  2、人工具有变化性,能够自我学*,并且基于功能,快速发现新的测试用例,从而让测试变得更有充分性和适应性。


  二、基于模型驱动的应用


  所谓的model,其实是一系列的状态机,一般都是有限状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型可以,可以将一个有限状态机看做是一个特殊的有向图(这个在算法导论中可以参照),它包括一些状态(节点)和连接这些状态的有向弧。每一个有限状态机都有一个启始状态和一个终止状态和若干中间状态。每一条弧上带有从一个状态进入下一个状态的条件。下图是我画的一个说明图:






从开始模型起,箭头表示上一个模型能够根据不同的条件触发进入下一个模型,经历若干个模型后,到达结束模型止。从而获得了一系列的遍历路径。这么一说,也许大家就能想到如何将其技术小用在测试中了吧。


  三、基于模型驱动的自动化测试设计


  在自动化测试中,每一个模型相当于一个测试场景,不同的测试场景之间的触发有不同的条件,一个整体的功能测试,比有开始和结束两个状态。因此,设计自动化测试系统可包含这几个测试模块:人机交互模块、总体控制模块、模型驱动模块、数据库交互模块、测试用例组装和分析模块、执行模块、测试结果分析验证模块。


  重点是测试用例组装和分析模块,其可以根据不同的测试方式进行测试用例的组装,第一种按输入指定的测试序列直接进行模型组装生成用例,第二种测试方式是在测试过程中模型不断根据输出状态和触发条件进行组装和生成用例。应用就是


  1、随机序列,则无需人工去构造用例,而是根据测试模型,应用深度或者广度优先遍历算法,生成所有用例,例如:你从北京去上海,有几种途径选择,测试时,你只需定义好各个城市节点状态,则可自动生成从北京去往上海的路径,可以快速应用到实际测试中。这样,保证了测试的充分性,也节省了人工构造用例的时间。当然,最后生成的用例也需要人工审查保证。


  2、指定序列,则可以按指定的序列去检验功能,例如:北京到上海,指定的路径是:从北京到南京,再到上海,主要是测试这条路径。


  总结:当然,上述的很多系统很多工作还未完成,实践上也是颇为简易,而且适合的场景也很有限,所谓的数据驱动和关键字驱动已经很适用,而且驱动还有太多的思想还没有挖掘清晰,我个人觉得:技术很重要,但是落地的应用更重要,技术是为了服务需求和实践的,所以有时候高明的技术在某个时候效率不一定比得上基础的技术应用。



本文出自 散步的SUN 的51Testing软件测试博客:http://www.51testing.com/?382641


相关文档

  • 生病了的个人心情说说_关于自己生病的说说
  • 信贷资产证券化流程
  • 目标不专一而失败的反面例子
  • 蛏子的沙袋在什么部位
  • 拍卖诚信
  • 狗捉老鼠寓言故事
  • wasal00是什么型号
  • 转学需要什么手续流程是什么
  • 三星手机手机怎样恢复原密码
  • 手机维修时间
  • 高二期末总结文科
  • 语文教师求职信优秀范文参考
  • 相机清洁小知识
  • 输入内容不符合限制条件是什么意思
  • 武则天乱点鸳鸯谱的趣闻
  • LeetCode数据库题:从不订购的客户
  • 党风廉政建设和反腐败的思想汇报
  • 信息检索实验三报告
  • 怎么使用机械硬盘替代固态硬盘
  • Leetcode112:路径总和
  • 数据结构笔记_23 二叉树的前序、中序、后序遍历(含重写toSring,this相关)
  • 关于字符的编码和转码URLEncode URLDecode
  • 有关爱是永恒的婚礼策划案参考
  • 肾结石患者吃什么水果好_适合肾结石吃的水果
  • 林志玲怎么没和言承旭结婚了吗
  • 计算机系大学生的下乡总结
  • 立秋祝福短信集锦
  • python+appium基础篇(二):appium中找到app元素的定位方式,Using XPath locators is not recommended and can lead to frag
  • 励志语录正能量图片素材
  • 《中国诗词大会》观后感450字
  • 猜你喜欢

  • 【推荐下载】领导者的影响力体现在哪些方面?
  • 专员巡店检查表
  • 最新-2019年母亲节祝福语100条 精品
  • 第三届高等学校教学名师奖(高职高专部分)候选人推荐表
  • 车间现场安全生产管理制度
  • 开展“教育质量管理年”活动的实施方案
  • QT获取本地网络信息
  • 花土发霉了还能用吗 花土霉味很浓要不要换土
  • 捉鱼作文300字
  • 2017_2018学年七年级历史下册第一单元隋唐时期:繁荣与开放的时代第1课隋朝的统一与灭亡*题课件
  • 江西通闻达信息科技有限公司(企业信用报告)- 天眼查
  • 2019浙江玉环县玉城街道环城村招聘试题及答案解析 .doc
  • 【实*报告】英语教师实*小结3000字
  • 高速公路避免发生车祸的方法
  • 熊童子秋天怎么养
  • 成都溢鸿环保工程有限公司企业信用报告-天眼查
  • 大宇发电机配件 维修配件
  • 瓷砖,五大铺设方法——菱形斜铺
  • 2018-2019学年八年级数学上册 第十二章 全等三角形 12.3 角的*分线的性质作业设计 (新版)新人教版
  • 2017中医执业医师考试重点解析
  • 祖国美小报 爱国小报 祖国颂小报 电子小报手抄报模板
  • 安徽省食品和饲料添加剂供应商名录2018版117家
  • 幼儿园大班拼音试卷练*(1)
  • 1取中国特色社会主义新胜利必须把握的基本要求是什么
  • 2019年秋期九年级数学上册第三章概率的进一步认识综合测试(新版)北师大版
  • 湿法FGD关键参数的简析
  • 武汉子汇股权投资基金管理有限公司企业信用报告-天眼查
  • 公司手机号卡管理制度
  • 苏科版2015年七年级下数学期末模拟试卷(1)含答案
  • 【2018-2019】幼儿园月度工作总结怎么写-范文word版 (2页)
  • 夸女人美的话
  • 【国家社会科学基金】_婚姻制度_基金支持热词逐年推荐_【万方软件创新助手】_20140809
  • 潍坊专版2018中考化学总复习第一部分系统复习成绩基石第十二单元化学与生活课件新人教版
  • 2015年四川省注册资产评估师考试答技巧考试答题技巧
  • 2015银行从业资格考试上机注意事项
  • 超广角是什么意思
  • 初二写人作文《人们需要团结》500字(共9页PPT)
  • 高危急性胸痛及ACS早期症状识别
  • 自拟安胃调中汤治疗慢性胃炎52例(一)
  • 墨鱼面为什么是黑的墨鱼面什么人不能吃
  • 2019年小学“安全生产月”活动总结
  • 小学诚信主题的班会方案
  • 电脑版