自动化测试高手课
柳胜
原甲骨文高级开发经理
16849 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 34 讲
开篇词 (1讲)
自动化测试高手课
15
15
1.0x
00:00/00:00
登录|注册

17|元数据模型(一):小Job模型构建大蓝图

你好,我是柳胜。
在价值篇我们学习了 3KU 整体最优分层模型。而到了策略篇,又结合一个具体的订餐系统,为你提供了一个测试设计实现案例,演示具体如何应用 3KU 法则。
不过推演下来,你有没有隐约感觉到,事情有点不对劲了?以前我们是先分层,再在每个层上设计自己的 TestCase,UI 上的 TestCase 的功能定义和粒度大小,可能和 API 层上的 TestCase 完全不一样。
现在,不同的测试需求,可能会落到不同的分层截面上去做自动化。甚至,一个测试需求的不同部分,也可以放在不同截面上。比如,你可以在 API 上测试 createOrder,在 UI 上测试 verifyOrder,只要这样做 ROI 最高。
所以,在 3KU 法则下,自动化测试设计是先定义 TestCase,然后再判断它应该落在哪个层面。这跟我们以往熟悉的自动化测试设计大相径庭,需要我们在设计方法论上有新的突破。没错,现在我们的挑战是,需要找到一种新的概念指导我们做任务建模和设计,从而跨越各层的“TestCase”。
因为内容比较多,为了让你跟得上,我安排了两讲内容,带你找到一个测试设计的元数据模型,将各种类型和层次的测试纳入到这同一个模型里。一生二,二生三,三生万物,从这一个模型里,衍生出我们自动化测试中所需要的设计方法和策略、执行计划,效益度量甚至生死定夺等等一切
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

自动化测试设计中的传统TestSuite和TestCase概念已经过时,需要找到新的模型。本文介绍了一个新的测试元数据模型——自动化测试Job模型,用于描述测试案例的设计态和运行态。通过分析设计态和运行态的差异,发现了传统测试案例设计和自动化测试实现脱节的问题,导致自动化测试缺失了设计。为了解决这些问题,作者提出了将面向对象设计的思路引入到测试模型中,将测试案例设计视为定义Interface,而自动化测试Job为实现了Interface的Class。最终,作者初探了微测试Job模型,丰富了运行态的六边形结构,添加了更多自动化测试基因,使其成为一个针对自动化测试的Job。这一模型满足了自动化测试的基本原则,为自动化测试设计提供了新的思路和方法。文章还介绍了自动化测试Job模型的七个核心属性,包括Input、Output、DAO、Dependency、TestData、TestConfig和Document,并对其中的五个属性进行了详细解释。通过这些属性,读者可以更好地理解自动化测试设计中需要考虑的方方面面。总的来说,本文为读者提供了一个全新的自动化测试设计模型,帮助他们更好地理解自动化测试的基本原则,并为自动化测试设计提供了新的思路和方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《自动化测试高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • 羊羊
    以前在传统软件公司做自动化的时候,在testcase 管理系统中,设置了自动化选项,如果这个设置为 true。就需要制定一个自动化测试的配置文件的 p4 地址,是一个xml文件。也就是一个配置文件,其中包含了这个自动化测试用例 runner,参数等。用测试平台的 rest api,把这个xml文件和使用的硬件信息,作为 data 参数,发送一个post请求,测试平台会在返回一个url。打开这个url,能看到这个自动化测试的执行情况。 但是自动化测试和手工测试的用例,在描述标准上没有统一。想知道老师的公司是如何管理测试用例的?

    作者回复: 这里,就是手工和自动化测试案例的统一之处。我在工作的公司里推行过“自动化测试代码即文档”的落地,以降低自动化测试案例维护的工作量。简单来说,类似于java doc,通过在自动化测试代码里加入注解,来反向生成自动化测试文档,也就是案例。进一步可以将案例持久化。 简单分享,有兴趣的话,可以加入自动化测试高手测试微信群,我们细细聊一下。

    2022-08-01归属地:日本
    3
  • woJA1wCgAA3aj6p1ELWENTCq8KX2z...
    我们不光有前置,还有后置并配合数据库做数据恢复。

    作者回复: 谢谢分享!

    2022-05-01
    1
  • 追风筝的人
    自动化测试和手工测试共用一套案例模型和设计方法。TestSuite 和 TestCase 这些概念已经过时了,需要找到新的模型。2. 自动化测试设计本质是软件设计,精髓在于对测试场景的抽象和建模。这就像开发软件先设计 Interface 一样,而自动化测试工具和框架属于实现层面,用哪个取决于需求,而不能削足适履。

    作者回复: 谢谢再提!

    2022-05-30
  • swordman
    自动化测试 Job这个提法,首次看到,非常感兴趣!我去年学习了《高效自动化测试平台设计与开发实战》,里面将自动化测试平台,抽象成测试资源,测试配置,测试报告和日志,测试用例执行四个部分。但没有脱离TestSuite 和 TestCase模型,因此没有Dependency部分。看完那本书后,我有一个疑惑:不同的TestCase,可能是用多种语言或多种测试框架开发的,如何将多种语言的TestCase整合在一起,让它们可以协同工作呢?希望Job模型,能够给我一个解决思路。

    作者回复: 非常好的思考!Job模型是一个建模思路!

    2022-05-17
  • Sarah
    期待下一讲! 在实际项目中,设计用例时Input Output Data都已完善,DAO有做但不够可以继续完善,缺少Dependency 部分,感觉这个思路非常有用,目前团队面临的问题就是,测试案例设计方法论逐渐完善,自动化实现也逐步跟上,做到跟测试案例匹配,但是执行时间过长,失败率较高。完善DAO加入Dependency 或许可以解决一部分问题

    作者回复: 谢谢分享!这一个模块里会有很多头脑风暴!

    2022-04-28
  • ifelse
    学习打卡
    2024-02-21归属地:浙江
  • Sophia-百鑫
    写测试案例会有precondition,即前置依赖。就是老师提到的dependency,使用dependency更有系统或代码设计的味道。老师分享的很棒。请问如何加入自动化测试高手微信群?非常感谢
    2023-09-05归属地:上海
  • 醍醐灌顶,谢谢🙏
    2022-10-25归属地:广东
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部