说透低代码
陈旭
中兴通讯软件研发资深专家
18786 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 26 讲/共 39 讲
说透低代码
15
15
1.0x
00:00/00:00
登录|注册

22|低代码平台如何帮助应用做测试?副作用的检测

你好,我是陈旭。
上一讲我们用下面这图定义了被测功能。
我们抓住了触发功能这个关键环节,由于 GUI 中的各个功能的触发,往往是通过事件来驱动,于是,我们通过跟踪事件,顺藤摸瓜找出被测功能,并采用事件链的形式来标记一个被测功能。在多个事件链中,将相同事件叠在一起,多个事件链就可以组成了一棵事件树。
在这个推理过程中,我为了可以流畅地讲解这个过程,我故意遗漏了一个重要的技术实现难点,也就是上一讲的思考题:如何分析事件处理逻辑。这一讲我们就来解决这个问题,并更进一步,给出如何检测副作用的方法。

如何分析事件处理逻辑

为了找到事件链的下一级,我们势必要去分析处理上一级事件的逻辑,这样才能从处理逻辑中找出它是否发送了下一级事件,以及事件名是啥,这样才能一级一级找下去。在传统纯代码实现的 App 中,事件处理逻辑就是一个代码块。而在低代码实现的 App 中,处理事件的方式比纯代码要更加复杂,不仅有纯代码的处理方式,还有各种一键绑定、自动更新等非代码处理。我们分开讨论。
要准确地分析一整块代码(包含函数、类定义等任何语法),正则表达式是搞不定的,更不要说最基础的字符串搜索。唯有祭出 AST 大法了。
AST,全称为抽象语法树(Abstract Syntax Tree),是在计算机科学中广泛使用的一种数据结构。它用于表示程序代码的语法结构,以便更方便地进行分析和处理。AST 由节点组成,每个节点代表程序代码中的一个语法结构。节点之间通过父子关系相连,形成树的结构。树的根节点代表整个程序的起点,而叶节点代表最小的语法单元。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

低代码平台应用测试与副作用检测是本文的核心内容。文章首先介绍了通过事件链和事件树的构建来标记被测功能,并探讨了低代码应用中事件处理逻辑的复杂性。作者深入讨论了利用抽象语法树(AST)分析事件处理逻辑的方法,以及使用装饰器标记事件处理逻辑的属性。此外,文章还探讨了副作用的产生途径和如何通过AST和装饰器来检测副作用,以生成断言的代码。总结来说,本文深入探讨了低代码平台应用测试和副作用检测的方法,为读者提供了深入的技术视角和解决方案。文章内容涉及了事件处理逻辑分析、副作用检测和断言生成等技术特点,为读者提供了全面的技术指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《说透低代码》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • ifelse
    学习打卡
    2023-07-30归属地:浙江
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部