22|低代码平台如何帮助应用做测试?副作用的检测
陈旭
你好,我是陈旭。
上一讲我们用下面这图定义了被测功能。
我们抓住了触发功能这个关键环节,由于 GUI 中的各个功能的触发,往往是通过事件来驱动,于是,我们通过跟踪事件,顺藤摸瓜找出被测功能,并采用事件链的形式来标记一个被测功能。在多个事件链中,将相同事件叠在一起,多个事件链就可以组成了一棵事件树。
在这个推理过程中,我为了可以流畅地讲解这个过程,我故意遗漏了一个重要的技术实现难点,也就是上一讲的思考题:如何分析事件处理逻辑。这一讲我们就来解决这个问题,并更进一步,给出如何检测副作用的方法。
如何分析事件处理逻辑
为了找到事件链的下一级,我们势必要去分析处理上一级事件的逻辑,这样才能从处理逻辑中找出它是否发送了下一级事件,以及事件名是啥,这样才能一级一级找下去。在传统纯代码实现的 App 中,事件处理逻辑就是一个代码块。而在低代码实现的 App 中,处理事件的方式比纯代码要更加复杂,不仅有纯代码的处理方式,还有各种一键绑定、自动更新等非代码处理。我们分开讨论。
要准确地分析一整块代码(包含函数、类定义等任何语法),正则表达式是搞不定的,更不要说最基础的字符串搜索。唯有祭出 AST 大法了。
AST,全称为抽象语法树(Abstract Syntax Tree),是在计算机科学中广泛使用的一种数据结构。它用于表示程序代码的语法结构,以便更方便地进行分析和处理。AST 由节点组成,每个节点代表程序代码中的一个语法结构。节点之间通过父子关系相连,形成树的结构。树的根节点代表整个程序的起点,而叶节点代表最小的语法单元。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
低代码平台应用测试与副作用检测是本文的核心内容。文章首先介绍了通过事件链和事件树的构建来标记被测功能,并探讨了低代码应用中事件处理逻辑的复杂性。作者深入讨论了利用抽象语法树(AST)分析事件处理逻辑的方法,以及使用装饰器标记事件处理逻辑的属性。此外,文章还探讨了副作用的产生途径和如何通过AST和装饰器来检测副作用,以生成断言的代码。总结来说,本文深入探讨了低代码平台应用测试和副作用检测的方法,为读者提供了深入的技术视角和解决方案。文章内容涉及了事件处理逻辑分析、副作用检测和断言生成等技术特点,为读者提供了全面的技术指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《说透低代码》,新⼈⾸单¥59
《说透低代码》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- ifelse学习打卡2023-07-30归属地:浙江
收起评论